1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. copy_4_constants $0..3 = testInputs | |
4. copy_4_slots_unmasked v = $0..3 | |
5. zero_slot_unmasked $0 = 0 | |
6. copy_4_slots_unmasked $1..4 = v | |
7. swizzle_3 $1..3 = ($1..3).zyx | |
8. copy_4_slots_unmasked v = $0..3 | |
9. zero_2_slots_unmasked $0..1 = 0 | |
10. copy_4_slots_unmasked $2..5 = v | |
11. swizzle_1 $3 = ($3..5).z | |
12. copy_4_slots_unmasked v = $0..3 | |
13. copy_constant $0 = 0x3F800000 (1.0) | |
14. copy_constant $1 = 0x3F800000 (1.0) | |
15. copy_4_slots_unmasked $2..5 = v | |
16. swizzle_2 $2..3 = ($2..5).wx | |
17. copy_4_slots_unmasked v = $0..3 | |
18. swizzle_2 $0..1 = ($0..2).zy | |
19. copy_constant $2 = 0x3F800000 (1.0) | |
20. copy_constant $3 = 0x3F800000 (1.0) | |
21. copy_4_slots_unmasked v = $0..3 | |
22. swizzle_2 $0..1 = ($0..1).xx | |
23. copy_constant $2 = 0x3F800000 (1.0) | |
24. copy_constant $3 = 0x3F800000 (1.0) | |
25. copy_4_slots_unmasked v = $0..3 | |
26. swizzle_4 $0..3 = ($0..3).wzwz | |
27. copy_4_slots_unmasked v = $0..3 | |
28. store_return_mask $0 = RetMask | |
29. copy_4_slots_unmasked $1..4 = v | |
30. copy_4_slots_unmasked v = $1..4 | |
31. copy_constant x = 0x00000001 (1.401298e-45) | |
32. store_loop_mask $1 = LoopMask | |
33. jump jump +10 (#43) | |
34. zero_slot_unmasked [for-loop continue mask 0] = 0 | |
35. copy_slot_unmasked $2 = v(0) | |
36. copy_slot_masked [fn].result = Mask($2) | |
37. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
38. reenable_loop_mask LoopMask |= [for-loop continue mask 0] | |
39. copy_slot_unmasked $2 = x | |
40. copy_constant $3 = 0x00000001 (1.401298e-45) | |
41. add_int $2 += $3 | |
42. copy_slot_masked x = Mask($2) | |
43. copy_slot_unmasked $2 = x | |
44. copy_constant $3 = 0x00000002 (2.802597e-45) | |
45. cmple_int $2 = lessThanEqual($2, $3) | |
46. merge_loop_mask LoopMask &= $2 | |
47. stack_rewind | |
48. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#34) | |
49. load_loop_mask LoopMask = $1 | |
50. load_return_mask RetMask = $0 | |
51. copy_slot_unmasked $0 = [fn].result | |
52. copy_constant $1 = 0x42F60000 (123.0) | |
53. copy_constant $2 = 0x43E40000 (456.0) | |
54. swizzle_4 $0..3 = ($0..3).yyzz | |
55. copy_4_slots_unmasked v = $0..3 | |
56. store_return_mask $0 = RetMask | |
57. copy_4_slots_unmasked $1..4 = v | |
58. copy_4_slots_unmasked v = $1..4 | |
59. copy_constant x = 0x00000001 (1.401298e-45) | |
60. store_loop_mask $1 = LoopMask | |
61. jump jump +10 (#71) | |
62. zero_slot_unmasked [for-loop continue mask 1] = 0 | |
63. copy_slot_unmasked $2 = v(0) | |
64. copy_slot_masked [fn].result = Mask($2) | |
65. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
66. reenable_loop_mask LoopMask |= [for-loop continue mask 1] | |
67. copy_slot_unmasked $2 = x | |
68. copy_constant $3 = 0x00000001 (1.401298e-45) | |
69. add_int $2 += $3 | |
70. copy_slot_masked x = Mask($2) | |
71. copy_slot_unmasked $2 = x | |
72. copy_constant $3 = 0x00000002 (2.802597e-45) | |
73. cmple_int $2 = lessThanEqual($2, $3) | |
74. merge_loop_mask LoopMask &= $2 | |
75. stack_rewind | |
76. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#62) | |
77. load_loop_mask LoopMask = $1 | |
78. load_return_mask RetMask = $0 | |
79. copy_slot_unmasked $0 = [fn].result | |
80. copy_constant $1 = 0x42F60000 (123.0) | |
81. copy_constant $2 = 0x43E40000 (456.0) | |
82. swizzle_4 $0..3 = ($0..3).yyzz | |
83. copy_4_slots_unmasked v = $0..3 | |
84. copy_constant $0 = 0x42F60000 (123.0) | |
85. copy_constant $1 = 0x43E40000 (456.0) | |
86. copy_constant $2 = 0x43E40000 (456.0) | |
87. store_return_mask $3 = RetMask | |
88. copy_4_slots_unmasked $4..7 = v | |
89. copy_4_slots_unmasked v = $4..7 | |
90. copy_constant x = 0x00000001 (1.401298e-45) | |
91. store_loop_mask $4 = LoopMask | |
92. jump jump +10 (#102) | |
93. zero_slot_unmasked [for-loop continue mask 2] = 0 | |
94. copy_slot_unmasked $5 = v(0) | |
95. copy_slot_masked [fn].result = Mask($5) | |
96. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
97. reenable_loop_mask LoopMask |= [for-loop continue mask 2] | |
98. copy_slot_unmasked $5 = x | |
99. copy_constant $6 = 0x00000001 (1.401298e-45) | |
100. add_int $5 += $6 | |
101. copy_slot_masked x = Mask($5) | |
102. copy_slot_unmasked $5 = x | |
103. copy_constant $6 = 0x00000002 (2.802597e-45) | |
104. cmple_int $5 = lessThanEqual($5, $6) | |
105. merge_loop_mask LoopMask &= $5 | |
106. stack_rewind | |
107. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#93) | |
108. load_loop_mask LoopMask = $4 | |
109. load_return_mask RetMask = $3 | |
110. copy_slot_unmasked $3 = [fn].result | |
111. copy_4_slots_unmasked v = $0..3 | |
112. copy_constant $0 = 0x42F60000 (123.0) | |
113. copy_constant $1 = 0x43E40000 (456.0) | |
114. copy_constant $2 = 0x43E40000 (456.0) | |
115. store_return_mask $3 = RetMask | |
116. copy_4_slots_unmasked $4..7 = v | |
117. copy_4_slots_unmasked v = $4..7 | |
118. copy_constant x = 0x00000001 (1.401298e-45) | |
119. store_loop_mask $4 = LoopMask | |
120. jump jump +10 (#130) | |
121. zero_slot_unmasked [for-loop continue mask 3] = 0 | |
122. copy_slot_unmasked $5 = v(0) | |
123. copy_slot_masked [fn].result = Mask($5) | |
124. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
125. reenable_loop_mask LoopMask |= [for-loop continue mask 3] | |
126. copy_slot_unmasked $5 = x | |
127. copy_constant $6 = 0x00000001 (1.401298e-45) | |
128. add_int $5 += $6 | |
129. copy_slot_masked x = Mask($5) | |
130. copy_slot_unmasked $5 = x | |
131. copy_constant $6 = 0x00000002 (2.802597e-45) | |
132. cmple_int $5 = lessThanEqual($5, $6) | |
133. merge_loop_mask LoopMask &= $5 | |
134. stack_rewind | |
135. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#121) | |
136. load_loop_mask LoopMask = $4 | |
137. load_return_mask RetMask = $3 | |
138. copy_slot_unmasked $3 = [fn].result | |
139. copy_4_slots_unmasked v = $0..3 | |
140. store_return_mask $0 = RetMask | |
141. copy_4_slots_unmasked $1..4 = v | |
142. copy_4_slots_unmasked v = $1..4 | |
143. copy_constant x = 0x00000001 (1.401298e-45) | |
144. store_loop_mask $1 = LoopMask | |
145. jump jump +10 (#155) | |
146. zero_slot_unmasked [for-loop continue mask 4] = 0 | |
147. copy_slot_unmasked $2 = v(0) | |
148. copy_slot_masked [fn].result = Mask($2) | |
149. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
150. reenable_loop_mask LoopMask |= [for-loop continue mask 4] | |
151. copy_slot_unmasked $2 = x | |
152. copy_constant $3 = 0x00000001 (1.401298e-45) | |
153. add_int $2 += $3 | |
154. copy_slot_masked x = Mask($2) | |
155. copy_slot_unmasked $2 = x | |
156. copy_constant $3 = 0x00000002 (2.802597e-45) | |
157. cmple_int $2 = lessThanEqual($2, $3) | |
158. merge_loop_mask LoopMask &= $2 | |
159. stack_rewind | |
160. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#146) | |
161. load_loop_mask LoopMask = $1 | |
162. load_return_mask RetMask = $0 | |
163. copy_slot_unmasked $0 = [fn].result | |
164. copy_constant $1 = 0x42F60000 (123.0) | |
165. copy_constant $2 = 0x43E40000 (456.0) | |
166. swizzle_4 $0..3 = ($0..3).yxxz | |
167. copy_4_slots_unmasked v = $0..3 | |
168. store_return_mask $0 = RetMask | |
169. copy_4_slots_unmasked $1..4 = v | |
170. copy_4_slots_unmasked v = $1..4 | |
171. copy_constant x = 0x00000001 (1.401298e-45) | |
172. store_loop_mask $1 = LoopMask | |
173. jump jump +10 (#183) | |
174. zero_slot_unmasked [for-loop continue mask 5] = 0 | |
175. copy_slot_unmasked $2 = v(0) | |
176. copy_slot_masked [fn].result = Mask($2) | |
177. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
178. reenable_loop_mask LoopMask |= [for-loop continue mask 5] | |
179. copy_slot_unmasked $2 = x | |
180. copy_constant $3 = 0x00000001 (1.401298e-45) | |
181. add_int $2 += $3 | |
182. copy_slot_masked x = Mask($2) | |
183. copy_slot_unmasked $2 = x | |
184. copy_constant $3 = 0x00000002 (2.802597e-45) | |
185. cmple_int $2 = lessThanEqual($2, $3) | |
186. merge_loop_mask LoopMask &= $2 | |
187. stack_rewind | |
188. branch_if_any_active_lanes branch_if_any_active_lanes -14 (#174) | |
189. load_loop_mask LoopMask = $1 | |
190. load_return_mask RetMask = $0 | |
191. copy_slot_unmasked $0 = [fn].result | |
192. copy_constant $1 = 0x42F60000 (123.0) | |
193. copy_constant $2 = 0x43E40000 (456.0) | |
194. swizzle_4 $0..3 = ($0..3).yxxz | |
195. copy_4_slots_unmasked v = $0..3 | |
196. copy_constant $0 = 0x3F800000 (1.0) | |
197. copy_constant $1 = 0x3F800000 (1.0) | |
198. copy_constant $2 = 0x40000000 (2.0) | |
199. copy_constant $3 = 0x40400000 (3.0) | |
200. copy_4_slots_unmasked v = $0..3 | |
201. copy_3_constants $0..2 = colorRed(0..2) | |
202. copy_constant $3 = 0x3F800000 (1.0) | |
203. copy_4_slots_unmasked v = $0..3 | |
204. copy_constant $0 = colorRed(0) | |
205. copy_constant $1 = 0x3F800000 (1.0) | |
206. copy_2_constants $2..3 = colorRed(1..2) | |
207. copy_4_slots_unmasked v = $0..3 | |
208. copy_slot_unmasked v(3) = $0 | |
209. copy_slot_unmasked v(2) = $1 | |
210. copy_slot_unmasked v(1) = $2 | |
211. copy_slot_unmasked v(0) = $3 | |
212. copy_2_slots_unmasked $0..1 = v(1..2) | |
213. copy_slot_unmasked v(0) = $0 | |
214. copy_slot_unmasked v(3) = $1 | |
215. copy_4_slots_unmasked $0..3 = v | |
216. swizzle_2 $0..1 = ($0..3).ww | |
217. copy_constant $2 = 0x3F800000 (1.0) | |
218. copy_slot_unmasked v(2) = $0 | |
219. copy_slot_unmasked v(1) = $1 | |
220. copy_slot_unmasked v(0) = $2 | |
221. store_condition_mask $8 = CondMask | |
222. copy_4_slots_unmasked $9..12 = v | |
223. copy_constant $13 = 0x3F800000 (1.0) | |
224. swizzle_4 $13..16 = ($13..16).xxxx | |
225. cmpeq_4_floats $9..12 = equal($9..12, $13..16) | |
226. bitwise_and_2_ints $9..10 &= $11..12 | |
227. bitwise_and_int $9 &= $10 | |
228. copy_4_constants $0..3 = colorRed | |
229. merge_condition_mask CondMask = $8 & $9 | |
230. copy_4_constants $4..7 = colorGreen | |
231. copy_4_slots_masked $0..3 = Mask($4..7) | |
232. load_condition_mask CondMask = $8 | |
233. copy_4_slots_unmasked [main].result = $0..3 | |
234. load_src src.rgba = [main].result |