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