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