blob: f867df426ba5c846696669eb6883c37273f8eeea [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. zero_4_slots_unmasked zero = 0
4. copy_constant $0 = 0x3F800000 (1.0)
5. swizzle_4 $0..3 = ($0..3).xxxx
6. copy_4_slots_unmasked one = $0..3
7. copy_4_constants $0..3 = colorGreen
8. copy_4_slots_unmasked green = $0..3
9. copy_4_slots_unmasked $4..7 = one
10. mul_4_floats $0..3 *= $4..7
11. copy_4_slots_unmasked $4..7 = zero
12. add_4_floats $0..3 += $4..7
13. copy_4_slots_unmasked green = $0..3
14. copy_4_constants $0..3 = colorRed
15. copy_4_slots_unmasked red = $0..3
16. copy_4_slots_unmasked $4..7 = zero
17. add_4_floats $0..3 += $4..7
18. copy_4_slots_unmasked $4..7 = one
19. mul_4_floats $0..3 *= $4..7
20. copy_4_slots_unmasked red = $0..3
21. store_condition_mask $12 = CondMask
22. store_condition_mask $51 = CondMask
23. store_condition_mask $55 = CondMask
24. store_condition_mask $16 = CondMask
25. store_condition_mask $66 = CondMask
26. store_condition_mask $62 = CondMask
27. branch_if_no_lanes_active branch_if_no_lanes_active +10 (label 7 at #37)
28. copy_constant mp = 0x3F000000 (0.5)
29. copy_slot_unmasked hp = mp
30. copy_constant ihp = 0x00000002 (2.802597e-45)
31. copy_slot_unmasked imp = ihp
32. copy_2_slots_unmasked $63..64 = mp, hp
33. cmpeq_float $63 = equal($63, $64)
34. copy_2_slots_unmasked $64..65 = ihp, imp
35. cmpeq_int $64 = equal($64, $65)
36. bitwise_and_int $63 &= $64
37. label label 0x00000007
38. zero_slot_unmasked $67 = 0
39. merge_condition_mask CondMask = $62 & $63
40. branch_if_no_lanes_active branch_if_no_lanes_active +59 (label 6 at #99)
41. copy_constant $68 = 0x40000000 (2.0)
42. copy_slot_unmasked $69 = $68
43. copy_2_slots_unmasked mp2 = $68..69
44. copy_2_slots_unmasked hp2 = $68..69
45. copy_constant $68 = 0x40400000 (3.0)
46. swizzle_3 $68..70 = ($68..70).xxx
47. copy_3_slots_unmasked mp3 = $68..70
48. copy_3_slots_unmasked hp3 = $68..70
49. copy_constant $68 = 0x40800000 (4.0)
50. swizzle_4 $68..71 = ($68..71).xxxx
51. copy_4_slots_unmasked mp4 = $68..71
52. copy_4_slots_unmasked hp4 = $68..71
53. copy_constant $68 = 0x00000002 (2.802597e-45)
54. copy_slot_unmasked $69 = $68
55. copy_2_slots_unmasked ihp2 = $68..69
56. copy_2_slots_unmasked imp2 = $68..69
57. copy_constant $68 = 0x00000003 (4.203895e-45)
58. swizzle_3 $68..70 = ($68..70).xxx
59. copy_3_slots_unmasked ihp3 = $68..70
60. copy_3_slots_unmasked imp3 = $68..70
61. copy_constant $68 = 0x00000004 (5.605194e-45)
62. swizzle_4 $68..71 = ($68..71).xxxx
63. copy_4_slots_unmasked ihp4 = $68..71
64. copy_4_slots_unmasked imp4 = $68..71
65. copy_4_slots_unmasked $68..71 = mp2, hp2
66. cmpeq_2_floats $68..69 = equal($68..69, $70..71)
67. bitwise_and_int $68 &= $69
68. copy_3_slots_unmasked $69..71 = hp3
69. copy_3_slots_unmasked $72..74 = mp3
70. cmpeq_3_floats $69..71 = equal($69..71, $72..74)
71. bitwise_and_int $70 &= $71
72. bitwise_and_int $69 &= $70
73. bitwise_and_int $68 &= $69
74. copy_4_slots_unmasked $69..72 = mp4
75. copy_4_slots_unmasked $73..76 = hp4
76. cmpeq_4_floats $69..72 = equal($69..72, $73..76)
77. bitwise_and_2_ints $69..70 &= $71..72
78. bitwise_and_int $69 &= $70
79. bitwise_and_int $68 &= $69
80. copy_2_slots_unmasked $69..70 = imp2
81. copy_2_slots_unmasked $71..72 = ihp2
82. cmpeq_2_ints $69..70 = equal($69..70, $71..72)
83. bitwise_and_int $69 &= $70
84. bitwise_and_int $68 &= $69
85. copy_4_slots_unmasked $69..72 = ihp3, imp3(0)
86. copy_2_slots_unmasked $73..74 = imp3(1..2)
87. cmpeq_3_ints $69..71 = equal($69..71, $72..74)
88. bitwise_and_int $70 &= $71
89. bitwise_and_int $69 &= $70
90. bitwise_and_int $68 &= $69
91. copy_4_slots_unmasked $69..72 = imp4
92. copy_4_slots_unmasked $73..76 = ihp4
93. cmpeq_4_ints $69..72 = equal($69..72, $73..76)
94. bitwise_and_2_ints $69..70 &= $71..72
95. bitwise_and_int $69 &= $70
96. bitwise_and_int $68 &= $69
97. label label 0x00000008
98. copy_slot_masked $67 = Mask($68)
99. label label 0x00000006
100. load_condition_mask CondMask = $62
101. zero_slot_unmasked $17 = 0
102. merge_condition_mask CondMask = $66 & $67
103. branch_if_no_lanes_active branch_if_no_lanes_active +60 (label 5 at #163)
104. zero_slot_unmasked $18 = 0
105. copy_constant $19 = 0x40000000 (2.0)
106. swizzle_4 $18..21 = ($18..21).yxxy
107. copy_4_slots_unmasked mp2 = $18..21
108. copy_4_slots_unmasked hp2 = $18..21
109. zero_slot_unmasked $18 = 0
110. copy_constant $19 = 0x40400000 (3.0)
111. shuffle $18..26 = ($18..26)[1 0 0 0 1 0 0 0 1]
112. copy_4_slots_unmasked mp3₁(0..3) = $18..21
113. copy_4_slots_unmasked mp3₁(4..7) = $22..25
114. copy_slot_unmasked mp3₁(8) = $26
115. copy_4_slots_unmasked hp3₁(0..3) = $18..21
116. copy_4_slots_unmasked hp3₁(4..7) = $22..25
117. copy_slot_unmasked hp3₁(8) = $26
118. zero_slot_unmasked $18 = 0
119. copy_constant $19 = 0x40800000 (4.0)
120. shuffle $18..33 = ($18..33)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
121. copy_4_slots_unmasked mp4₁(0..3) = $18..21
122. copy_4_slots_unmasked mp4₁(4..7) = $22..25
123. copy_4_slots_unmasked mp4₁(8..11) = $26..29
124. copy_4_slots_unmasked mp4₁(12..15) = $30..33
125. copy_4_slots_unmasked hp4₁(0..3) = $18..21
126. copy_4_slots_unmasked hp4₁(4..7) = $22..25
127. copy_4_slots_unmasked hp4₁(8..11) = $26..29
128. copy_4_slots_unmasked hp4₁(12..15) = $30..33
129. copy_4_slots_unmasked $18..21 = mp2
130. copy_4_slots_unmasked $22..25 = hp2
131. cmpeq_4_floats $18..21 = equal($18..21, $22..25)
132. bitwise_and_2_ints $18..19 &= $20..21
133. bitwise_and_int $18 &= $19
134. copy_4_slots_unmasked $19..22 = hp3₁(0..3)
135. copy_4_slots_unmasked $23..26 = hp3₁(4..7)
136. copy_slot_unmasked $27 = hp3₁(8)
137. copy_4_slots_unmasked $28..31 = mp3₁(0..3)
138. copy_4_slots_unmasked $32..35 = mp3₁(4..7)
139. copy_slot_unmasked $36 = mp3₁(8)
140. cmpeq_n_floats $19..27 = equal($19..27, $28..36)
141. bitwise_and_4_ints $20..23 &= $24..27
142. bitwise_and_2_ints $20..21 &= $22..23
143. bitwise_and_int $20 &= $21
144. bitwise_and_int $19 &= $20
145. bitwise_and_int $18 &= $19
146. copy_4_slots_unmasked $19..22 = mp4₁(0..3)
147. copy_4_slots_unmasked $23..26 = mp4₁(4..7)
148. copy_4_slots_unmasked $27..30 = mp4₁(8..11)
149. copy_4_slots_unmasked $31..34 = mp4₁(12..15)
150. copy_4_slots_unmasked $35..38 = hp4₁(0..3)
151. copy_4_slots_unmasked $39..42 = hp4₁(4..7)
152. copy_4_slots_unmasked $43..46 = hp4₁(8..11)
153. copy_4_slots_unmasked $47..50 = hp4₁(12..15)
154. cmpeq_n_floats $19..34 = equal($19..34, $35..50)
155. bitwise_and_4_ints $27..30 &= $31..34
156. bitwise_and_4_ints $23..26 &= $27..30
157. bitwise_and_4_ints $19..22 &= $23..26
158. bitwise_and_2_ints $19..20 &= $21..22
159. bitwise_and_int $19 &= $20
160. bitwise_and_int $18 &= $19
161. label label 0x00000009
162. copy_slot_masked $17 = Mask($18)
163. label label 0x00000005
164. load_condition_mask CondMask = $66
165. zero_slot_unmasked $56 = 0
166. merge_condition_mask CondMask = $16 & $17
167. branch_if_no_lanes_active branch_if_no_lanes_active +35 (label 4 at #202)
168. zero_slot_unmasked mf[0] = 0
169. copy_constant $57 = 0x3F800000 (1.0)
170. copy_slot_masked mf[0] = Mask($57)
171. zero_slot_unmasked hf[0] = 0
172. copy_constant $57 = 0x3F800000 (1.0)
173. copy_slot_masked hf[0] = Mask($57)
174. zero_4_slots_unmasked mv[0], mv[1] = 0
175. zero_slot_unmasked $57 = 0
176. copy_constant $58 = 0x3F800000 (1.0)
177. copy_2_slots_masked mv[0] = Mask($57..58)
178. copy_constant $57 = 0x40000000 (2.0)
179. copy_constant $58 = 0x40400000 (3.0)
180. copy_2_slots_masked mv[1] = Mask($57..58)
181. zero_4_slots_unmasked hv[0], hv[1] = 0
182. zero_slot_unmasked $57 = 0
183. copy_constant $58 = 0x3F800000 (1.0)
184. copy_2_slots_masked hv[0] = Mask($57..58)
185. copy_constant $57 = 0x40000000 (2.0)
186. copy_constant $58 = 0x40400000 (3.0)
187. copy_2_slots_masked hv[1] = Mask($57..58)
188. copy_2_slots_unmasked $57..58 = mf[0], hf[0]
189. cmpeq_float $57 = equal($57, $58)
190. copy_2_slots_unmasked $58..59 = hv[0]
191. copy_2_slots_unmasked $60..61 = mv[0]
192. cmpeq_2_floats $58..59 = equal($58..59, $60..61)
193. bitwise_and_int $58 &= $59
194. bitwise_and_int $57 &= $58
195. copy_2_slots_unmasked $58..59 = mv[1]
196. copy_2_slots_unmasked $60..61 = hv[1]
197. cmpeq_2_floats $58..59 = equal($58..59, $60..61)
198. bitwise_and_int $58 &= $59
199. bitwise_and_int $57 &= $58
200. label label 0x0000000A
201. copy_slot_masked $56 = Mask($57)
202. label label 0x00000004
203. load_condition_mask CondMask = $16
204. zero_slot_unmasked $52 = 0
205. merge_condition_mask CondMask = $55 & $56
206. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 3 at #213)
207. copy_constant value = 0x3F800000 (1.0)
208. copy_slot_unmasked $53 = value
209. copy_constant $54 = 0x3F800000 (1.0)
210. cmpeq_float $53 = equal($53, $54)
211. label label 0x0000000B
212. copy_slot_masked $52 = Mask($53)
213. label label 0x00000003
214. load_condition_mask CondMask = $55
215. zero_slot_unmasked $13 = 0
216. merge_condition_mask CondMask = $51 & $52
217. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 2 at #224)
218. copy_constant value = 0x40000000 (2.0)
219. copy_slot_unmasked $14 = value
220. copy_constant $15 = 0x40000000 (2.0)
221. cmpeq_float $14 = equal($14, $15)
222. label label 0x0000000C
223. copy_slot_masked $13 = Mask($14)
224. label label 0x00000002
225. load_condition_mask CondMask = $51
226. zero_slot_unmasked $0 = 0
227. merge_condition_mask CondMask = $12 & $13
228. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 1 at #235)
229. copy_constant value = 0x40400000 (3.0)
230. copy_slot_unmasked $1 = value
231. copy_constant $2 = 0x40400000 (3.0)
232. cmpeq_float $1 = equal($1, $2)
233. label label 0x0000000D
234. copy_slot_masked $0 = Mask($1)
235. label label 0x00000001
236. load_condition_mask CondMask = $12
237. swizzle_4 $0..3 = ($0..3).xxxx
238. copy_4_slots_unmasked $4..7 = red
239. copy_4_slots_unmasked $8..11 = green
240. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
241. load_src src.rgba = $0..3