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