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 v₁ = v | |
30. copy_constant x = 0x00000001 (1.401298e-45) | |
31. store_loop_mask $1 = LoopMask | |
32. jump jump +9 (label 2 at #41) | |
33. label label 0x00000003 | |
34. copy_slot_unmasked $2 = v₁(0) | |
35. copy_slot_masked [fn].result = Mask($2) | |
36. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
37. copy_slot_unmasked $2 = x | |
38. copy_constant $3 = 0x00000001 (1.401298e-45) | |
39. add_int $2 += $3 | |
40. copy_slot_masked x = Mask($2) | |
41. label label 0x00000002 | |
42. copy_slot_unmasked $2 = x | |
43. copy_constant $3 = 0x00000002 (2.802597e-45) | |
44. cmple_int $2 = lessThanEqual($2, $3) | |
45. merge_loop_mask LoopMask &= $2 | |
46. stack_rewind | |
47. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 3 at #33) | |
48. label label 0x00000001 | |
49. load_loop_mask LoopMask = $1 | |
50. load_return_mask RetMask = $0 | |
51. copy_slot_unmasked $0 = [fn].result | |
52. label label 0x00000000 | |
53. copy_constant $1 = 0x42F60000 (123.0) | |
54. copy_constant $2 = 0x43E40000 (456.0) | |
55. swizzle_4 $0..3 = ($0..3).yyzz | |
56. copy_4_slots_unmasked v = $0..3 | |
57. store_return_mask $0 = RetMask | |
58. copy_4_slots_unmasked v₁ = v | |
59. copy_constant x = 0x00000001 (1.401298e-45) | |
60. store_loop_mask $1 = LoopMask | |
61. jump jump +9 (label 6 at #70) | |
62. label label 0x00000007 | |
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. copy_slot_unmasked $2 = x | |
67. copy_constant $3 = 0x00000001 (1.401298e-45) | |
68. add_int $2 += $3 | |
69. copy_slot_masked x = Mask($2) | |
70. label label 0x00000006 | |
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_lanes_active branch_if_any_lanes_active -14 (label 7 at #62) | |
77. label label 0x00000005 | |
78. load_loop_mask LoopMask = $1 | |
79. load_return_mask RetMask = $0 | |
80. copy_slot_unmasked $0 = [fn].result | |
81. label label 0x00000004 | |
82. copy_constant $1 = 0x42F60000 (123.0) | |
83. copy_constant $2 = 0x43E40000 (456.0) | |
84. swizzle_4 $0..3 = ($0..3).yyzz | |
85. copy_4_slots_unmasked v = $0..3 | |
86. copy_constant $0 = 0x42F60000 (123.0) | |
87. copy_constant $1 = 0x43E40000 (456.0) | |
88. copy_constant $2 = 0x43E40000 (456.0) | |
89. store_return_mask $3 = RetMask | |
90. copy_4_slots_unmasked v₁ = v | |
91. copy_constant x = 0x00000001 (1.401298e-45) | |
92. store_loop_mask $4 = LoopMask | |
93. jump jump +9 (label 10 at #102) | |
94. label label 0x0000000B | |
95. copy_slot_unmasked $5 = v₁(0) | |
96. copy_slot_masked [fn].result = Mask($5) | |
97. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
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. label label 0x0000000A | |
103. copy_slot_unmasked $5 = x | |
104. copy_constant $6 = 0x00000002 (2.802597e-45) | |
105. cmple_int $5 = lessThanEqual($5, $6) | |
106. merge_loop_mask LoopMask &= $5 | |
107. stack_rewind | |
108. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 11 at #94) | |
109. label label 0x00000009 | |
110. load_loop_mask LoopMask = $4 | |
111. load_return_mask RetMask = $3 | |
112. copy_slot_unmasked $3 = [fn].result | |
113. label label 0x00000008 | |
114. copy_4_slots_unmasked v = $0..3 | |
115. copy_constant $0 = 0x42F60000 (123.0) | |
116. copy_constant $1 = 0x43E40000 (456.0) | |
117. copy_constant $2 = 0x43E40000 (456.0) | |
118. store_return_mask $3 = RetMask | |
119. copy_4_slots_unmasked v₁ = v | |
120. copy_constant x = 0x00000001 (1.401298e-45) | |
121. store_loop_mask $4 = LoopMask | |
122. jump jump +9 (label 14 at #131) | |
123. label label 0x0000000F | |
124. copy_slot_unmasked $5 = v₁(0) | |
125. copy_slot_masked [fn].result = Mask($5) | |
126. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
127. copy_slot_unmasked $5 = x | |
128. copy_constant $6 = 0x00000001 (1.401298e-45) | |
129. add_int $5 += $6 | |
130. copy_slot_masked x = Mask($5) | |
131. label label 0x0000000E | |
132. copy_slot_unmasked $5 = x | |
133. copy_constant $6 = 0x00000002 (2.802597e-45) | |
134. cmple_int $5 = lessThanEqual($5, $6) | |
135. merge_loop_mask LoopMask &= $5 | |
136. stack_rewind | |
137. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 15 at #123) | |
138. label label 0x0000000D | |
139. load_loop_mask LoopMask = $4 | |
140. load_return_mask RetMask = $3 | |
141. copy_slot_unmasked $3 = [fn].result | |
142. label label 0x0000000C | |
143. copy_4_slots_unmasked v = $0..3 | |
144. store_return_mask $0 = RetMask | |
145. copy_4_slots_unmasked v₁ = v | |
146. copy_constant x = 0x00000001 (1.401298e-45) | |
147. store_loop_mask $1 = LoopMask | |
148. jump jump +9 (label 18 at #157) | |
149. label label 0x00000013 | |
150. copy_slot_unmasked $2 = v₁(0) | |
151. copy_slot_masked [fn].result = Mask($2) | |
152. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
153. copy_slot_unmasked $2 = x | |
154. copy_constant $3 = 0x00000001 (1.401298e-45) | |
155. add_int $2 += $3 | |
156. copy_slot_masked x = Mask($2) | |
157. label label 0x00000012 | |
158. copy_slot_unmasked $2 = x | |
159. copy_constant $3 = 0x00000002 (2.802597e-45) | |
160. cmple_int $2 = lessThanEqual($2, $3) | |
161. merge_loop_mask LoopMask &= $2 | |
162. stack_rewind | |
163. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 19 at #149) | |
164. label label 0x00000011 | |
165. load_loop_mask LoopMask = $1 | |
166. load_return_mask RetMask = $0 | |
167. copy_slot_unmasked $0 = [fn].result | |
168. label label 0x00000010 | |
169. copy_constant $1 = 0x42F60000 (123.0) | |
170. copy_constant $2 = 0x43E40000 (456.0) | |
171. swizzle_4 $0..3 = ($0..3).yxxz | |
172. copy_4_slots_unmasked v = $0..3 | |
173. store_return_mask $0 = RetMask | |
174. copy_4_slots_unmasked v₁ = v | |
175. copy_constant x = 0x00000001 (1.401298e-45) | |
176. store_loop_mask $1 = LoopMask | |
177. jump jump +9 (label 22 at #186) | |
178. label label 0x00000017 | |
179. copy_slot_unmasked $2 = v₁(0) | |
180. copy_slot_masked [fn].result = Mask($2) | |
181. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
182. copy_slot_unmasked $2 = x | |
183. copy_constant $3 = 0x00000001 (1.401298e-45) | |
184. add_int $2 += $3 | |
185. copy_slot_masked x = Mask($2) | |
186. label label 0x00000016 | |
187. copy_slot_unmasked $2 = x | |
188. copy_constant $3 = 0x00000002 (2.802597e-45) | |
189. cmple_int $2 = lessThanEqual($2, $3) | |
190. merge_loop_mask LoopMask &= $2 | |
191. stack_rewind | |
192. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 23 at #178) | |
193. label label 0x00000015 | |
194. load_loop_mask LoopMask = $1 | |
195. load_return_mask RetMask = $0 | |
196. copy_slot_unmasked $0 = [fn].result | |
197. label label 0x00000014 | |
198. copy_constant $1 = 0x42F60000 (123.0) | |
199. copy_constant $2 = 0x43E40000 (456.0) | |
200. swizzle_4 $0..3 = ($0..3).yxxz | |
201. copy_4_slots_unmasked v = $0..3 | |
202. copy_constant $0 = 0x3F800000 (1.0) | |
203. copy_constant $1 = 0x3F800000 (1.0) | |
204. copy_constant $2 = 0x40000000 (2.0) | |
205. copy_constant $3 = 0x40400000 (3.0) | |
206. copy_4_slots_unmasked v = $0..3 | |
207. copy_3_constants $0..2 = colorRed(0..2) | |
208. copy_constant $3 = 0x3F800000 (1.0) | |
209. copy_4_slots_unmasked v = $0..3 | |
210. copy_constant $0 = colorRed(0) | |
211. copy_constant $1 = 0x3F800000 (1.0) | |
212. copy_2_constants $2..3 = colorRed(1..2) | |
213. copy_4_slots_unmasked v = $0..3 | |
214. swizzle_copy_4_slots_masked (v).wzyx = Mask($0..3) | |
215. copy_2_slots_unmasked $0..1 = v(1..2) | |
216. swizzle_copy_2_slots_masked (v).xw = Mask($0..1) | |
217. copy_4_slots_unmasked $0..3 = v | |
218. swizzle_2 $0..1 = ($0..3).ww | |
219. copy_constant $2 = 0x3F800000 (1.0) | |
220. swizzle_copy_3_slots_masked (v(0..2)).zyx = Mask($0..2) | |
221. copy_4_slots_unmasked $0..3 = v | |
222. copy_constant $4 = 0x3F800000 (1.0) | |
223. swizzle_4 $4..7 = ($4..7).xxxx | |
224. cmpeq_4_floats $0..3 = equal($0..3, $4..7) | |
225. bitwise_and_2_ints $0..1 &= $2..3 | |
226. bitwise_and_int $0 &= $1 | |
227. swizzle_4 $0..3 = ($0..3).xxxx | |
228. copy_4_constants $4..7 = colorRed | |
229. copy_4_constants $8..11 = colorGreen | |
230. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) | |
231. load_src src.rgba = $0..3 |