1. store_device_xy01 $54..57 = DeviceCoords.xy01 | |
2. copy_constant $56 = 0x3F000000 (0.5) | |
3. copy_constant $57 = 0x3F000000 (0.5) | |
4. cmpeq_2_floats $54..55 = equal($54..55, $56..57) | |
5. bitwise_and_int $54 &= $55 | |
6. store_src_rg coords = src.rg | |
7. init_lane_masks CondMask = LoopMask = RetMask = true | |
8. trace_enter TraceEnter(half4 main(float2 coords)) when $54 is true | |
9. trace_var TraceVar(coords) when $54 is true | |
10. trace_scope TraceScope(+1) when $54 is true | |
11. trace_line TraceLine(28) when $54 is true | |
12. store_condition_mask $35 = CondMask | |
13. branch_if_no_lanes_active branch_if_no_lanes_active +65 (label 2 at #78) | |
14. trace_enter TraceEnter(bool test3x3()) when $54 is true | |
15. trace_scope TraceScope(+1) when $54 is true | |
16. trace_line TraceLine(8) when $54 is true | |
17. zero_4_slots_unmasked matrix(0..3) = 0 | |
18. zero_4_slots_unmasked matrix(4..7) = 0 | |
19. zero_slot_unmasked matrix(8) = 0 | |
20. trace_var TraceVar(matrix) when $54 is true | |
21. trace_line TraceLine(9) when $54 is true | |
22. copy_constant values(0) = 0x3F800000 (1.0) | |
23. copy_constant values(1) = 0x40000000 (2.0) | |
24. copy_constant values(2) = 0x40400000 (3.0) | |
25. trace_var TraceVar(values) when $54 is true | |
26. trace_scope TraceScope(+1) when $54 is true | |
27. branch_if_no_lanes_active branch_if_no_lanes_active +32 (label 3 at #59) | |
28. trace_line TraceLine(10) when $54 is true | |
29. zero_slot_unmasked index = 0 | |
30. trace_var TraceVar(index) when $54 is true | |
31. label label 0x00000004 | |
32. trace_scope TraceScope(+1) when $54 is true | |
33. trace_line TraceLine(11) when $54 is true | |
34. copy_slot_unmasked $33 = index | |
35. copy_constant $34 = 0x00000003 (4.203895e-45) | |
36. mul_int $33 *= $34 | |
37. copy_3_slots_unmasked $36..38 = values | |
38. copy_to_indirect_masked Indirect(matrix(0..2) + $33) = Mask($36..38) | |
39. trace_var TraceVar(matrix(0..2) + $33) when $54 is true | |
40. trace_line TraceLine(12) when $54 is true | |
41. copy_3_slots_unmasked $36..38 = values | |
42. copy_constant $39 = 0x40400000 (3.0) | |
43. swizzle_3 $39..41 = ($39..41).xxx | |
44. add_3_floats $36..38 += $39..41 | |
45. copy_3_slots_masked values = Mask($36..38) | |
46. trace_var TraceVar(values) when $54 is true | |
47. trace_scope TraceScope(-1) when $54 is true | |
48. trace_line TraceLine(10) when $54 is true | |
49. copy_slot_unmasked $36 = index | |
50. copy_constant $37 = 0x00000001 (1.401298e-45) | |
51. add_int $36 += $37 | |
52. copy_slot_masked index = Mask($36) | |
53. trace_var TraceVar(index) when $54 is true | |
54. copy_slot_unmasked $36 = index | |
55. copy_constant $37 = 0x00000003 (4.203895e-45) | |
56. cmplt_int $36 = lessThan($36, $37) | |
57. stack_rewind | |
58. branch_if_no_active_lanes_eq branch -27 (label 4 at #31) if no lanes of $36 == 0x00000000 (0.0) | |
59. label label 0x00000003 | |
60. trace_scope TraceScope(-1) when $54 is true | |
61. trace_line TraceLine(14) when $54 is true | |
62. copy_4_slots_unmasked $36..39 = matrix(0..3) | |
63. copy_4_slots_unmasked $40..43 = matrix(4..7) | |
64. copy_slot_unmasked $44 = matrix(8) | |
65. copy_4_constants $45..48 = testMatrix3x3(0..3) | |
66. copy_4_constants $49..52 = testMatrix3x3(4..7) | |
67. copy_constant $53 = testMatrix3x3(8) | |
68. cmpeq_n_floats $36..44 = equal($36..44, $45..53) | |
69. bitwise_and_4_ints $37..40 &= $41..44 | |
70. bitwise_and_2_ints $37..38 &= $39..40 | |
71. bitwise_and_int $37 &= $38 | |
72. bitwise_and_int $36 &= $37 | |
73. copy_slot_masked [test3x3].result = Mask($36) | |
74. trace_var TraceVar([test3x3].result) when $54 is true | |
75. trace_scope TraceScope(-1) when $54 is true | |
76. trace_exit TraceExit(bool test3x3()) when $54 is true | |
77. copy_slot_unmasked $36 = [test3x3].result | |
78. label label 0x00000002 | |
79. zero_slot_unmasked $0 = 0 | |
80. merge_condition_mask CondMask = $35 & $36 | |
81. branch_if_no_lanes_active branch_if_no_lanes_active +72 (label 1 at #153) | |
82. trace_enter TraceEnter(bool test4x4()) when $54 is true | |
83. trace_scope TraceScope(+1) when $54 is true | |
84. trace_line TraceLine(18) when $54 is true | |
85. zero_4_slots_unmasked matrix₁(0..3) = 0 | |
86. zero_4_slots_unmasked matrix₁(4..7) = 0 | |
87. zero_4_slots_unmasked matrix₁(8..11) = 0 | |
88. zero_4_slots_unmasked matrix₁(12..15) = 0 | |
89. trace_var TraceVar(matrix₁) when $54 is true | |
90. trace_line TraceLine(19) when $54 is true | |
91. copy_constant values₁(0) = 0x3F800000 (1.0) | |
92. copy_constant values₁(1) = 0x40000000 (2.0) | |
93. copy_constant values₁(2) = 0x40400000 (3.0) | |
94. copy_constant values₁(3) = 0x40800000 (4.0) | |
95. trace_var TraceVar(values₁) when $54 is true | |
96. trace_scope TraceScope(+1) when $54 is true | |
97. branch_if_no_lanes_active branch_if_no_lanes_active +32 (label 6 at #129) | |
98. trace_line TraceLine(20) when $54 is true | |
99. zero_slot_unmasked index₁ = 0 | |
100. trace_var TraceVar(index₁) when $54 is true | |
101. label label 0x00000007 | |
102. trace_scope TraceScope(+1) when $54 is true | |
103. trace_line TraceLine(21) when $54 is true | |
104. copy_slot_unmasked $33 = index₁ | |
105. copy_constant $34 = 0x00000004 (5.605194e-45) | |
106. mul_int $33 *= $34 | |
107. copy_4_slots_unmasked $1..4 = values₁ | |
108. copy_to_indirect_masked Indirect(matrix₁(0..3) + $33) = Mask($1..4) | |
109. trace_var TraceVar(matrix₁(0..3) + $33) when $54 is true | |
110. trace_line TraceLine(22) when $54 is true | |
111. copy_4_slots_unmasked $1..4 = values₁ | |
112. copy_constant $5 = 0x40800000 (4.0) | |
113. swizzle_4 $5..8 = ($5..8).xxxx | |
114. add_4_floats $1..4 += $5..8 | |
115. copy_4_slots_masked values₁ = Mask($1..4) | |
116. trace_var TraceVar(values₁) when $54 is true | |
117. trace_scope TraceScope(-1) when $54 is true | |
118. trace_line TraceLine(20) when $54 is true | |
119. copy_slot_unmasked $1 = index₁ | |
120. copy_constant $2 = 0x00000001 (1.401298e-45) | |
121. add_int $1 += $2 | |
122. copy_slot_masked index₁ = Mask($1) | |
123. trace_var TraceVar(index₁) when $54 is true | |
124. copy_slot_unmasked $1 = index₁ | |
125. copy_constant $2 = 0x00000004 (5.605194e-45) | |
126. cmplt_int $1 = lessThan($1, $2) | |
127. stack_rewind | |
128. branch_if_no_active_lanes_eq branch -27 (label 7 at #101) if no lanes of $1 == 0x00000000 (0.0) | |
129. label label 0x00000006 | |
130. trace_scope TraceScope(-1) when $54 is true | |
131. trace_line TraceLine(24) when $54 is true | |
132. copy_4_slots_unmasked $1..4 = matrix₁(0..3) | |
133. copy_4_slots_unmasked $5..8 = matrix₁(4..7) | |
134. copy_4_slots_unmasked $9..12 = matrix₁(8..11) | |
135. copy_4_slots_unmasked $13..16 = matrix₁(12..15) | |
136. copy_4_constants $17..20 = testMatrix4x4(0..3) | |
137. copy_4_constants $21..24 = testMatrix4x4(4..7) | |
138. copy_4_constants $25..28 = testMatrix4x4(8..11) | |
139. copy_4_constants $29..32 = testMatrix4x4(12..15) | |
140. cmpeq_n_floats $1..16 = equal($1..16, $17..32) | |
141. bitwise_and_4_ints $9..12 &= $13..16 | |
142. bitwise_and_4_ints $5..8 &= $9..12 | |
143. bitwise_and_4_ints $1..4 &= $5..8 | |
144. bitwise_and_2_ints $1..2 &= $3..4 | |
145. bitwise_and_int $1 &= $2 | |
146. copy_slot_masked [test4x4].result = Mask($1) | |
147. trace_var TraceVar([test4x4].result) when $54 is true | |
148. trace_scope TraceScope(-1) when $54 is true | |
149. trace_exit TraceExit(bool test4x4()) when $54 is true | |
150. copy_slot_unmasked $1 = [test4x4].result | |
151. label label 0x00000005 | |
152. copy_slot_masked $0 = Mask($1) | |
153. label label 0x00000001 | |
154. load_condition_mask CondMask = $35 | |
155. swizzle_4 $0..3 = ($0..3).xxxx | |
156. copy_4_constants $4..7 = colorRed | |
157. copy_4_constants $8..11 = colorGreen | |
158. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) | |
159. copy_4_slots_unmasked [main].result = $0..3 | |
160. trace_var TraceVar([main].result) when $54 is true | |
161. trace_scope TraceScope(-1) when $54 is true | |
162. trace_exit TraceExit(half4 main(float2 coords)) when $54 is true | |
163. load_src src.rgba = [main].result |