1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. zero_4_slots_unmasked _0_matrix(0..3) = 0 | |
4. zero_4_slots_unmasked _0_matrix(4..7) = 0 | |
5. zero_slot_unmasked _0_matrix(8) = 0 | |
6. copy_constant _1_values(0) = 0x40400000 (3.0) | |
7. copy_constant _1_values(1) = 0x40000000 (2.0) | |
8. copy_constant _1_values(2) = 0x3F800000 (1.0) | |
9. zero_slot_unmasked _2_index = 0 | |
10. label label 0x00000001 | |
11. copy_slot_unmasked $35 = _2_index | |
12. copy_constant $36 = 0x00000003 (4.203895e-45) | |
13. mul_int $35 *= $36 | |
14. copy_3_slots_unmasked $0..2 = _1_values | |
15. swizzle_1 $1 = ($1..2).y | |
16. swizzle_copy_to_indirect_maske Indirect(_0_matrix(0..2) + $35).zx = Mask($0..1) | |
17. copy_slot_unmasked $35 = _2_index | |
18. copy_constant $36 = 0x00000003 (4.203895e-45) | |
19. mul_int $35 *= $36 | |
20. copy_slot_unmasked $0 = _1_values(1) | |
21. copy_to_indirect_masked Indirect(_0_matrix(1) + $35) = Mask($0) | |
22. copy_3_slots_unmasked $0..2 = _1_values | |
23. copy_constant $3 = 0x40400000 (3.0) | |
24. swizzle_3 $3..5 = ($3..5).xxx | |
25. add_3_floats $0..2 += $3..5 | |
26. copy_3_slots_unmasked _1_values = $0..2 | |
27. copy_slot_unmasked $0 = _2_index | |
28. copy_constant $1 = 0x00000001 (1.401298e-45) | |
29. add_int $0 += $1 | |
30. copy_slot_unmasked _2_index = $0 | |
31. copy_constant $1 = 0x00000003 (4.203895e-45) | |
32. cmplt_int $0 = lessThan($0, $1) | |
33. stack_rewind | |
34. branch_if_no_active_lanes_eq branch -24 (label 1 at #10) if no lanes of $0 == 0x00000000 (0.0) | |
35. label label 0x00000000 | |
36. store_condition_mask $35 = CondMask | |
37. copy_4_slots_unmasked $36..39 = _0_matrix(0..3) | |
38. copy_4_slots_unmasked $40..43 = _0_matrix(4..7) | |
39. copy_slot_unmasked $44 = _0_matrix(8) | |
40. copy_4_constants $45..48 = testMatrix3x3(0..3) | |
41. copy_4_constants $49..52 = testMatrix3x3(4..7) | |
42. copy_constant $53 = testMatrix3x3(8) | |
43. cmpeq_n_floats $36..44 = equal($36..44, $45..53) | |
44. bitwise_and_4_ints $37..40 &= $41..44 | |
45. bitwise_and_2_ints $37..38 &= $39..40 | |
46. bitwise_and_int $37 &= $38 | |
47. bitwise_and_int $36 &= $37 | |
48. zero_slot_unmasked $0 = 0 | |
49. merge_condition_mask CondMask = $35 & $36 | |
50. branch_if_no_lanes_active branch_if_no_lanes_active +53 (label 3 at #103) | |
51. zero_4_slots_unmasked matrix(0..3) = 0 | |
52. zero_4_slots_unmasked matrix(4..7) = 0 | |
53. zero_4_slots_unmasked matrix(8..11) = 0 | |
54. zero_4_slots_unmasked matrix(12..15) = 0 | |
55. copy_constant values(0) = 0x40800000 (4.0) | |
56. copy_constant values(1) = 0x40400000 (3.0) | |
57. copy_constant values(2) = 0x40000000 (2.0) | |
58. copy_constant values(3) = 0x3F800000 (1.0) | |
59. branch_if_no_lanes_active branch_if_no_lanes_active +27 (label 5 at #86) | |
60. zero_slot_unmasked index = 0 | |
61. label label 0x00000006 | |
62. copy_slot_unmasked $33 = index | |
63. copy_constant $34 = 0x00000004 (5.605194e-45) | |
64. mul_int $33 *= $34 | |
65. copy_4_slots_unmasked $1..4 = values | |
66. swizzle_1 $2 = ($2..4).z | |
67. swizzle_copy_to_indirect_maske Indirect(matrix(0..3) + $33).wx = Mask($1..2) | |
68. copy_slot_unmasked $33 = index | |
69. copy_constant $34 = 0x00000004 (5.605194e-45) | |
70. mul_int $33 *= $34 | |
71. copy_2_slots_unmasked $1..2 = values(1..2) | |
72. swizzle_copy_to_indirect_maske Indirect(matrix(0..2) + $33).zy = Mask($1..2) | |
73. copy_4_slots_unmasked $1..4 = values | |
74. copy_constant $5 = 0x40800000 (4.0) | |
75. swizzle_4 $5..8 = ($5..8).xxxx | |
76. add_4_floats $1..4 += $5..8 | |
77. copy_4_slots_masked values = Mask($1..4) | |
78. copy_slot_unmasked $1 = index | |
79. copy_constant $2 = 0x00000001 (1.401298e-45) | |
80. add_int $1 += $2 | |
81. copy_slot_masked index = Mask($1) | |
82. copy_constant $2 = 0x00000004 (5.605194e-45) | |
83. cmplt_int $1 = lessThan($1, $2) | |
84. stack_rewind | |
85. branch_if_no_active_lanes_eq branch -24 (label 6 at #61) if no lanes of $1 == 0x00000000 (0.0) | |
86. label label 0x00000005 | |
87. copy_4_slots_unmasked $1..4 = matrix(0..3) | |
88. copy_4_slots_unmasked $5..8 = matrix(4..7) | |
89. copy_4_slots_unmasked $9..12 = matrix(8..11) | |
90. copy_4_slots_unmasked $13..16 = matrix(12..15) | |
91. copy_4_constants $17..20 = testMatrix4x4(0..3) | |
92. copy_4_constants $21..24 = testMatrix4x4(4..7) | |
93. copy_4_constants $25..28 = testMatrix4x4(8..11) | |
94. copy_4_constants $29..32 = testMatrix4x4(12..15) | |
95. cmpeq_n_floats $1..16 = equal($1..16, $17..32) | |
96. bitwise_and_4_ints $9..12 &= $13..16 | |
97. bitwise_and_4_ints $5..8 &= $9..12 | |
98. bitwise_and_4_ints $1..4 &= $5..8 | |
99. bitwise_and_2_ints $1..2 &= $3..4 | |
100. bitwise_and_int $1 &= $2 | |
101. label label 0x00000004 | |
102. copy_slot_masked $0 = Mask($1) | |
103. label label 0x00000003 | |
104. load_condition_mask CondMask = $35 | |
105. swizzle_4 $0..3 = ($0..3).xxxx | |
106. copy_4_constants $4..7 = colorRed | |
107. copy_4_constants $8..11 = colorGreen | |
108. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) | |
109. load_src src.rgba = $0..3 |