1. store_device_xy01 $10..13 = DeviceCoords.xy01 | |
2. copy_constant $12 = 0x3F000000 (0.5) | |
3. copy_constant $13 = 0x3F000000 (0.5) | |
4. cmpeq_2_floats $10..11 = equal($10..11, $12..13) | |
5. bitwise_and_int $10 &= $11 | |
6. store_src_rg xy = src.rg | |
7. init_lane_masks CondMask = LoopMask = RetMask = true | |
8. trace_enter TraceEnter(float4 main(float2 xy)) when $10 is true | |
9. trace_var TraceVar(xy) when $10 is true | |
10. trace_scope TraceScope(+1) when $10 is true | |
11. trace_line TraceLine(38) when $10 is true | |
12. trace_enter TraceEnter(float index_by_literal()) when $10 is true | |
13. trace_scope TraceScope(+1) when $10 is true | |
14. trace_line TraceLine(5) when $10 is true | |
15. copy_constant $0 = u1[0] | |
16. copy_slot_unmasked [index_by_literal].result = $0 | |
17. trace_var TraceVar([index_by_literal].result) when $10 is true | |
18. trace_scope TraceScope(-1) when $10 is true | |
19. trace_exit TraceExit(float index_by_literal()) when $10 is true | |
20. copy_slot_unmasked $0 = [index_by_literal].result | |
21. label label 0x00000000 | |
22. trace_enter TraceEnter(float index_by_loop()) when $10 is true | |
23. trace_scope TraceScope(+1) when $10 is true | |
24. trace_line TraceLine(10) when $10 is true | |
25. zero_slot_unmasked sum = 0 | |
26. trace_var TraceVar(sum) when $10 is true | |
27. trace_scope TraceScope(+1) when $10 is true | |
28. trace_line TraceLine(11) when $10 is true | |
29. copy_constant i = 0x00000003 (4.203895e-45) | |
30. trace_var TraceVar(i) when $10 is true | |
31. label label 0x00000003 | |
32. trace_scope TraceScope(+1) when $10 is true | |
33. trace_line TraceLine(12) when $10 is true | |
34. copy_slot_unmasked $1 = sum | |
35. copy_slot_unmasked $7 = i | |
36. copy_from_indirect_uniform_unm $2 = Indirect(u2[0] + $7) | |
37. add_float $1 += $2 | |
38. copy_slot_unmasked sum = $1 | |
39. trace_var TraceVar(sum) when $10 is true | |
40. trace_scope TraceScope(-1) when $10 is true | |
41. trace_line TraceLine(11) when $10 is true | |
42. copy_slot_unmasked $1 = i | |
43. copy_constant $2 = 0x00000001 (1.401298e-45) | |
44. sub_int $1 -= $2 | |
45. copy_slot_unmasked i = $1 | |
46. trace_var TraceVar(i) when $10 is true | |
47. zero_slot_unmasked $1 = 0 | |
48. copy_slot_unmasked $2 = i | |
49. cmple_int $1 = lessThanEqual($1, $2) | |
50. stack_rewind | |
51. branch_if_no_active_lanes_eq branch -20 (label 3 at #31) if no lanes of $1 == 0x00000000 (0.0) | |
52. label label 0x00000002 | |
53. trace_scope TraceScope(-1) when $10 is true | |
54. trace_line TraceLine(14) when $10 is true | |
55. copy_slot_unmasked [index_by_loop].result = sum | |
56. trace_var TraceVar([index_by_loop].result) when $10 is true | |
57. trace_scope TraceScope(-1) when $10 is true | |
58. trace_exit TraceExit(float index_by_loop()) when $10 is true | |
59. copy_slot_unmasked $1 = [index_by_loop].result | |
60. label label 0x00000001 | |
61. trace_enter TraceEnter(float index_by_complex_loop()) when $10 is true | |
62. trace_scope TraceScope(+1) when $10 is true | |
63. trace_line TraceLine(19) when $10 is true | |
64. copy_constant prod = 0x3F800000 (1.0) | |
65. trace_var TraceVar(prod) when $10 is true | |
66. trace_scope TraceScope(+1) when $10 is true | |
67. trace_line TraceLine(20) when $10 is true | |
68. zero_slot_unmasked i₁ = 0 | |
69. trace_var TraceVar(i₁) when $10 is true | |
70. label label 0x00000006 | |
71. trace_scope TraceScope(+1) when $10 is true | |
72. trace_line TraceLine(21) when $10 is true | |
73. copy_slot_unmasked $2 = prod | |
74. copy_slot_unmasked $7 = i₁ | |
75. copy_constant $8 = 0x00000002 (2.802597e-45) | |
76. cmplt_int $7 = lessThan($7, $8) | |
77. copy_slot_unmasked $8 = i₁ | |
78. zero_slot_unmasked $9 = 0 | |
79. mix_int $7 = mix($8, $9, $7) | |
80. copy_from_indirect_uniform_unm $3 = Indirect(u3[0] + $7) | |
81. mul_float $2 *= $3 | |
82. copy_slot_unmasked prod = $2 | |
83. trace_var TraceVar(prod) when $10 is true | |
84. trace_scope TraceScope(-1) when $10 is true | |
85. trace_line TraceLine(20) when $10 is true | |
86. copy_slot_unmasked $2 = i₁ | |
87. copy_constant $3 = 0x00000001 (1.401298e-45) | |
88. add_int $2 += $3 | |
89. copy_slot_unmasked i₁ = $2 | |
90. trace_var TraceVar(i₁) when $10 is true | |
91. copy_slot_unmasked $2 = i₁ | |
92. copy_constant $3 = 0x00000004 (5.605194e-45) | |
93. cmplt_int $2 = lessThan($2, $3) | |
94. stack_rewind | |
95. branch_if_no_active_lanes_eq branch -25 (label 6 at #70) if no lanes of $2 == 0x00000000 (0.0) | |
96. label label 0x00000005 | |
97. trace_scope TraceScope(-1) when $10 is true | |
98. trace_line TraceLine(23) when $10 is true | |
99. copy_slot_unmasked [index_by_complex_loop].result = prod | |
100. trace_var TraceVar([index_by_complex_loop].result) when $10 is true | |
101. trace_scope TraceScope(-1) when $10 is true | |
102. trace_exit TraceExit(float index_by_complex_loop()) when $10 is true | |
103. copy_slot_unmasked $2 = [index_by_complex_loop].result | |
104. label label 0x00000004 | |
105. trace_enter TraceEnter(float index_out_of_bounds_checked()) when $10 is true | |
106. trace_scope TraceScope(+1) when $10 is true | |
107. trace_line TraceLine(28) when $10 is true | |
108. zero_slot_unmasked sum₁ = 0 | |
109. trace_var TraceVar(sum₁) when $10 is true | |
110. trace_scope TraceScope(+1) when $10 is true | |
111. trace_line TraceLine(29) when $10 is true | |
112. copy_constant f = 0xC0133333 (-2.3) | |
113. trace_var TraceVar(f) when $10 is true | |
114. label label 0x0000000A | |
115. trace_scope TraceScope(+1) when $10 is true | |
116. trace_line TraceLine(30) when $10 is true | |
117. store_condition_mask $3 = CondMask | |
118. zero_slot_unmasked $4 = 0 | |
119. copy_slot_unmasked $5 = f | |
120. cmplt_float $4 = lessThan($4, $5) | |
121. copy_slot_unmasked $5 = f | |
122. copy_constant $6 = 0x41800000 (16.0) | |
123. cmplt_float $5 = lessThan($5, $6) | |
124. bitwise_and_int $4 &= $5 | |
125. merge_condition_mask CondMask = $3 & $4 | |
126. trace_scope TraceScope(+1) when $10 is true | |
127. trace_line TraceLine(31) when $10 is true | |
128. copy_slot_unmasked $5 = sum₁ | |
129. copy_slot_unmasked $7 = f | |
130. cast_to_int_from_float $7 = FloatToInt($7) | |
131. copy_from_indirect_uniform_unm $6 = Indirect(u4[0] + $7) | |
132. sub_float $5 -= $6 | |
133. copy_slot_masked sum₁ = Mask($5) | |
134. trace_var TraceVar(sum₁) when $10 is true | |
135. trace_scope TraceScope(-1) when $10 is true | |
136. load_condition_mask CondMask = $3 | |
137. trace_scope TraceScope(-1) when $10 is true | |
138. trace_line TraceLine(29) when $10 is true | |
139. copy_slot_unmasked $3 = f | |
140. copy_constant $4 = 0x406CCCCD (3.7) | |
141. add_float $3 += $4 | |
142. copy_slot_unmasked f = $3 | |
143. trace_var TraceVar(f) when $10 is true | |
144. copy_slot_unmasked $3 = f | |
145. copy_constant $4 = 0x41880000 (17.0) | |
146. cmplt_float $3 = lessThan($3, $4) | |
147. stack_rewind | |
148. branch_if_no_active_lanes_eq branch -34 (label 10 at #114) if no lanes of $3 == 0x00000000 (0.0) | |
149. label label 0x00000009 | |
150. trace_scope TraceScope(-1) when $10 is true | |
151. trace_line TraceLine(34) when $10 is true | |
152. copy_slot_unmasked [index_out_of_bounds_checked].result = sum₁ | |
153. trace_var TraceVar([index_out_of_bounds_checked].result) when $10 is true | |
154. trace_scope TraceScope(-1) when $10 is true | |
155. trace_exit TraceExit(float index_out_of_bounds_checked()) when $10 is true | |
156. copy_slot_unmasked $3 = [index_out_of_bounds_checked].result | |
157. label label 0x00000008 | |
158. copy_4_slots_unmasked [main].result = $0..3 | |
159. trace_var TraceVar([main].result) when $10 is true | |
160. trace_scope TraceScope(-1) when $10 is true | |
161. trace_exit TraceExit(float4 main(float2 xy)) when $10 is true | |
162. load_src src.rgba = [main].result |