517 ; |
517 ; |
518 |
518 |
519 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT = |
519 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT = |
520 "!!ARBfp1.0\n" |
520 "!!ARBfp1.0\n" |
521 "PARAM c[6] = { program.local[0..3],\n" |
521 "PARAM c[6] = { program.local[0..3],\n" |
522 " { 1, 2, 9.9999997e-006, 8 },\n" |
522 " { 1, 2, 9.9999997e-006, 4 },\n" |
523 " { 3 } };\n" |
523 " { 16, 12, 3 } };\n" |
524 "TEMP R0;\n" |
524 "TEMP R0;\n" |
525 "TEMP R1;\n" |
525 "TEMP R1;\n" |
526 "TEMP R2;\n" |
526 "TEMP R2;\n" |
527 "TEMP R3;\n" |
527 "TEMP R3;\n" |
528 "TEMP R4;\n" |
528 "TEMP R4;\n" |
529 "TEMP R5;\n" |
529 "TEMP R5;\n" |
530 "MUL R0.xy, fragment.position, c[1];\n" |
530 "MUL R0.xy, fragment.position, c[1];\n" |
531 "TEX R0, R0, texture[0], 2D;\n" |
531 "TEX R0, R0, texture[0], 2D;\n" |
532 "MAX R1.x, R0.w, c[4].z;\n" |
532 "MAX R1.x, R0.w, c[4].z;\n" |
533 "RCP R1.w, R1.x;\n" |
533 "RCP R1.x, R1.x;\n" |
534 "MUL R1.xyz, R0, R1.w;\n" |
534 "MUL R2.xyz, R0, R1.x;\n" |
535 "MUL R4.xyz, -R1, c[4].w;\n" |
535 "MAD R1.xyz, R2, c[5].x, -c[5].y;\n" |
536 "RSQ R2.x, R1.x;\n" |
536 "MAD R3.xyz, R2, R1, c[5].z;\n" |
537 "RSQ R2.z, R1.z;\n" |
537 "MAD R1.xyz, fragment.color.primary, c[4].y, -fragment.color.primary.w;\n" |
538 "RSQ R2.y, R1.y;\n" |
538 "MUL R4.xyz, R0.w, R1;\n" |
539 "MAD R1.xyz, -R0, R1.w, c[4].x;\n" |
539 "MUL R5.xyz, R4, R3;\n" |
540 "RCP R2.x, R2.x;\n" |
540 "RSQ R1.w, R2.x;\n" |
541 "RCP R2.z, R2.z;\n" |
541 "RSQ R2.w, R2.z;\n" |
542 "RCP R2.y, R2.y;\n" |
542 "RCP R3.x, R1.w;\n" |
543 "MAD R3.xyz, R0.w, R2, -R0;\n" |
543 "RSQ R1.w, R2.y;\n" |
544 "MAD R2.xyz, fragment.color.primary, c[4].y, -fragment.color.primary.w;\n" |
544 "MUL R5.xyz, R2, R5;\n" |
545 "MUL R3.xyz, R2, R3;\n" |
545 "RCP R3.z, R2.w;\n" |
546 "ADD R5.xyz, R4, c[5].x;\n" |
546 "RCP R3.y, R1.w;\n" |
547 "MUL R4.xyz, R1, R2;\n" |
547 "ADD R3.xyz, -R2, R3;\n" |
548 "MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n" |
548 "MUL R3.xyz, R4, R3;\n" |
|
549 "ADD R2.xyz, -R2, c[4].x;\n" |
|
550 "MAD R1.xyz, R1, R2, fragment.color.primary.w;\n" |
549 "MUL R2.xyz, fragment.color.primary, c[4].y;\n" |
551 "MUL R2.xyz, fragment.color.primary, c[4].y;\n" |
550 "MAD R5.xyz, -R4, R5, fragment.color.primary.w;\n" |
552 "MAD R4.xyz, fragment.color.primary.w, R0, R5;\n" |
551 "MAD R3.xyz, fragment.color.primary.w, R0, R3;\n" |
553 "MAD R3.xyz, fragment.color.primary.w, R0, R3;\n" |
552 "MAD R4.xyz, -R0, R5, R3;\n" |
554 "ADD R5.xyz, R3, -R4;\n" |
553 "MUL R3.xyz, R0, c[4].w;\n" |
555 "MUL R3.xyz, R0, c[4].w;\n" |
554 "MUL R5.xyz, R0, R5;\n" |
|
555 "SGE R3.xyz, R3, R0.w;\n" |
556 "SGE R3.xyz, R3, R0.w;\n" |
556 "MAD R3.xyz, R3, R4, R5;\n" |
557 "MAD R3.xyz, R3, R5, R4;\n" |
557 "MAD R3.xyz, -R0, R1, R3;\n" |
558 "MAD R3.xyz, -R0, R1, R3;\n" |
558 "MUL R1.xyz, R0, R1;\n" |
559 "MUL R1.xyz, R0, R1;\n" |
559 "SGE R2.xyz, R2, fragment.color.primary.w;\n" |
560 "SGE R2.xyz, R2, fragment.color.primary.w;\n" |
560 "MAD R2.xyz, R2, R3, R1;\n" |
561 "MAD R2.xyz, R2, R3, R1;\n" |
561 "ADD R1.x, -R0.w, c[4];\n" |
562 "ADD R1.x, -R0.w, c[4];\n" |
859 ; |
860 ; |
860 |
861 |
861 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
862 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_SOLID_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
862 "!!ARBfp1.0\n" |
863 "!!ARBfp1.0\n" |
863 "PARAM c[3] = { program.local[0],\n" |
864 "PARAM c[3] = { program.local[0],\n" |
864 " { 1, 2, 9.9999997e-006, 8 },\n" |
865 " { 1, 2, 9.9999997e-006, 4 },\n" |
865 " { 3 } };\n" |
866 " { 16, 12, 3 } };\n" |
866 "TEMP R0;\n" |
867 "TEMP R0;\n" |
867 "TEMP R1;\n" |
868 "TEMP R1;\n" |
868 "TEMP R2;\n" |
869 "TEMP R2;\n" |
869 "TEMP R3;\n" |
870 "TEMP R3;\n" |
870 "TEMP R4;\n" |
871 "TEMP R4;\n" |
871 "TEMP R5;\n" |
872 "TEMP R5;\n" |
872 "MUL R0.xy, fragment.position, c[0];\n" |
873 "MUL R0.xy, fragment.position, c[0];\n" |
873 "TEX R0, R0, texture[0], 2D;\n" |
874 "TEX R0, R0, texture[0], 2D;\n" |
874 "MAX R1.x, R0.w, c[1].z;\n" |
875 "MAX R1.x, R0.w, c[1].z;\n" |
875 "RCP R1.w, R1.x;\n" |
876 "RCP R1.x, R1.x;\n" |
876 "MUL R1.xyz, R0, R1.w;\n" |
877 "MUL R2.xyz, R0, R1.x;\n" |
877 "MUL R4.xyz, -R1, c[1].w;\n" |
878 "MAD R1.xyz, R2, c[2].x, -c[2].y;\n" |
878 "RSQ R2.x, R1.x;\n" |
879 "MAD R3.xyz, R2, R1, c[2].z;\n" |
879 "RSQ R2.z, R1.z;\n" |
880 "MAD R1.xyz, fragment.color.primary, c[1].y, -fragment.color.primary.w;\n" |
880 "RSQ R2.y, R1.y;\n" |
881 "MUL R4.xyz, R0.w, R1;\n" |
881 "RCP R2.x, R2.x;\n" |
882 "MUL R5.xyz, R4, R3;\n" |
882 "RCP R2.z, R2.z;\n" |
883 "RSQ R1.w, R2.x;\n" |
883 "RCP R2.y, R2.y;\n" |
884 "RCP R3.x, R1.w;\n" |
884 "MAD R3.xyz, R0.w, R2, -R0;\n" |
885 "RSQ R2.w, R2.z;\n" |
885 "MAD R2.xyz, fragment.color.primary, c[1].y, -fragment.color.primary.w;\n" |
886 "RSQ R1.w, R2.y;\n" |
886 "MUL R3.xyz, R2, R3;\n" |
887 "MUL R5.xyz, R2, R5;\n" |
|
888 "RCP R3.z, R2.w;\n" |
|
889 "RCP R3.y, R1.w;\n" |
|
890 "ADD R3.xyz, -R2, R3;\n" |
|
891 "MUL R3.xyz, R4, R3;\n" |
|
892 "ADD R2.xyz, -R2, c[1].x;\n" |
|
893 "MAD R1.xyz, R1, R2, fragment.color.primary.w;\n" |
|
894 "MUL R2.xyz, fragment.color.primary, c[1].y;\n" |
|
895 "MAD R4.xyz, fragment.color.primary.w, R0, R5;\n" |
887 "MAD R3.xyz, fragment.color.primary.w, R0, R3;\n" |
896 "MAD R3.xyz, fragment.color.primary.w, R0, R3;\n" |
888 "MAD R1.xyz, -R0, R1.w, c[1].x;\n" |
897 "ADD R5.xyz, R3, -R4;\n" |
889 "ADD R5.xyz, R4, c[2].x;\n" |
|
890 "MUL R4.xyz, R1, R2;\n" |
|
891 "MAD R1.xyz, -R1, R2, fragment.color.primary.w;\n" |
|
892 "MAD R5.xyz, -R4, R5, fragment.color.primary.w;\n" |
|
893 "MAD R4.xyz, -R0, R5, R3;\n" |
|
894 "MUL R3.xyz, R0, c[1].w;\n" |
898 "MUL R3.xyz, R0, c[1].w;\n" |
895 "MUL R2.xyz, fragment.color.primary, c[1].y;\n" |
|
896 "MUL R5.xyz, R0, R5;\n" |
|
897 "SGE R3.xyz, R3, R0.w;\n" |
899 "SGE R3.xyz, R3, R0.w;\n" |
898 "MAD R3.xyz, R3, R4, R5;\n" |
900 "MAD R3.xyz, R3, R5, R4;\n" |
899 "MAD R3.xyz, -R0, R1, R3;\n" |
901 "MAD R3.xyz, -R0, R1, R3;\n" |
900 "MUL R1.xyz, R0, R1;\n" |
902 "MUL R1.xyz, R0, R1;\n" |
901 "SGE R2.xyz, R2, fragment.color.primary.w;\n" |
903 "SGE R2.xyz, R2, fragment.color.primary.w;\n" |
902 "MAD R2.xyz, R2, R3, R1;\n" |
904 "MAD R2.xyz, R2, R3, R1;\n" |
903 "ADD R1.x, -R0.w, c[1];\n" |
905 "ADD R1.x, -R0.w, c[1];\n" |
1467 "TEMP R6;\n" |
1469 "TEMP R6;\n" |
1468 "MUL R0.xyz, fragment.position.y, c[3];\n" |
1470 "MUL R0.xyz, fragment.position.y, c[3];\n" |
1469 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" |
1471 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" |
1470 "ADD R0.xyz, R0, c[4];\n" |
1472 "ADD R0.xyz, R0, c[4];\n" |
1471 "RCP R0.z, R0.z;\n" |
1473 "RCP R0.z, R0.z;\n" |
1472 "MUL R1.xy, fragment.position, c[6];\n" |
|
1473 "TEX R1, R1, texture[0], 2D;\n" |
|
1474 "MAX R0.w, R1, c[9];\n" |
|
1475 "RCP R2.w, R0.w;\n" |
|
1476 "MUL R5.xyz, R1, R2.w;\n" |
|
1477 "MUL R0.xy, R0, R0.z;\n" |
1474 "MUL R0.xy, R0, R0.z;\n" |
1478 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" |
1475 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" |
1479 "ADD R0.z, R0, R0.w;\n" |
1476 "ADD R0.z, R0, R0.w;\n" |
1480 "MUL R0.xy, R0, c[0];\n" |
1477 "MUL R0.xy, R0, c[0];\n" |
1481 "ADD R0.x, R0, R0.y;\n" |
1478 "ADD R0.x, R0, R0.y;\n" |
1482 "MUL R0.y, R0.x, c[9].x;\n" |
1479 "MUL R0.z, -R0, c[1].x;\n" |
|
1480 "MUL R0.y, R0.z, c[9];\n" |
|
1481 "MUL R0.x, R0, c[9];\n" |
|
1482 "MUL R0.zw, fragment.position.xyxy, c[6].xyxy;\n" |
|
1483 "TEX R1, R0.zwzw, texture[0], 2D;\n" |
|
1484 "MAD R0.y, R0.x, R0.x, -R0;\n" |
|
1485 "RSQ R0.y, R0.y;\n" |
|
1486 "RCP R0.y, R0.y;\n" |
|
1487 "ADD R0.y, -R0.x, R0;\n" |
1483 "MOV R0.x, c[9];\n" |
1488 "MOV R0.x, c[9];\n" |
1484 "RSQ R2.x, R5.x;\n" |
1489 "MUL R0.x, R0, c[1];\n" |
1485 "RSQ R2.z, R5.z;\n" |
1490 "MAX R0.z, R1.w, c[9].w;\n" |
1486 "RSQ R2.y, R5.y;\n" |
1491 "RCP R0.z, R0.z;\n" |
1487 "MUL R0.z, -R0, c[1].x;\n" |
1492 "MUL R3.xyz, R1, R0.z;\n" |
1488 "MUL R0.z, R0, c[9].y;\n" |
1493 "MAD R4.xyz, R3, c[10].x, -c[10].y;\n" |
1489 "MAD R0.z, R0.y, R0.y, -R0;\n" |
1494 "RCP R0.x, R0.x;\n" |
1490 "MUL R0.w, R0.x, c[1].x;\n" |
1495 "MUL R0.x, R0.y, R0;\n" |
1491 "RSQ R0.z, R0.z;\n" |
|
1492 "RCP R0.x, R0.z;\n" |
|
1493 "RCP R0.z, R0.w;\n" |
|
1494 "ADD R0.x, -R0.y, R0;\n" |
|
1495 "MUL R0.x, R0, R0.z;\n" |
|
1496 "TEX R0, R0, texture[2], 1D;\n" |
1496 "TEX R0, R0, texture[2], 1D;\n" |
1497 "MAD R3.xyz, R0, c[9].x, -R0.w;\n" |
1497 "MAD R2.xyz, R0, c[9].x, -R0.w;\n" |
1498 "MAD R6.xyz, -R5, c[10].x, c[10].y;\n" |
1498 "MAD R4.xyz, R3, R4, c[10].z;\n" |
1499 "RCP R2.x, R2.x;\n" |
1499 "MUL R5.xyz, R1.w, R2;\n" |
1500 "RCP R2.z, R2.z;\n" |
1500 "MUL R6.xyz, R5, R4;\n" |
1501 "RCP R2.y, R2.y;\n" |
1501 "RSQ R2.w, R3.x;\n" |
1502 "MAD R2.xyz, R1.w, R2, -R1;\n" |
1502 "RCP R4.x, R2.w;\n" |
1503 "MUL R2.xyz, R3, R2;\n" |
1503 "RSQ R2.w, R3.y;\n" |
1504 "MAD R4.xyz, R0.w, R1, R2;\n" |
1504 "RSQ R3.w, R3.z;\n" |
1505 "MAD R2.xyz, -R1, R2.w, c[9].z;\n" |
1505 "RCP R4.y, R2.w;\n" |
1506 "MUL R5.xyz, R2, R3;\n" |
1506 "RCP R4.z, R3.w;\n" |
1507 "MAD R6.xyz, -R5, R6, R0.w;\n" |
1507 "ADD R4.xyz, -R3, R4;\n" |
1508 "MAD R5.xyz, -R1, R6, R4;\n" |
1508 "MUL R6.xyz, R3, R6;\n" |
1509 "MAD R2.xyz, -R2, R3, R0.w;\n" |
1509 "MUL R4.xyz, R5, R4;\n" |
|
1510 "ADD R3.xyz, -R3, c[9].z;\n" |
|
1511 "MAD R2.xyz, R2, R3, R0.w;\n" |
1510 "MUL R3.xyz, R0, c[9].x;\n" |
1512 "MUL R3.xyz, R0, c[9].x;\n" |
1511 "MUL R4.xyz, R1, c[10].x;\n" |
1513 "MAD R5.xyz, R0.w, R1, R6;\n" |
|
1514 "MAD R4.xyz, R0.w, R1, R4;\n" |
|
1515 "ADD R6.xyz, R4, -R5;\n" |
|
1516 "MUL R4.xyz, R1, c[9].y;\n" |
|
1517 "SGE R4.xyz, R4, R1.w;\n" |
|
1518 "MAD R4.xyz, R4, R6, R5;\n" |
|
1519 "MAD R4.xyz, -R1, R2, R4;\n" |
1512 "SGE R3.xyz, R3, R0.w;\n" |
1520 "SGE R3.xyz, R3, R0.w;\n" |
|
1521 "MUL R2.xyz, R1, R2;\n" |
1513 "ADD R2.w, -R1, c[9].z;\n" |
1522 "ADD R2.w, -R1, c[9].z;\n" |
1514 "MUL R6.xyz, R1, R6;\n" |
|
1515 "SGE R4.xyz, R4, R1.w;\n" |
|
1516 "MAD R4.xyz, R4, R5, R6;\n" |
|
1517 "MAD R4.xyz, -R1, R2, R4;\n" |
|
1518 "MUL R2.xyz, R1, R2;\n" |
|
1519 "MAD R2.xyz, R3, R4, R2;\n" |
1523 "MAD R2.xyz, R3, R4, R2;\n" |
1520 "MAD R2.xyz, R0, R2.w, R2;\n" |
1524 "MAD R2.xyz, R0, R2.w, R2;\n" |
1521 "ADD R0.x, -R0.w, c[9].z;\n" |
1525 "ADD R0.x, -R0.w, c[9].z;\n" |
1522 "MAD R2.xyz, R1, R0.x, R2;\n" |
1526 "MAD R2.xyz, R1, R0.x, R2;\n" |
1523 "ADD R0.z, R0.w, R1.w;\n" |
1527 "ADD R0.z, R0.w, R1.w;\n" |
2070 "TEMP R6;\n" |
2074 "TEMP R6;\n" |
2071 "MUL R0.xyz, fragment.position.y, c[3];\n" |
2075 "MUL R0.xyz, fragment.position.y, c[3];\n" |
2072 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" |
2076 "MAD R0.xyz, fragment.position.x, c[2], R0;\n" |
2073 "ADD R0.xyz, R0, c[4];\n" |
2077 "ADD R0.xyz, R0, c[4];\n" |
2074 "RCP R0.z, R0.z;\n" |
2078 "RCP R0.z, R0.z;\n" |
2075 "MUL R1.xy, fragment.position, c[5];\n" |
|
2076 "TEX R1, R1, texture[0], 2D;\n" |
|
2077 "MAX R0.w, R1, c[6];\n" |
|
2078 "RCP R2.w, R0.w;\n" |
|
2079 "MUL R5.xyz, R1, R2.w;\n" |
|
2080 "MUL R0.xy, R0, R0.z;\n" |
2079 "MUL R0.xy, R0, R0.z;\n" |
2081 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" |
2080 "MUL R0.zw, R0.xyxy, R0.xyxy;\n" |
2082 "ADD R0.z, R0, R0.w;\n" |
2081 "ADD R0.z, R0, R0.w;\n" |
2083 "MUL R0.xy, R0, c[0];\n" |
2082 "MUL R0.xy, R0, c[0];\n" |
2084 "ADD R0.x, R0, R0.y;\n" |
2083 "ADD R0.x, R0, R0.y;\n" |
2085 "MUL R0.y, R0.x, c[6].x;\n" |
2084 "MUL R0.z, -R0, c[1].x;\n" |
|
2085 "MUL R0.y, R0.z, c[6];\n" |
|
2086 "MUL R0.x, R0, c[6];\n" |
|
2087 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" |
|
2088 "TEX R1, R0.zwzw, texture[0], 2D;\n" |
|
2089 "MAD R0.y, R0.x, R0.x, -R0;\n" |
|
2090 "RSQ R0.y, R0.y;\n" |
|
2091 "RCP R0.y, R0.y;\n" |
|
2092 "ADD R0.y, -R0.x, R0;\n" |
2086 "MOV R0.x, c[6];\n" |
2093 "MOV R0.x, c[6];\n" |
2087 "RSQ R2.x, R5.x;\n" |
2094 "MUL R0.x, R0, c[1];\n" |
2088 "RSQ R2.z, R5.z;\n" |
2095 "MAX R0.z, R1.w, c[6].w;\n" |
2089 "RSQ R2.y, R5.y;\n" |
2096 "RCP R0.z, R0.z;\n" |
2090 "MUL R0.z, -R0, c[1].x;\n" |
2097 "MUL R3.xyz, R1, R0.z;\n" |
2091 "MUL R0.z, R0, c[6].y;\n" |
2098 "MAD R4.xyz, R3, c[7].x, -c[7].y;\n" |
2092 "MAD R0.z, R0.y, R0.y, -R0;\n" |
2099 "RCP R0.x, R0.x;\n" |
2093 "MUL R0.w, R0.x, c[1].x;\n" |
2100 "MUL R0.x, R0.y, R0;\n" |
2094 "RSQ R0.z, R0.z;\n" |
|
2095 "RCP R0.x, R0.z;\n" |
|
2096 "RCP R0.z, R0.w;\n" |
|
2097 "ADD R0.x, -R0.y, R0;\n" |
|
2098 "MUL R0.x, R0, R0.z;\n" |
|
2099 "TEX R0, R0, texture[1], 1D;\n" |
2101 "TEX R0, R0, texture[1], 1D;\n" |
2100 "MAD R3.xyz, R0, c[6].x, -R0.w;\n" |
2102 "MAD R2.xyz, R0, c[6].x, -R0.w;\n" |
2101 "MAD R6.xyz, -R5, c[7].x, c[7].y;\n" |
2103 "MAD R4.xyz, R3, R4, c[7].z;\n" |
2102 "RCP R2.x, R2.x;\n" |
2104 "MUL R5.xyz, R1.w, R2;\n" |
2103 "RCP R2.z, R2.z;\n" |
2105 "MUL R6.xyz, R5, R4;\n" |
2104 "RCP R2.y, R2.y;\n" |
2106 "RSQ R2.w, R3.x;\n" |
2105 "MAD R2.xyz, R1.w, R2, -R1;\n" |
2107 "RCP R4.x, R2.w;\n" |
2106 "MUL R2.xyz, R3, R2;\n" |
2108 "RSQ R2.w, R3.y;\n" |
2107 "MAD R4.xyz, R0.w, R1, R2;\n" |
2109 "RSQ R3.w, R3.z;\n" |
2108 "MAD R2.xyz, -R1, R2.w, c[6].z;\n" |
2110 "RCP R4.y, R2.w;\n" |
2109 "MUL R5.xyz, R2, R3;\n" |
2111 "RCP R4.z, R3.w;\n" |
2110 "MAD R2.xyz, -R2, R3, R0.w;\n" |
2112 "ADD R4.xyz, -R3, R4;\n" |
2111 "MAD R6.xyz, -R5, R6, R0.w;\n" |
2113 "MUL R6.xyz, R3, R6;\n" |
2112 "MAD R5.xyz, -R1, R6, R4;\n" |
2114 "MUL R4.xyz, R5, R4;\n" |
|
2115 "ADD R3.xyz, -R3, c[6].z;\n" |
|
2116 "MAD R2.xyz, R2, R3, R0.w;\n" |
2113 "MUL R3.xyz, R0, c[6].x;\n" |
2117 "MUL R3.xyz, R0, c[6].x;\n" |
2114 "MUL R4.xyz, R1, c[7].x;\n" |
2118 "MAD R5.xyz, R0.w, R1, R6;\n" |
2115 "MUL R6.xyz, R1, R6;\n" |
2119 "MAD R4.xyz, R0.w, R1, R4;\n" |
|
2120 "ADD R6.xyz, R4, -R5;\n" |
|
2121 "MUL R4.xyz, R1, c[6].y;\n" |
2116 "SGE R4.xyz, R4, R1.w;\n" |
2122 "SGE R4.xyz, R4, R1.w;\n" |
2117 "MAD R4.xyz, R4, R5, R6;\n" |
2123 "MAD R4.xyz, R4, R6, R5;\n" |
2118 "MAD R4.xyz, -R1, R2, R4;\n" |
2124 "MAD R4.xyz, -R1, R2, R4;\n" |
2119 "MUL R2.xyz, R1, R2;\n" |
2125 "MUL R2.xyz, R1, R2;\n" |
2120 "SGE R3.xyz, R3, R0.w;\n" |
2126 "SGE R3.xyz, R3, R0.w;\n" |
2121 "MAD R2.xyz, R3, R4, R2;\n" |
2127 "MAD R2.xyz, R3, R4, R2;\n" |
2122 "ADD R2.w, -R1, c[6].z;\n" |
2128 "ADD R2.w, -R1, c[6].z;\n" |
2938 "ADD R0.z, -R0.w, R0;\n" |
2945 "ADD R0.z, -R0.w, R0;\n" |
2939 "CMP R0.z, -R0, R1.y, R1.x;\n" |
2946 "CMP R0.z, -R0, R1.y, R1.x;\n" |
2940 "ADD R0.w, -R0.z, c[10].x;\n" |
2947 "ADD R0.w, -R0.z, c[10].x;\n" |
2941 "CMP R0.x, R0, R0.w, R0.z;\n" |
2948 "CMP R0.x, R0, R0.w, R0.z;\n" |
2942 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" |
2949 "MUL R0.zw, fragment.position.xyxy, c[5].xyxy;\n" |
|
2950 "TEX R1, R0.zwzw, texture[0], 2D;\n" |
2943 "CMP R0.x, -R0.y, -R0, R0;\n" |
2951 "CMP R0.x, -R0.y, -R0, R0;\n" |
2944 "TEX R1, R0.zwzw, texture[0], 2D;\n" |
2952 "MAX R0.z, R1.w, c[11].x;\n" |
2945 "MAX R0.y, R1.w, c[11].x;\n" |
2953 "RCP R2.x, R0.z;\n" |
2946 "RCP R2.w, R0.y;\n" |
2954 "MUL R3.xyz, R1, R2.x;\n" |
2947 "MUL R5.xyz, R1, R2.w;\n" |
2955 "MAD R4.xyz, R3, c[11].z, -c[11].w;\n" |
2948 "RSQ R2.x, R5.x;\n" |
|
2949 "RSQ R2.z, R5.z;\n" |
|
2950 "RSQ R2.y, R5.y;\n" |
|
2951 "ADD R0.x, R0, c[0];\n" |
2956 "ADD R0.x, R0, c[0];\n" |
2952 "MUL R0.x, R0, c[10].y;\n" |
2957 "MUL R0.x, R0, c[10].y;\n" |
2953 "FLR R0.y, R0.x;\n" |
2958 "FLR R0.y, R0.x;\n" |
2954 "ADD R0.x, R0, -R0.y;\n" |
2959 "ADD R0.x, R0, -R0.y;\n" |
2955 "TEX R0, R0, texture[2], 1D;\n" |
2960 "TEX R0, R0, texture[2], 1D;\n" |
2956 "MAD R3.xyz, R0, c[10].w, -R0.w;\n" |
2961 "MAD R2.xyz, R0, c[10].w, -R0.w;\n" |
2957 "MAD R6.xyz, -R5, c[11].y, c[11].z;\n" |
2962 "MAD R4.xyz, R3, R4, c[12].x;\n" |
2958 "RCP R2.x, R2.x;\n" |
2963 "MUL R5.xyz, R1.w, R2;\n" |
2959 "RCP R2.z, R2.z;\n" |
2964 "MUL R6.xyz, R5, R4;\n" |
2960 "RCP R2.y, R2.y;\n" |
2965 "RSQ R2.w, R3.x;\n" |
2961 "MAD R2.xyz, R1.w, R2, -R1;\n" |
2966 "RCP R4.x, R2.w;\n" |
2962 "MUL R2.xyz, R3, R2;\n" |
2967 "RSQ R2.w, R3.y;\n" |
2963 "MAD R4.xyz, R0.w, R1, R2;\n" |
2968 "RSQ R3.w, R3.z;\n" |
2964 "MAD R2.xyz, -R1, R2.w, c[10].z;\n" |
2969 "RCP R4.y, R2.w;\n" |
2965 "MUL R5.xyz, R2, R3;\n" |
2970 "RCP R4.z, R3.w;\n" |
2966 "MAD R6.xyz, -R5, R6, R0.w;\n" |
2971 "ADD R4.xyz, -R3, R4;\n" |
2967 "MAD R5.xyz, -R1, R6, R4;\n" |
2972 "MUL R6.xyz, R3, R6;\n" |
2968 "MAD R2.xyz, -R2, R3, R0.w;\n" |
2973 "MUL R4.xyz, R5, R4;\n" |
|
2974 "ADD R3.xyz, -R3, c[10].z;\n" |
|
2975 "MAD R2.xyz, R2, R3, R0.w;\n" |
2969 "MUL R3.xyz, R0, c[10].w;\n" |
2976 "MUL R3.xyz, R0, c[10].w;\n" |
|
2977 "MAD R5.xyz, R0.w, R1, R6;\n" |
|
2978 "MAD R4.xyz, R0.w, R1, R4;\n" |
|
2979 "ADD R6.xyz, R4, -R5;\n" |
2970 "MUL R4.xyz, R1, c[11].y;\n" |
2980 "MUL R4.xyz, R1, c[11].y;\n" |
|
2981 "SGE R4.xyz, R4, R1.w;\n" |
|
2982 "MAD R4.xyz, R4, R6, R5;\n" |
|
2983 "MAD R4.xyz, -R1, R2, R4;\n" |
2971 "SGE R3.xyz, R3, R0.w;\n" |
2984 "SGE R3.xyz, R3, R0.w;\n" |
|
2985 "MUL R2.xyz, R1, R2;\n" |
2972 "ADD R2.w, -R1, c[10].z;\n" |
2986 "ADD R2.w, -R1, c[10].z;\n" |
2973 "MUL R6.xyz, R1, R6;\n" |
|
2974 "SGE R4.xyz, R4, R1.w;\n" |
|
2975 "MAD R4.xyz, R4, R5, R6;\n" |
|
2976 "MAD R4.xyz, -R1, R2, R4;\n" |
|
2977 "MUL R2.xyz, R1, R2;\n" |
|
2978 "MAD R2.xyz, R3, R4, R2;\n" |
2987 "MAD R2.xyz, R3, R4, R2;\n" |
2979 "MAD R2.xyz, R0, R2.w, R2;\n" |
2988 "MAD R2.xyz, R0, R2.w, R2;\n" |
2980 "ADD R0.x, -R0.w, c[10].z;\n" |
2989 "ADD R0.x, -R0.w, c[10].z;\n" |
2981 "MAD R2.xyz, R1, R0.x, R2;\n" |
2990 "MAD R2.xyz, R1, R0.x, R2;\n" |
2982 "ADD R0.z, R0.w, R1.w;\n" |
2991 "ADD R0.z, R0.w, R1.w;\n" |
3721 "ADD R0.z, -R0.w, R0;\n" |
3731 "ADD R0.z, -R0.w, R0;\n" |
3722 "CMP R0.z, -R0, R1.y, R1.x;\n" |
3732 "CMP R0.z, -R0, R1.y, R1.x;\n" |
3723 "ADD R0.w, -R0.z, c[7].x;\n" |
3733 "ADD R0.w, -R0.z, c[7].x;\n" |
3724 "CMP R0.x, R0, R0.w, R0.z;\n" |
3734 "CMP R0.x, R0, R0.w, R0.z;\n" |
3725 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" |
3735 "MUL R0.zw, fragment.position.xyxy, c[4].xyxy;\n" |
|
3736 "TEX R1, R0.zwzw, texture[0], 2D;\n" |
3726 "CMP R0.x, -R0.y, -R0, R0;\n" |
3737 "CMP R0.x, -R0.y, -R0, R0;\n" |
3727 "TEX R1, R0.zwzw, texture[0], 2D;\n" |
3738 "MAX R0.z, R1.w, c[8].x;\n" |
3728 "MAX R0.y, R1.w, c[8].x;\n" |
3739 "RCP R2.x, R0.z;\n" |
3729 "RCP R2.w, R0.y;\n" |
3740 "MUL R3.xyz, R1, R2.x;\n" |
3730 "MUL R5.xyz, R1, R2.w;\n" |
3741 "MAD R4.xyz, R3, c[8].z, -c[8].w;\n" |
3731 "RSQ R2.x, R5.x;\n" |
|
3732 "RSQ R2.z, R5.z;\n" |
|
3733 "RSQ R2.y, R5.y;\n" |
|
3734 "ADD R0.x, R0, c[0];\n" |
3742 "ADD R0.x, R0, c[0];\n" |
3735 "MUL R0.x, R0, c[7].y;\n" |
3743 "MUL R0.x, R0, c[7].y;\n" |
3736 "FLR R0.y, R0.x;\n" |
3744 "FLR R0.y, R0.x;\n" |
3737 "ADD R0.x, R0, -R0.y;\n" |
3745 "ADD R0.x, R0, -R0.y;\n" |
3738 "TEX R0, R0, texture[1], 1D;\n" |
3746 "TEX R0, R0, texture[1], 1D;\n" |
3739 "MAD R3.xyz, R0, c[7].w, -R0.w;\n" |
3747 "MAD R2.xyz, R0, c[7].w, -R0.w;\n" |
3740 "MAD R6.xyz, -R5, c[8].y, c[8].z;\n" |
3748 "MAD R4.xyz, R3, R4, c[9].x;\n" |
3741 "RCP R2.x, R2.x;\n" |
3749 "MUL R5.xyz, R1.w, R2;\n" |
3742 "RCP R2.z, R2.z;\n" |
3750 "MUL R6.xyz, R5, R4;\n" |
3743 "RCP R2.y, R2.y;\n" |
3751 "RSQ R2.w, R3.x;\n" |
3744 "MAD R2.xyz, R1.w, R2, -R1;\n" |
3752 "RCP R4.x, R2.w;\n" |
3745 "MUL R2.xyz, R3, R2;\n" |
3753 "RSQ R2.w, R3.y;\n" |
3746 "MAD R4.xyz, R0.w, R1, R2;\n" |
3754 "RSQ R3.w, R3.z;\n" |
3747 "MAD R2.xyz, -R1, R2.w, c[7].z;\n" |
3755 "RCP R4.y, R2.w;\n" |
3748 "MUL R5.xyz, R2, R3;\n" |
3756 "RCP R4.z, R3.w;\n" |
3749 "MAD R2.xyz, -R2, R3, R0.w;\n" |
3757 "ADD R4.xyz, -R3, R4;\n" |
3750 "MAD R6.xyz, -R5, R6, R0.w;\n" |
3758 "MUL R6.xyz, R3, R6;\n" |
3751 "MAD R5.xyz, -R1, R6, R4;\n" |
3759 "MUL R4.xyz, R5, R4;\n" |
|
3760 "ADD R3.xyz, -R3, c[7].z;\n" |
|
3761 "MAD R2.xyz, R2, R3, R0.w;\n" |
3752 "MUL R3.xyz, R0, c[7].w;\n" |
3762 "MUL R3.xyz, R0, c[7].w;\n" |
|
3763 "MAD R5.xyz, R0.w, R1, R6;\n" |
|
3764 "MAD R4.xyz, R0.w, R1, R4;\n" |
|
3765 "ADD R6.xyz, R4, -R5;\n" |
3753 "MUL R4.xyz, R1, c[8].y;\n" |
3766 "MUL R4.xyz, R1, c[8].y;\n" |
3754 "MUL R6.xyz, R1, R6;\n" |
|
3755 "SGE R4.xyz, R4, R1.w;\n" |
3767 "SGE R4.xyz, R4, R1.w;\n" |
3756 "MAD R4.xyz, R4, R5, R6;\n" |
3768 "MAD R4.xyz, R4, R6, R5;\n" |
3757 "MAD R4.xyz, -R1, R2, R4;\n" |
3769 "MAD R4.xyz, -R1, R2, R4;\n" |
3758 "MUL R2.xyz, R1, R2;\n" |
3770 "MUL R2.xyz, R1, R2;\n" |
3759 "SGE R3.xyz, R3, R0.w;\n" |
3771 "SGE R3.xyz, R3, R0.w;\n" |
3760 "MAD R2.xyz, R3, R4, R2;\n" |
3772 "MAD R2.xyz, R3, R4, R2;\n" |
3761 "ADD R2.w, -R1, c[7].z;\n" |
3773 "ADD R2.w, -R1, c[7].z;\n" |
4354 ; |
4366 ; |
4355 |
4367 |
4356 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT = |
4368 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT = |
4357 "!!ARBfp1.0\n" |
4369 "!!ARBfp1.0\n" |
4358 "PARAM c[10] = { program.local[0..7],\n" |
4370 "PARAM c[10] = { program.local[0..7],\n" |
4359 " { 1, 2, 9.9999997e-006, 8 },\n" |
4371 " { 1, 2, 9.9999997e-006, 4 },\n" |
4360 " { 3 } };\n" |
4372 " { 16, 12, 3 } };\n" |
4361 "TEMP R0;\n" |
4373 "TEMP R0;\n" |
4362 "TEMP R1;\n" |
4374 "TEMP R1;\n" |
4363 "TEMP R2;\n" |
4375 "TEMP R2;\n" |
4364 "TEMP R3;\n" |
4376 "TEMP R3;\n" |
4365 "TEMP R4;\n" |
4377 "TEMP R4;\n" |
4366 "TEMP R5;\n" |
4378 "TEMP R5;\n" |
4367 "TEMP R6;\n" |
4379 "TEMP R6;\n" |
4368 "MUL R0.xy, fragment.position, c[5];\n" |
|
4369 "TEX R1, R0, texture[0], 2D;\n" |
|
4370 "MAX R0.w, R1, c[8].z;\n" |
|
4371 "RCP R2.w, R0.w;\n" |
|
4372 "MUL R2.xyz, R1, R2.w;\n" |
|
4373 "RSQ R0.w, R2.x;\n" |
|
4374 "MUL R5.xyz, -R2, c[8].w;\n" |
|
4375 "MUL R0.xyz, fragment.position.y, c[2];\n" |
4380 "MUL R0.xyz, fragment.position.y, c[2];\n" |
4376 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
4381 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
4377 "ADD R0.xyz, R0, c[3];\n" |
4382 "ADD R0.xyz, R0, c[3];\n" |
4378 "RCP R0.z, R0.z;\n" |
4383 "RCP R0.z, R0.z;\n" |
4379 "MUL R0.xy, R0, R0.z;\n" |
4384 "MUL R0.xy, R0, R0.z;\n" |
4380 "MUL R0.xy, R0, c[0];\n" |
4385 "MUL R0.xy, R0, c[0];\n" |
4381 "ADD R0.x, R0, R0.y;\n" |
4386 "ADD R0.x, R0, R0.y;\n" |
4382 "RSQ R0.z, R2.y;\n" |
4387 "MUL R1.xy, fragment.position, c[5];\n" |
4383 "RSQ R0.y, R2.z;\n" |
4388 "TEX R1, R1, texture[0], 2D;\n" |
4384 "MAD R2.xyz, -R1, R2.w, c[8].x;\n" |
4389 "MAX R0.z, R1.w, c[8];\n" |
4385 "RCP R3.x, R0.w;\n" |
4390 "RCP R0.z, R0.z;\n" |
4386 "RCP R3.y, R0.z;\n" |
4391 "MUL R3.xyz, R1, R0.z;\n" |
4387 "RCP R3.z, R0.y;\n" |
4392 "MAD R2.xyz, R3, c[9].x, -c[9].y;\n" |
4388 "MUL R0.x, R0, c[0].z;\n" |
4393 "MUL R0.x, R0, c[0].z;\n" |
4389 "TEX R0, R0, texture[2], 1D;\n" |
4394 "TEX R0, R0, texture[2], 1D;\n" |
4390 "MAD R4.xyz, R1.w, R3, -R1;\n" |
4395 "MAD R4.xyz, R3, R2, c[9].z;\n" |
4391 "MAD R3.xyz, R0, c[8].y, -R0.w;\n" |
4396 "MAD R2.xyz, R0, c[8].y, -R0.w;\n" |
4392 "MUL R4.xyz, R3, R4;\n" |
4397 "MUL R5.xyz, R1.w, R2;\n" |
4393 "ADD R6.xyz, R5, c[9].x;\n" |
4398 "MUL R6.xyz, R5, R4;\n" |
4394 "MUL R5.xyz, R2, R3;\n" |
4399 "RSQ R2.w, R3.x;\n" |
4395 "MAD R2.xyz, -R2, R3, R0.w;\n" |
4400 "RCP R4.x, R2.w;\n" |
|
4401 "RSQ R2.w, R3.y;\n" |
|
4402 "RSQ R3.w, R3.z;\n" |
|
4403 "RCP R4.y, R2.w;\n" |
|
4404 "RCP R4.z, R3.w;\n" |
|
4405 "ADD R4.xyz, -R3, R4;\n" |
|
4406 "MUL R6.xyz, R3, R6;\n" |
|
4407 "MUL R4.xyz, R5, R4;\n" |
|
4408 "ADD R3.xyz, -R3, c[8].x;\n" |
|
4409 "MAD R2.xyz, R2, R3, R0.w;\n" |
4396 "MUL R3.xyz, R0, c[8].y;\n" |
4410 "MUL R3.xyz, R0, c[8].y;\n" |
4397 "MAD R6.xyz, -R5, R6, R0.w;\n" |
4411 "MAD R5.xyz, R0.w, R1, R6;\n" |
4398 "MAD R4.xyz, R0.w, R1, R4;\n" |
4412 "MAD R4.xyz, R0.w, R1, R4;\n" |
4399 "MAD R5.xyz, -R1, R6, R4;\n" |
4413 "ADD R6.xyz, R4, -R5;\n" |
4400 "MUL R4.xyz, R1, c[8].w;\n" |
4414 "MUL R4.xyz, R1, c[8].w;\n" |
|
4415 "SGE R4.xyz, R4, R1.w;\n" |
|
4416 "MAD R4.xyz, R4, R6, R5;\n" |
|
4417 "MAD R4.xyz, -R1, R2, R4;\n" |
4401 "SGE R3.xyz, R3, R0.w;\n" |
4418 "SGE R3.xyz, R3, R0.w;\n" |
|
4419 "MUL R2.xyz, R1, R2;\n" |
4402 "ADD R2.w, -R1, c[8].x;\n" |
4420 "ADD R2.w, -R1, c[8].x;\n" |
4403 "MUL R6.xyz, R1, R6;\n" |
|
4404 "SGE R4.xyz, R4, R1.w;\n" |
|
4405 "MAD R4.xyz, R4, R5, R6;\n" |
|
4406 "MAD R4.xyz, -R1, R2, R4;\n" |
|
4407 "MUL R2.xyz, R1, R2;\n" |
|
4408 "MAD R2.xyz, R3, R4, R2;\n" |
4421 "MAD R2.xyz, R3, R4, R2;\n" |
4409 "MAD R2.xyz, R0, R2.w, R2;\n" |
4422 "MAD R2.xyz, R0, R2.w, R2;\n" |
4410 "ADD R0.x, -R0.w, c[8];\n" |
4423 "ADD R0.x, -R0.w, c[8];\n" |
4411 "MAD R2.xyz, R1, R0.x, R2;\n" |
4424 "MAD R2.xyz, R1, R0.x, R2;\n" |
4412 "ADD R0.z, R0.w, R1.w;\n" |
4425 "ADD R0.z, R0.w, R1.w;\n" |
4813 ; |
4826 ; |
4814 |
4827 |
4815 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
4828 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_LINEAR_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
4816 "!!ARBfp1.0\n" |
4829 "!!ARBfp1.0\n" |
4817 "PARAM c[7] = { program.local[0..4],\n" |
4830 "PARAM c[7] = { program.local[0..4],\n" |
4818 " { 1, 2, 9.9999997e-006, 8 },\n" |
4831 " { 1, 2, 9.9999997e-006, 4 },\n" |
4819 " { 3 } };\n" |
4832 " { 16, 12, 3 } };\n" |
4820 "TEMP R0;\n" |
4833 "TEMP R0;\n" |
4821 "TEMP R1;\n" |
4834 "TEMP R1;\n" |
4822 "TEMP R2;\n" |
4835 "TEMP R2;\n" |
4823 "TEMP R3;\n" |
4836 "TEMP R3;\n" |
4824 "TEMP R4;\n" |
4837 "TEMP R4;\n" |
4825 "TEMP R5;\n" |
4838 "TEMP R5;\n" |
4826 "TEMP R6;\n" |
4839 "TEMP R6;\n" |
4827 "MUL R0.xy, fragment.position, c[4];\n" |
|
4828 "TEX R1, R0, texture[0], 2D;\n" |
|
4829 "MAX R0.w, R1, c[5].z;\n" |
|
4830 "RCP R2.w, R0.w;\n" |
|
4831 "MUL R2.xyz, R1, R2.w;\n" |
|
4832 "RSQ R0.w, R2.x;\n" |
|
4833 "MUL R5.xyz, -R2, c[5].w;\n" |
|
4834 "MUL R0.xyz, fragment.position.y, c[2];\n" |
4840 "MUL R0.xyz, fragment.position.y, c[2];\n" |
4835 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
4841 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
4836 "ADD R0.xyz, R0, c[3];\n" |
4842 "ADD R0.xyz, R0, c[3];\n" |
4837 "RCP R0.z, R0.z;\n" |
4843 "RCP R0.z, R0.z;\n" |
4838 "MUL R0.xy, R0, R0.z;\n" |
4844 "MUL R0.xy, R0, R0.z;\n" |
4839 "MUL R0.xy, R0, c[0];\n" |
4845 "MUL R0.xy, R0, c[0];\n" |
4840 "ADD R0.x, R0, R0.y;\n" |
4846 "ADD R0.x, R0, R0.y;\n" |
4841 "RSQ R0.z, R2.y;\n" |
4847 "MUL R1.xy, fragment.position, c[4];\n" |
4842 "RSQ R0.y, R2.z;\n" |
4848 "TEX R1, R1, texture[0], 2D;\n" |
4843 "MAD R2.xyz, -R1, R2.w, c[5].x;\n" |
4849 "MAX R0.z, R1.w, c[5];\n" |
4844 "RCP R3.x, R0.w;\n" |
4850 "RCP R0.z, R0.z;\n" |
4845 "RCP R3.y, R0.z;\n" |
4851 "MUL R3.xyz, R1, R0.z;\n" |
4846 "RCP R3.z, R0.y;\n" |
4852 "MAD R2.xyz, R3, c[6].x, -c[6].y;\n" |
4847 "MUL R0.x, R0, c[0].z;\n" |
4853 "MUL R0.x, R0, c[0].z;\n" |
4848 "TEX R0, R0, texture[1], 1D;\n" |
4854 "TEX R0, R0, texture[1], 1D;\n" |
4849 "MAD R4.xyz, R1.w, R3, -R1;\n" |
4855 "MAD R4.xyz, R3, R2, c[6].z;\n" |
4850 "MAD R3.xyz, R0, c[5].y, -R0.w;\n" |
4856 "MAD R2.xyz, R0, c[5].y, -R0.w;\n" |
4851 "MUL R4.xyz, R3, R4;\n" |
4857 "MUL R5.xyz, R1.w, R2;\n" |
4852 "ADD R6.xyz, R5, c[6].x;\n" |
4858 "MUL R6.xyz, R5, R4;\n" |
4853 "MUL R5.xyz, R2, R3;\n" |
4859 "RSQ R2.w, R3.x;\n" |
4854 "MAD R2.xyz, -R2, R3, R0.w;\n" |
4860 "RCP R4.x, R2.w;\n" |
|
4861 "RSQ R2.w, R3.y;\n" |
|
4862 "RSQ R3.w, R3.z;\n" |
|
4863 "RCP R4.y, R2.w;\n" |
|
4864 "RCP R4.z, R3.w;\n" |
|
4865 "ADD R4.xyz, -R3, R4;\n" |
|
4866 "MUL R6.xyz, R3, R6;\n" |
|
4867 "MUL R4.xyz, R5, R4;\n" |
|
4868 "ADD R3.xyz, -R3, c[5].x;\n" |
|
4869 "MAD R2.xyz, R2, R3, R0.w;\n" |
4855 "MUL R3.xyz, R0, c[5].y;\n" |
4870 "MUL R3.xyz, R0, c[5].y;\n" |
4856 "MAD R6.xyz, -R5, R6, R0.w;\n" |
4871 "MAD R5.xyz, R0.w, R1, R6;\n" |
4857 "MAD R4.xyz, R0.w, R1, R4;\n" |
4872 "MAD R4.xyz, R0.w, R1, R4;\n" |
4858 "MAD R5.xyz, -R1, R6, R4;\n" |
4873 "ADD R6.xyz, R4, -R5;\n" |
4859 "MUL R4.xyz, R1, c[5].w;\n" |
4874 "MUL R4.xyz, R1, c[5].w;\n" |
4860 "MUL R6.xyz, R1, R6;\n" |
|
4861 "SGE R4.xyz, R4, R1.w;\n" |
4875 "SGE R4.xyz, R4, R1.w;\n" |
4862 "MAD R4.xyz, R4, R5, R6;\n" |
4876 "MAD R4.xyz, R4, R6, R5;\n" |
4863 "MAD R4.xyz, -R1, R2, R4;\n" |
4877 "MAD R4.xyz, -R1, R2, R4;\n" |
4864 "MUL R2.xyz, R1, R2;\n" |
4878 "MUL R2.xyz, R1, R2;\n" |
4865 "SGE R3.xyz, R3, R0.w;\n" |
4879 "SGE R3.xyz, R3, R0.w;\n" |
4866 "MAD R2.xyz, R3, R4, R2;\n" |
4880 "MAD R2.xyz, R3, R4, R2;\n" |
4867 "ADD R2.w, -R1, c[5].x;\n" |
4881 "ADD R2.w, -R1, c[5].x;\n" |
5331 ; |
5345 ; |
5332 |
5346 |
5333 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT = |
5347 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT = |
5334 "!!ARBfp1.0\n" |
5348 "!!ARBfp1.0\n" |
5335 "PARAM c[10] = { program.local[0..7],\n" |
5349 "PARAM c[10] = { program.local[0..7],\n" |
5336 " { 1, 2, 9.9999997e-006, 8 },\n" |
5350 " { 1, 2, 9.9999997e-006, 4 },\n" |
5337 " { 3 } };\n" |
5351 " { 16, 12, 3 } };\n" |
5338 "TEMP R0;\n" |
5352 "TEMP R0;\n" |
5339 "TEMP R1;\n" |
5353 "TEMP R1;\n" |
5340 "TEMP R2;\n" |
5354 "TEMP R2;\n" |
5341 "TEMP R3;\n" |
5355 "TEMP R3;\n" |
5342 "TEMP R4;\n" |
5356 "TEMP R4;\n" |
5343 "TEMP R5;\n" |
5357 "TEMP R5;\n" |
5344 "TEMP R6;\n" |
5358 "TEMP R6;\n" |
5345 "MUL R0.xy, fragment.position, c[5];\n" |
5359 "MUL R0.xyz, fragment.position.y, c[2];\n" |
5346 "TEX R1, R0, texture[0], 2D;\n" |
5360 "MUL R1.xy, fragment.position, c[5];\n" |
5347 "MAX R0.x, R1.w, c[8].z;\n" |
5361 "TEX R1, R1, texture[0], 2D;\n" |
5348 "RCP R2.w, R0.x;\n" |
5362 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
5349 "MUL R2.xyz, R1, R2.w;\n" |
5363 "ADD R0.xyz, R0, c[3];\n" |
5350 "RSQ R0.w, R2.x;\n" |
5364 "RCP R0.z, R0.z;\n" |
5351 "RCP R3.x, R0.w;\n" |
5365 "MUL R0.xy, R0, R0.z;\n" |
5352 "RSQ R0.w, R2.y;\n" |
5366 "MAX R0.w, R1, c[8].z;\n" |
5353 "MUL R5.xyz, -R2, c[8].w;\n" |
5367 "RCP R0.w, R0.w;\n" |
5354 "MUL R0.xyz, fragment.position.y, c[2];\n" |
5368 "MUL R3.xyz, R1, R0.w;\n" |
5355 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
5369 "MAD R2.xyz, R3, c[9].x, -c[9].y;\n" |
5356 "ADD R0.xyz, R0, c[3];\n" |
|
5357 "RCP R0.z, R0.z;\n" |
|
5358 "MUL R0.xy, R0, R0.z;\n" |
|
5359 "RSQ R0.z, R2.z;\n" |
|
5360 "MAD R2.xyz, -R1, R2.w, c[8].x;\n" |
|
5361 "RCP R3.y, R0.w;\n" |
|
5362 "RCP R3.z, R0.z;\n" |
|
5363 "MUL R0.xy, R0, c[0];\n" |
5370 "MUL R0.xy, R0, c[0];\n" |
5364 "TEX R0, R0, texture[2], 2D;\n" |
5371 "TEX R0, R0, texture[2], 2D;\n" |
5365 "MAD R4.xyz, R1.w, R3, -R1;\n" |
5372 "MAD R4.xyz, R3, R2, c[9].z;\n" |
5366 "MAD R3.xyz, R0, c[8].y, -R0.w;\n" |
5373 "MAD R2.xyz, R0, c[8].y, -R0.w;\n" |
5367 "MUL R4.xyz, R3, R4;\n" |
5374 "MUL R5.xyz, R1.w, R2;\n" |
5368 "ADD R6.xyz, R5, c[9].x;\n" |
5375 "MUL R6.xyz, R5, R4;\n" |
5369 "MUL R5.xyz, R2, R3;\n" |
5376 "RSQ R2.w, R3.x;\n" |
5370 "MAD R2.xyz, -R2, R3, R0.w;\n" |
5377 "RCP R4.x, R2.w;\n" |
|
5378 "RSQ R2.w, R3.y;\n" |
|
5379 "RSQ R3.w, R3.z;\n" |
|
5380 "RCP R4.y, R2.w;\n" |
|
5381 "RCP R4.z, R3.w;\n" |
|
5382 "ADD R4.xyz, -R3, R4;\n" |
|
5383 "MUL R6.xyz, R3, R6;\n" |
|
5384 "MUL R4.xyz, R5, R4;\n" |
|
5385 "ADD R3.xyz, -R3, c[8].x;\n" |
|
5386 "MAD R2.xyz, R2, R3, R0.w;\n" |
5371 "MUL R3.xyz, R0, c[8].y;\n" |
5387 "MUL R3.xyz, R0, c[8].y;\n" |
5372 "MAD R6.xyz, -R5, R6, R0.w;\n" |
5388 "MAD R5.xyz, R0.w, R1, R6;\n" |
5373 "MAD R4.xyz, R0.w, R1, R4;\n" |
5389 "MAD R4.xyz, R0.w, R1, R4;\n" |
5374 "MAD R5.xyz, -R1, R6, R4;\n" |
5390 "ADD R6.xyz, R4, -R5;\n" |
5375 "MUL R4.xyz, R1, c[8].w;\n" |
5391 "MUL R4.xyz, R1, c[8].w;\n" |
|
5392 "SGE R4.xyz, R4, R1.w;\n" |
|
5393 "MAD R4.xyz, R4, R6, R5;\n" |
|
5394 "MAD R4.xyz, -R1, R2, R4;\n" |
5376 "SGE R3.xyz, R3, R0.w;\n" |
5395 "SGE R3.xyz, R3, R0.w;\n" |
|
5396 "MUL R2.xyz, R1, R2;\n" |
5377 "ADD R2.w, -R1, c[8].x;\n" |
5397 "ADD R2.w, -R1, c[8].x;\n" |
5378 "MUL R6.xyz, R1, R6;\n" |
|
5379 "SGE R4.xyz, R4, R1.w;\n" |
|
5380 "MAD R4.xyz, R4, R5, R6;\n" |
|
5381 "MAD R4.xyz, -R1, R2, R4;\n" |
|
5382 "MUL R2.xyz, R1, R2;\n" |
|
5383 "MAD R2.xyz, R3, R4, R2;\n" |
5398 "MAD R2.xyz, R3, R4, R2;\n" |
5384 "MAD R2.xyz, R0, R2.w, R2;\n" |
5399 "MAD R2.xyz, R0, R2.w, R2;\n" |
5385 "ADD R0.x, -R0.w, c[8];\n" |
5400 "ADD R0.x, -R0.w, c[8];\n" |
5386 "MAD R2.xyz, R1, R0.x, R2;\n" |
5401 "MAD R2.xyz, R1, R0.x, R2;\n" |
5387 "ADD R0.z, R0.w, R1.w;\n" |
5402 "ADD R0.z, R0.w, R1.w;\n" |
5766 ; |
5781 ; |
5767 |
5782 |
5768 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
5783 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_TEXTURE_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
5769 "!!ARBfp1.0\n" |
5784 "!!ARBfp1.0\n" |
5770 "PARAM c[7] = { program.local[0..4],\n" |
5785 "PARAM c[7] = { program.local[0..4],\n" |
5771 " { 1, 2, 9.9999997e-006, 8 },\n" |
5786 " { 1, 2, 9.9999997e-006, 4 },\n" |
5772 " { 3 } };\n" |
5787 " { 16, 12, 3 } };\n" |
5773 "TEMP R0;\n" |
5788 "TEMP R0;\n" |
5774 "TEMP R1;\n" |
5789 "TEMP R1;\n" |
5775 "TEMP R2;\n" |
5790 "TEMP R2;\n" |
5776 "TEMP R3;\n" |
5791 "TEMP R3;\n" |
5777 "TEMP R4;\n" |
5792 "TEMP R4;\n" |
5778 "TEMP R5;\n" |
5793 "TEMP R5;\n" |
5779 "TEMP R6;\n" |
5794 "TEMP R6;\n" |
5780 "MUL R0.xy, fragment.position, c[4];\n" |
5795 "MUL R0.xyz, fragment.position.y, c[2];\n" |
5781 "TEX R1, R0, texture[0], 2D;\n" |
5796 "MUL R1.xy, fragment.position, c[4];\n" |
5782 "MAX R0.x, R1.w, c[5].z;\n" |
5797 "TEX R1, R1, texture[0], 2D;\n" |
5783 "RCP R2.w, R0.x;\n" |
5798 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
5784 "MUL R2.xyz, R1, R2.w;\n" |
5799 "ADD R0.xyz, R0, c[3];\n" |
5785 "RSQ R0.w, R2.x;\n" |
5800 "RCP R0.z, R0.z;\n" |
5786 "RCP R3.x, R0.w;\n" |
5801 "MUL R0.xy, R0, R0.z;\n" |
5787 "RSQ R0.w, R2.y;\n" |
5802 "MAX R0.w, R1, c[5].z;\n" |
5788 "MUL R5.xyz, -R2, c[5].w;\n" |
5803 "RCP R0.w, R0.w;\n" |
5789 "MUL R0.xyz, fragment.position.y, c[2];\n" |
5804 "MUL R3.xyz, R1, R0.w;\n" |
5790 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
5805 "MAD R2.xyz, R3, c[6].x, -c[6].y;\n" |
5791 "ADD R0.xyz, R0, c[3];\n" |
|
5792 "RCP R0.z, R0.z;\n" |
|
5793 "MUL R0.xy, R0, R0.z;\n" |
|
5794 "RSQ R0.z, R2.z;\n" |
|
5795 "MAD R2.xyz, -R1, R2.w, c[5].x;\n" |
|
5796 "RCP R3.y, R0.w;\n" |
|
5797 "RCP R3.z, R0.z;\n" |
|
5798 "MUL R0.xy, R0, c[0];\n" |
5806 "MUL R0.xy, R0, c[0];\n" |
5799 "TEX R0, R0, texture[1], 2D;\n" |
5807 "TEX R0, R0, texture[1], 2D;\n" |
5800 "MAD R4.xyz, R1.w, R3, -R1;\n" |
5808 "MAD R4.xyz, R3, R2, c[6].z;\n" |
5801 "MAD R3.xyz, R0, c[5].y, -R0.w;\n" |
5809 "MAD R2.xyz, R0, c[5].y, -R0.w;\n" |
5802 "MUL R4.xyz, R3, R4;\n" |
5810 "MUL R5.xyz, R1.w, R2;\n" |
5803 "ADD R6.xyz, R5, c[6].x;\n" |
5811 "MUL R6.xyz, R5, R4;\n" |
5804 "MUL R5.xyz, R2, R3;\n" |
5812 "RSQ R2.w, R3.x;\n" |
5805 "MAD R2.xyz, -R2, R3, R0.w;\n" |
5813 "RCP R4.x, R2.w;\n" |
|
5814 "RSQ R2.w, R3.y;\n" |
|
5815 "RSQ R3.w, R3.z;\n" |
|
5816 "RCP R4.y, R2.w;\n" |
|
5817 "RCP R4.z, R3.w;\n" |
|
5818 "ADD R4.xyz, -R3, R4;\n" |
|
5819 "MUL R6.xyz, R3, R6;\n" |
|
5820 "MUL R4.xyz, R5, R4;\n" |
|
5821 "ADD R3.xyz, -R3, c[5].x;\n" |
|
5822 "MAD R2.xyz, R2, R3, R0.w;\n" |
5806 "MUL R3.xyz, R0, c[5].y;\n" |
5823 "MUL R3.xyz, R0, c[5].y;\n" |
5807 "MAD R6.xyz, -R5, R6, R0.w;\n" |
5824 "MAD R5.xyz, R0.w, R1, R6;\n" |
5808 "MAD R4.xyz, R0.w, R1, R4;\n" |
5825 "MAD R4.xyz, R0.w, R1, R4;\n" |
5809 "MAD R5.xyz, -R1, R6, R4;\n" |
5826 "ADD R6.xyz, R4, -R5;\n" |
5810 "MUL R4.xyz, R1, c[5].w;\n" |
5827 "MUL R4.xyz, R1, c[5].w;\n" |
5811 "MUL R6.xyz, R1, R6;\n" |
|
5812 "SGE R4.xyz, R4, R1.w;\n" |
5828 "SGE R4.xyz, R4, R1.w;\n" |
5813 "MAD R4.xyz, R4, R5, R6;\n" |
5829 "MAD R4.xyz, R4, R6, R5;\n" |
5814 "MAD R4.xyz, -R1, R2, R4;\n" |
5830 "MAD R4.xyz, -R1, R2, R4;\n" |
5815 "MUL R2.xyz, R1, R2;\n" |
5831 "MUL R2.xyz, R1, R2;\n" |
5816 "SGE R3.xyz, R3, R0.w;\n" |
5832 "SGE R3.xyz, R3, R0.w;\n" |
5817 "MAD R2.xyz, R3, R4, R2;\n" |
5833 "MAD R2.xyz, R3, R4, R2;\n" |
5818 "ADD R2.w, -R1, c[5].x;\n" |
5834 "ADD R2.w, -R1, c[5].x;\n" |
6293 ; |
6309 ; |
6294 |
6310 |
6295 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT = |
6311 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT = |
6296 "!!ARBfp1.0\n" |
6312 "!!ARBfp1.0\n" |
6297 "PARAM c[10] = { program.local[0..7],\n" |
6313 "PARAM c[10] = { program.local[0..7],\n" |
6298 " { 1, 2, 9.9999997e-006, 8 },\n" |
6314 " { 1, 2, 9.9999997e-006, 4 },\n" |
6299 " { 3 } };\n" |
6315 " { 16, 12, 3 } };\n" |
6300 "TEMP R0;\n" |
6316 "TEMP R0;\n" |
6301 "TEMP R1;\n" |
6317 "TEMP R1;\n" |
6302 "TEMP R2;\n" |
6318 "TEMP R2;\n" |
6303 "TEMP R3;\n" |
6319 "TEMP R3;\n" |
6304 "TEMP R4;\n" |
6320 "TEMP R4;\n" |
6305 "TEMP R5;\n" |
6321 "TEMP R5;\n" |
6306 "TEMP R6;\n" |
6322 "TEMP R6;\n" |
6307 "MUL R0.xy, fragment.position, c[5];\n" |
6323 "MUL R0.xyz, fragment.position.y, c[2];\n" |
6308 "TEX R0, R0, texture[0], 2D;\n" |
6324 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
6309 "MAX R1.w, R0, c[8].z;\n" |
6325 "ADD R1.xyz, R0, c[3];\n" |
6310 "RCP R2.w, R1.w;\n" |
|
6311 "MUL R2.xyz, R0, R2.w;\n" |
|
6312 "RSQ R1.w, R2.x;\n" |
|
6313 "MUL R5.xyz, -R2, c[8].w;\n" |
|
6314 "MUL R1.xyz, fragment.position.y, c[2];\n" |
|
6315 "MAD R1.xyz, fragment.position.x, c[1], R1;\n" |
|
6316 "ADD R1.xyz, R1, c[3];\n" |
|
6317 "RCP R1.z, R1.z;\n" |
6326 "RCP R1.z, R1.z;\n" |
6318 "MUL R1.xy, R1, R1.z;\n" |
6327 "MUL R1.xy, R1, R1.z;\n" |
6319 "MUL R1.xy, R1, c[0];\n" |
6328 "MUL R1.xy, R1, c[0];\n" |
6320 "TEX R1.x, R1, texture[2], 2D;\n" |
6329 "TEX R1.x, R1, texture[2], 2D;\n" |
6321 "RSQ R1.z, R2.y;\n" |
6330 "MUL R0.xy, fragment.position, c[5];\n" |
6322 "RSQ R1.y, R2.z;\n" |
6331 "TEX R0, R0, texture[0], 2D;\n" |
6323 "MAD R2.xyz, -R0, R2.w, c[8].x;\n" |
6332 "MAX R1.z, R0.w, c[8];\n" |
6324 "RCP R3.x, R1.w;\n" |
6333 "RCP R1.z, R1.z;\n" |
6325 "RCP R3.y, R1.z;\n" |
6334 "MUL R3.xyz, R0, R1.z;\n" |
6326 "RCP R3.z, R1.y;\n" |
6335 "MAD R2.xyz, R3, c[9].x, -c[9].y;\n" |
6327 "ADD R1.x, -R1, c[8];\n" |
6336 "ADD R1.x, -R1, c[8];\n" |
6328 "MUL R1, fragment.color.primary, R1.x;\n" |
6337 "MUL R1, fragment.color.primary, R1.x;\n" |
6329 "MAD R4.xyz, R0.w, R3, -R0;\n" |
6338 "MAD R4.xyz, R3, R2, c[9].z;\n" |
6330 "MAD R3.xyz, R1, c[8].y, -R1.w;\n" |
6339 "MAD R2.xyz, R1, c[8].y, -R1.w;\n" |
6331 "MUL R4.xyz, R3, R4;\n" |
6340 "MUL R5.xyz, R0.w, R2;\n" |
6332 "ADD R6.xyz, R5, c[9].x;\n" |
6341 "MUL R6.xyz, R5, R4;\n" |
6333 "MUL R5.xyz, R2, R3;\n" |
6342 "RSQ R2.w, R3.x;\n" |
6334 "MAD R2.xyz, -R2, R3, R1.w;\n" |
6343 "RCP R4.x, R2.w;\n" |
|
6344 "RSQ R2.w, R3.y;\n" |
|
6345 "RSQ R3.w, R3.z;\n" |
|
6346 "RCP R4.y, R2.w;\n" |
|
6347 "RCP R4.z, R3.w;\n" |
|
6348 "ADD R4.xyz, -R3, R4;\n" |
|
6349 "MUL R6.xyz, R3, R6;\n" |
|
6350 "MUL R4.xyz, R5, R4;\n" |
|
6351 "ADD R3.xyz, -R3, c[8].x;\n" |
|
6352 "MAD R2.xyz, R2, R3, R1.w;\n" |
6335 "MUL R3.xyz, R1, c[8].y;\n" |
6353 "MUL R3.xyz, R1, c[8].y;\n" |
6336 "MAD R6.xyz, -R5, R6, R1.w;\n" |
6354 "MAD R5.xyz, R1.w, R0, R6;\n" |
6337 "MAD R4.xyz, R1.w, R0, R4;\n" |
6355 "MAD R4.xyz, R1.w, R0, R4;\n" |
6338 "MAD R5.xyz, -R0, R6, R4;\n" |
6356 "ADD R6.xyz, R4, -R5;\n" |
6339 "MUL R4.xyz, R0, c[8].w;\n" |
6357 "MUL R4.xyz, R0, c[8].w;\n" |
|
6358 "SGE R4.xyz, R4, R0.w;\n" |
|
6359 "MAD R4.xyz, R4, R6, R5;\n" |
|
6360 "MAD R4.xyz, -R0, R2, R4;\n" |
6340 "SGE R3.xyz, R3, R1.w;\n" |
6361 "SGE R3.xyz, R3, R1.w;\n" |
|
6362 "MUL R2.xyz, R0, R2;\n" |
6341 "ADD R2.w, -R0, c[8].x;\n" |
6363 "ADD R2.w, -R0, c[8].x;\n" |
6342 "MUL R6.xyz, R0, R6;\n" |
|
6343 "SGE R4.xyz, R4, R0.w;\n" |
|
6344 "MAD R4.xyz, R4, R5, R6;\n" |
|
6345 "MAD R4.xyz, -R0, R2, R4;\n" |
|
6346 "MUL R2.xyz, R0, R2;\n" |
|
6347 "MAD R2.xyz, R3, R4, R2;\n" |
6364 "MAD R2.xyz, R3, R4, R2;\n" |
6348 "MAD R2.xyz, R1, R2.w, R2;\n" |
6365 "MAD R2.xyz, R1, R2.w, R2;\n" |
6349 "ADD R1.x, -R1.w, c[8];\n" |
6366 "ADD R1.x, -R1.w, c[8];\n" |
6350 "MAD R2.xyz, R0, R1.x, R2;\n" |
6367 "MAD R2.xyz, R0, R1.x, R2;\n" |
6351 "ADD R1.z, R1.w, R0.w;\n" |
6368 "ADD R1.z, R1.w, R0.w;\n" |
6753 ; |
6770 ; |
6754 |
6771 |
6755 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
6772 static const char *FragmentProgram_FRAGMENT_PROGRAM_BRUSH_PATTERN_COMPOSITION_MODES_SOFTLIGHT_NOMASK = |
6756 "!!ARBfp1.0\n" |
6773 "!!ARBfp1.0\n" |
6757 "PARAM c[7] = { program.local[0..4],\n" |
6774 "PARAM c[7] = { program.local[0..4],\n" |
6758 " { 1, 2, 9.9999997e-006, 8 },\n" |
6775 " { 1, 2, 9.9999997e-006, 4 },\n" |
6759 " { 3 } };\n" |
6776 " { 16, 12, 3 } };\n" |
6760 "TEMP R0;\n" |
6777 "TEMP R0;\n" |
6761 "TEMP R1;\n" |
6778 "TEMP R1;\n" |
6762 "TEMP R2;\n" |
6779 "TEMP R2;\n" |
6763 "TEMP R3;\n" |
6780 "TEMP R3;\n" |
6764 "TEMP R4;\n" |
6781 "TEMP R4;\n" |
6765 "TEMP R5;\n" |
6782 "TEMP R5;\n" |
6766 "TEMP R6;\n" |
6783 "TEMP R6;\n" |
6767 "MUL R0.xy, fragment.position, c[4];\n" |
6784 "MUL R0.xyz, fragment.position.y, c[2];\n" |
6768 "TEX R0, R0, texture[0], 2D;\n" |
6785 "MAD R0.xyz, fragment.position.x, c[1], R0;\n" |
6769 "MAX R1.w, R0, c[5].z;\n" |
6786 "ADD R1.xyz, R0, c[3];\n" |
6770 "RCP R2.w, R1.w;\n" |
|
6771 "MUL R2.xyz, R0, R2.w;\n" |
|
6772 "RSQ R1.w, R2.x;\n" |
|
6773 "MUL R5.xyz, -R2, c[5].w;\n" |
|
6774 "MUL R1.xyz, fragment.position.y, c[2];\n" |
|
6775 "MAD R1.xyz, fragment.position.x, c[1], R1;\n" |
|
6776 "ADD R1.xyz, R1, c[3];\n" |
|
6777 "RCP R1.z, R1.z;\n" |
6787 "RCP R1.z, R1.z;\n" |
6778 "MUL R1.xy, R1, R1.z;\n" |
6788 "MUL R1.xy, R1, R1.z;\n" |
6779 "MUL R1.xy, R1, c[0];\n" |
6789 "MUL R1.xy, R1, c[0];\n" |
6780 "TEX R1.x, R1, texture[1], 2D;\n" |
6790 "TEX R1.x, R1, texture[1], 2D;\n" |
6781 "RSQ R1.z, R2.y;\n" |
6791 "MUL R0.xy, fragment.position, c[4];\n" |
6782 "RSQ R1.y, R2.z;\n" |
6792 "TEX R0, R0, texture[0], 2D;\n" |
6783 "MAD R2.xyz, -R0, R2.w, c[5].x;\n" |
6793 "MAX R1.z, R0.w, c[5];\n" |
6784 "RCP R3.x, R1.w;\n" |
6794 "RCP R1.z, R1.z;\n" |
6785 "RCP R3.y, R1.z;\n" |
6795 "MUL R3.xyz, R0, R1.z;\n" |
6786 "RCP R3.z, R1.y;\n" |
6796 "MAD R2.xyz, R3, c[6].x, -c[6].y;\n" |
6787 "ADD R1.x, -R1, c[5];\n" |
6797 "ADD R1.x, -R1, c[5];\n" |
6788 "MUL R1, fragment.color.primary, R1.x;\n" |
6798 "MUL R1, fragment.color.primary, R1.x;\n" |
6789 "MAD R4.xyz, R0.w, R3, -R0;\n" |
6799 "MAD R4.xyz, R3, R2, c[6].z;\n" |
6790 "MAD R3.xyz, R1, c[5].y, -R1.w;\n" |
6800 "MAD R2.xyz, R1, c[5].y, -R1.w;\n" |
6791 "MUL R4.xyz, R3, R4;\n" |
6801 "MUL R5.xyz, R0.w, R2;\n" |
6792 "ADD R6.xyz, R5, c[6].x;\n" |
6802 "MUL R6.xyz, R5, R4;\n" |
6793 "MUL R5.xyz, R2, R3;\n" |
6803 "RSQ R2.w, R3.x;\n" |
6794 "MAD R2.xyz, -R2, R3, R1.w;\n" |
6804 "RCP R4.x, R2.w;\n" |
|
6805 "RSQ R2.w, R3.y;\n" |
|
6806 "RSQ R3.w, R3.z;\n" |
|
6807 "RCP R4.y, R2.w;\n" |
|
6808 "RCP R4.z, R3.w;\n" |
|
6809 "ADD R4.xyz, -R3, R4;\n" |
|
6810 "MUL R6.xyz, R3, R6;\n" |
|
6811 "MUL R4.xyz, R5, R4;\n" |
|
6812 "ADD R3.xyz, -R3, c[5].x;\n" |
|
6813 "MAD R2.xyz, R2, R3, R1.w;\n" |
6795 "MUL R3.xyz, R1, c[5].y;\n" |
6814 "MUL R3.xyz, R1, c[5].y;\n" |
6796 "MAD R6.xyz, -R5, R6, R1.w;\n" |
6815 "MAD R5.xyz, R1.w, R0, R6;\n" |
6797 "MAD R4.xyz, R1.w, R0, R4;\n" |
6816 "MAD R4.xyz, R1.w, R0, R4;\n" |
6798 "MAD R5.xyz, -R0, R6, R4;\n" |
6817 "ADD R6.xyz, R4, -R5;\n" |
6799 "MUL R4.xyz, R0, c[5].w;\n" |
6818 "MUL R4.xyz, R0, c[5].w;\n" |
6800 "MUL R6.xyz, R0, R6;\n" |
|
6801 "SGE R4.xyz, R4, R0.w;\n" |
6819 "SGE R4.xyz, R4, R0.w;\n" |
6802 "MAD R4.xyz, R4, R5, R6;\n" |
6820 "MAD R4.xyz, R4, R6, R5;\n" |
6803 "MAD R4.xyz, -R0, R2, R4;\n" |
6821 "MAD R4.xyz, -R0, R2, R4;\n" |
6804 "MUL R2.xyz, R0, R2;\n" |
6822 "MUL R2.xyz, R0, R2;\n" |
6805 "SGE R3.xyz, R3, R1.w;\n" |
6823 "SGE R3.xyz, R3, R1.w;\n" |
6806 "MAD R2.xyz, R3, R4, R2;\n" |
6824 "MAD R2.xyz, R3, R4, R2;\n" |
6807 "ADD R2.w, -R0, c[5].x;\n" |
6825 "ADD R2.w, -R0, c[5].x;\n" |