blob: 48f13ba443793fd3e0bfa2c63dfa560c980f9863 [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. zero_2_slots_unmasked s.x, s.y = 0
4. copy_constant $0 = 0x3F800000 (1.0)
5. copy_slot_unmasked s.x = $0
6. copy_constant $0 = 0x00000002 (2.802597e-45)
7. copy_slot_unmasked s.y = $0
8. copy_2_slots_unmasked $0..1 = s.x, s.y
9. label label 0x00000000
10. copy_2_slots_unmasked s.x₁, s.y = $0..1
11. copy_2_slots_unmasked s.x₂, s.y = $0..1
12. copy_2_slots_unmasked $0..1 = s.x₂, s.y
13. cast_to_float_from_int $1 = IntToFloat($1)
14. add_float $0 += $1
15. label label 0x00000001
16. copy_slot_unmasked x = $0
17. copy_2_slots_unmasked s.x₃, s.y = s.x₁, s.y
18. copy_slot_unmasked $0 = s.x
19. copy_constant $1 = 0x3F800000 (1.0)
20. add_float $0 += $1
21. copy_slot_unmasked s.x = $0
22. copy_slot_unmasked $0 = s.y
23. copy_constant $1 = 0x00000001 (1.401298e-45)
24. add_int $0 += $1
25. copy_slot_unmasked s.y = $0
26. copy_2_slots_unmasked $0..1 = s.x₃, s.y
27. copy_2_slots_unmasked s.x₁, s.y = $0..1
28. label label 0x00000002
29. copy_constant $0 = 0x40000000 (2.0)
30. copy_constant $1 = 0x00000003 (4.203895e-45)
31. label label 0x00000003
32. copy_2_slots_unmasked expected.x, expected.y = $0..1
33. zero_4_slots_unmasked n1.a.x, n1.a.y, n1.b.x, n1.b.y = 0
34. zero_4_slots_unmasked n2.a.x, n2.a.y, n2.b.x, n2.b.y = 0
35. zero_4_slots_unmasked n3.a.x, n3.a.y, n3.b.x, n3.b.y = 0
36. zero_2_slots_unmasked s.x, s.y = 0
37. copy_constant $0 = 0x3F800000 (1.0)
38. copy_slot_unmasked s.x = $0
39. copy_constant $0 = 0x00000002 (2.802597e-45)
40. copy_slot_unmasked s.y = $0
41. copy_2_slots_unmasked $0..1 = s.x, s.y
42. label label 0x00000004
43. copy_2_slots_unmasked n1.a.x, n1.a.y = $0..1
44. copy_2_slots_unmasked n1.b.x, n1.b.y = $0..1
45. copy_4_slots_unmasked $0..3 = n1.a.x, n1.a.y, n1.b.x, n1.b.y
46. copy_4_slots_unmasked n2.a.x, n2.a.y, n2.b.x, n2.b.y = $0..3
47. copy_4_slots_unmasked n3.a.x, n3.a.y, n3.b.x, n3.b.y = $0..3
48. copy_2_slots_unmasked s.x₃, s.y = n3.b.x, n3.b.y
49. copy_slot_unmasked $0 = s.x
50. copy_constant $1 = 0x3F800000 (1.0)
51. add_float $0 += $1
52. copy_slot_unmasked s.x = $0
53. copy_slot_unmasked $0 = s.y
54. copy_constant $1 = 0x00000001 (1.401298e-45)
55. add_int $0 += $1
56. copy_slot_unmasked s.y = $0
57. copy_2_slots_unmasked $0..1 = s.x₃, s.y
58. copy_2_slots_unmasked n3.b.x, n3.b.y = $0..1
59. label label 0x00000005
60. copy_constant c1.f4(0) = 0x3F800000 (1.0)
61. copy_constant c1.f4(1) = 0x40000000 (2.0)
62. copy_constant c1.f4(2) = 0x40400000 (3.0)
63. copy_constant c1.f4(3) = 0x40800000 (4.0)
64. copy_constant c1.i3(0) = 0x00000005 (7.006492e-45)
65. copy_constant c1.i3(1) = 0x00000006 (8.407791e-45)
66. copy_constant c1.i3(2) = 0x00000007 (9.809089e-45)
67. copy_constant $0 = colorGreen(1)
68. copy_constant c2.f4(1) = 0x40000000 (2.0)
69. copy_constant c2.f4(2) = 0x40400000 (3.0)
70. copy_constant c2.f4(3) = 0x40800000 (4.0)
71. copy_constant c2.i3(0) = 0x00000005 (7.006492e-45)
72. copy_constant c2.i3(1) = 0x00000006 (8.407791e-45)
73. copy_constant c2.i3(2) = 0x00000007 (9.809089e-45)
74. copy_slot_unmasked c2.f4(0) = $0
75. copy_constant $0 = colorGreen(0)
76. copy_constant c3.f4(1) = 0x40000000 (2.0)
77. copy_constant c3.f4(2) = 0x40400000 (3.0)
78. copy_constant c3.f4(3) = 0x40800000 (4.0)
79. copy_constant c3.i3(0) = 0x00000005 (7.006492e-45)
80. copy_constant c3.i3(1) = 0x00000006 (8.407791e-45)
81. copy_constant c3.i3(2) = 0x00000007 (9.809089e-45)
82. copy_slot_unmasked c3.f4(0) = $0
83. store_condition_mask $14 = CondMask
84. copy_slot_unmasked $15 = x
85. copy_constant $16 = 0x40400000 (3.0)
86. cmpeq_float $15 = equal($15, $16)
87. copy_slot_unmasked $16 = s.x
88. copy_constant $17 = 0x40000000 (2.0)
89. cmpeq_float $16 = equal($16, $17)
90. bitwise_and_int $15 &= $16
91. copy_slot_unmasked $16 = s.y
92. copy_constant $17 = 0x00000003 (4.203895e-45)
93. cmpeq_int $16 = equal($16, $17)
94. bitwise_and_int $15 &= $16
95. copy_slot_unmasked $16 = s.x
96. copy_slot_unmasked $17 = expected.x
97. cmpeq_float $16 = equal($16, $17)
98. copy_slot_unmasked $17 = s.y
99. copy_slot_unmasked $18 = expected.y
100. cmpeq_int $17 = equal($17, $18)
101. bitwise_and_int $16 &= $17
102. bitwise_and_int $15 &= $16
103. copy_slot_unmasked $16 = s.x
104. copy_constant $12 = 0x40000000 (2.0)
105. copy_constant $13 = 0x00000003 (4.203895e-45)
106. copy_slot_unmasked $17 = $12
107. cmpeq_float $16 = equal($16, $17)
108. copy_slot_unmasked $17 = s.y
109. copy_slot_unmasked $18 = $13
110. cmpeq_int $17 = equal($17, $18)
111. bitwise_and_int $16 &= $17
112. bitwise_and_int $15 &= $16
113. zero_slot_unmasked $0 = 0
114. merge_condition_mask CondMask = $14 & $15
115. branch_if_no_lanes_active branch_if_no_lanes_active +17 (label 6 at #132)
116. copy_slot_unmasked $1 = s.x
117. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 7 at #124)
118. zero_2_slots_unmasked s.x, s.y = 0
119. copy_constant $12 = 0x3F800000 (1.0)
120. copy_slot_masked s.x = Mask($12)
121. copy_constant $12 = 0x00000002 (2.802597e-45)
122. copy_slot_masked s.y = Mask($12)
123. copy_2_slots_unmasked $12..13 = s.x, s.y
124. label label 0x00000007
125. copy_slot_unmasked $2 = $12
126. cmpne_float $1 = notEqual($1, $2)
127. copy_slot_unmasked $2 = s.y
128. copy_slot_unmasked $3 = $13
129. cmpne_int $2 = notEqual($2, $3)
130. bitwise_or_int $1 |= $2
131. copy_slot_masked $0 = Mask($1)
132. label label 0x00000006
133. load_condition_mask CondMask = $14
134. copy_slot_unmasked $1 = n1.a.x
135. copy_slot_unmasked $2 = n2.a.x
136. cmpeq_float $1 = equal($1, $2)
137. copy_slot_unmasked $2 = n1.a.y
138. copy_slot_unmasked $3 = n2.a.y
139. cmpeq_int $2 = equal($2, $3)
140. bitwise_and_int $1 &= $2
141. copy_slot_unmasked $2 = n1.b.x
142. copy_slot_unmasked $3 = n2.b.x
143. cmpeq_float $2 = equal($2, $3)
144. copy_slot_unmasked $3 = n1.b.y
145. copy_slot_unmasked $4 = n2.b.y
146. cmpeq_int $3 = equal($3, $4)
147. bitwise_and_int $2 &= $3
148. bitwise_and_int $1 &= $2
149. bitwise_and_int $0 &= $1
150. copy_slot_unmasked $1 = n1.a.x
151. copy_slot_unmasked $2 = n3.a.x
152. cmpne_float $1 = notEqual($1, $2)
153. copy_slot_unmasked $2 = n1.a.y
154. copy_slot_unmasked $3 = n3.a.y
155. cmpne_int $2 = notEqual($2, $3)
156. bitwise_or_int $1 |= $2
157. copy_slot_unmasked $2 = n1.b.x
158. copy_slot_unmasked $3 = n3.b.x
159. cmpne_float $2 = notEqual($2, $3)
160. copy_slot_unmasked $3 = n1.b.y
161. copy_slot_unmasked $4 = n3.b.y
162. cmpne_int $3 = notEqual($3, $4)
163. bitwise_or_int $2 |= $3
164. bitwise_or_int $1 |= $2
165. bitwise_and_int $0 &= $1
166. copy_slot_unmasked $1 = n3.a.x
167. copy_constant $14 = 0x3F800000 (1.0)
168. copy_constant $15 = 0x00000002 (2.802597e-45)
169. copy_constant $16 = 0x40000000 (2.0)
170. copy_constant $17 = 0x00000003 (4.203895e-45)
171. copy_slot_unmasked $2 = $14
172. cmpeq_float $1 = equal($1, $2)
173. copy_slot_unmasked $2 = n3.a.y
174. copy_slot_unmasked $3 = $15
175. cmpeq_int $2 = equal($2, $3)
176. bitwise_and_int $1 &= $2
177. copy_slot_unmasked $2 = n3.b.x
178. copy_slot_unmasked $3 = $16
179. cmpeq_float $2 = equal($2, $3)
180. copy_slot_unmasked $3 = n3.b.y
181. copy_slot_unmasked $4 = $17
182. cmpeq_int $3 = equal($3, $4)
183. bitwise_and_int $2 &= $3
184. bitwise_and_int $1 &= $2
185. bitwise_and_int $0 &= $1
186. copy_4_slots_unmasked $1..4 = c1.f4
187. copy_4_slots_unmasked $5..8 = c2.f4
188. cmpeq_4_floats $1..4 = equal($1..4, $5..8)
189. bitwise_and_2_ints $1..2 &= $3..4
190. bitwise_and_int $1 &= $2
191. copy_3_slots_unmasked $2..4 = c1.i3
192. copy_3_slots_unmasked $5..7 = c2.i3
193. cmpeq_3_ints $2..4 = equal($2..4, $5..7)
194. bitwise_and_int $3 &= $4
195. bitwise_and_int $2 &= $3
196. bitwise_and_int $1 &= $2
197. bitwise_and_int $0 &= $1
198. copy_4_slots_unmasked $1..4 = c2.f4
199. copy_4_slots_unmasked $5..8 = c3.f4
200. cmpne_4_floats $1..4 = notEqual($1..4, $5..8)
201. bitwise_or_2_ints $1..2 |= $3..4
202. bitwise_or_int $1 |= $2
203. copy_3_slots_unmasked $2..4 = c2.i3
204. copy_3_slots_unmasked $5..7 = c3.i3
205. cmpne_3_ints $2..4 = notEqual($2..4, $5..7)
206. bitwise_or_int $3 |= $4
207. bitwise_or_int $2 |= $3
208. bitwise_or_int $1 |= $2
209. bitwise_and_int $0 &= $1
210. copy_slot_unmasked valid = $0
211. swizzle_4 $0..3 = ($0..3).xxxx
212. copy_4_constants $4..7 = colorRed
213. copy_4_constants $8..11 = colorGreen
214. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
215. load_src src.rgba = $0..3