blob: 5e72c30f88ab725ba006dea822fd99c93f709dec [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. copy_constant f1[0] = 0x3F800000 (1.0)
4. copy_constant f1[1] = 0x40000000 (2.0)
5. copy_constant f1[2] = 0x40400000 (3.0)
6. copy_constant f1[3] = 0x40800000 (4.0)
7. copy_constant f1[4] = 0x40A00000 (5.0)
8. copy_constant f2[0] = 0x3F800000 (1.0)
9. copy_constant f2[1] = 0x40000000 (2.0)
10. copy_constant f2[2] = 0x40400000 (3.0)
11. copy_constant f2[3] = 0x40800000 (4.0)
12. copy_constant f2[4] = 0x40A00000 (5.0)
13. copy_constant f3[0] = 0x3F800000 (1.0)
14. copy_constant f3[1] = 0x40000000 (2.0)
15. copy_constant f3[2] = 0x40400000 (3.0)
16. copy_constant f3[3] = 0xC0800000 (-4.0)
17. copy_constant f3[4] = 0x40A00000 (5.0)
18. copy_constant v1[0](0) = 0x00000001 (1.401298e-45)
19. copy_constant v1[0](1) = 0x00000002 (2.802597e-45)
20. copy_constant v1[0](2) = 0x00000003 (4.203895e-45)
21. copy_constant v1[1](0) = 0x00000004 (5.605194e-45)
22. copy_constant v1[1](1) = 0x00000005 (7.006492e-45)
23. copy_constant v1[1](2) = 0x00000006 (8.407791e-45)
24. copy_constant v2[0](0) = 0x00000001 (1.401298e-45)
25. copy_constant v2[0](1) = 0x00000002 (2.802597e-45)
26. copy_constant v2[0](2) = 0x00000003 (4.203895e-45)
27. copy_constant v2[1](0) = 0x00000004 (5.605194e-45)
28. copy_constant v2[1](1) = 0x00000005 (7.006492e-45)
29. copy_constant v2[1](2) = 0x00000006 (8.407791e-45)
30. copy_constant v3[0](0) = 0x00000001 (1.401298e-45)
31. copy_constant v3[0](1) = 0x00000002 (2.802597e-45)
32. copy_constant v3[0](2) = 0x00000003 (4.203895e-45)
33. copy_constant v3[1](0) = 0x00000004 (5.605194e-45)
34. copy_constant v3[1](1) = 0x00000005 (7.006492e-45)
35. copy_constant v3[1](2) = 0xFFFFFFFA
36. zero_slot_unmasked $0 = 0
37. copy_constant $1 = 0x3F800000 (1.0)
38. swizzle_4 $0..3 = ($0..3).yxxy
39. zero_slot_unmasked $4 = 0
40. copy_constant $5 = 0x40000000 (2.0)
41. swizzle_4 $4..7 = ($4..7).yxxy
42. copy_constant m1[2](0) = 0x40400000 (3.0)
43. copy_constant m1[2](1) = 0x40800000 (4.0)
44. copy_constant m1[2](2) = 0x40A00000 (5.0)
45. copy_constant m1[2](3) = 0x40C00000 (6.0)
46. copy_4_slots_unmasked m1[0] = $0..3
47. copy_4_slots_unmasked m1[1] = $4..7
48. zero_slot_unmasked $0 = 0
49. copy_constant $1 = 0x3F800000 (1.0)
50. swizzle_4 $0..3 = ($0..3).yxxy
51. zero_slot_unmasked $4 = 0
52. copy_constant $5 = 0x40000000 (2.0)
53. swizzle_4 $4..7 = ($4..7).yxxy
54. copy_constant m2[2](0) = 0x40400000 (3.0)
55. copy_constant m2[2](1) = 0x40800000 (4.0)
56. copy_constant m2[2](2) = 0x40A00000 (5.0)
57. copy_constant m2[2](3) = 0x40C00000 (6.0)
58. copy_4_slots_unmasked m2[0] = $0..3
59. copy_4_slots_unmasked m2[1] = $4..7
60. zero_slot_unmasked $0 = 0
61. copy_constant $1 = 0x3F800000 (1.0)
62. swizzle_4 $0..3 = ($0..3).yxxy
63. copy_constant $4 = 0x40000000 (2.0)
64. copy_constant $5 = 0x40400000 (3.0)
65. copy_constant $6 = 0x40800000 (4.0)
66. copy_constant $7 = 0x40A00000 (5.0)
67. zero_slot_unmasked $8 = 0
68. copy_constant $9 = 0x40C00000 (6.0)
69. swizzle_4 $8..11 = ($8..11).yxxy
70. copy_4_slots_unmasked m3[0] = $0..3
71. copy_4_slots_unmasked m3[1] = $4..7
72. copy_4_slots_unmasked m3[2] = $8..11
73. copy_constant s1[0].x = 0x00000001 (1.401298e-45)
74. copy_constant s1[0].y = 0x00000002 (2.802597e-45)
75. copy_constant s1[1].x = 0x00000003 (4.203895e-45)
76. copy_constant s1[1].y = 0x00000004 (5.605194e-45)
77. copy_constant s1[2].x = 0x00000005 (7.006492e-45)
78. copy_constant s1[2].y = 0x00000006 (8.407791e-45)
79. copy_constant s2[0].x = 0x00000001 (1.401298e-45)
80. copy_constant s2[0].y = 0x00000002 (2.802597e-45)
81. zero_2_slots_unmasked s2[1].x, s2[1].y = 0
82. copy_constant s2[2].x = 0x00000005 (7.006492e-45)
83. copy_constant s2[2].y = 0x00000006 (8.407791e-45)
84. copy_constant s3[0].x = 0x00000001 (1.401298e-45)
85. copy_constant s3[0].y = 0x00000002 (2.802597e-45)
86. copy_constant s3[1].x = 0x00000003 (4.203895e-45)
87. copy_constant s3[1].y = 0x00000004 (5.605194e-45)
88. copy_constant s3[2].x = 0x00000005 (7.006492e-45)
89. copy_constant s3[2].y = 0x00000006 (8.407791e-45)
90. copy_4_slots_unmasked $0..3 = f1[0], f1[1], f1[2], f1[3]
91. copy_4_slots_unmasked $4..7 = f1[4], f2[0], f2[1], f2[2]
92. copy_2_slots_unmasked $8..9 = f2[3], f2[4]
93. cmpeq_n_floats $0..4 = equal($0..4, $5..9)
94. bitwise_and_2_ints $1..2 &= $3..4
95. bitwise_and_int $1 &= $2
96. bitwise_and_int $0 &= $1
97. copy_4_slots_unmasked $1..4 = f1[0], f1[1], f1[2], f1[3]
98. copy_slot_unmasked $5 = f1[4]
99. copy_4_slots_unmasked $6..9 = f3[0], f3[1], f3[2], f3[3]
100. copy_slot_unmasked $10 = f3[4]
101. cmpne_n_floats $1..5 = notEqual($1..5, $6..10)
102. bitwise_or_2_ints $2..3 |= $4..5
103. bitwise_or_int $2 |= $3
104. bitwise_or_int $1 |= $2
105. bitwise_and_int $0 &= $1
106. copy_4_constants $1..4 = testArray[0], testArray[1], testArray[2], testArray[3]
107. copy_4_constants $5..8 = testArray[4], testArrayNegative[0], testArrayNegative[1], testArrayNegative[2]
108. copy_2_constants $9..10 = testArrayNegative[3], testArrayNegative[4]
109. cmpne_n_floats $1..5 = notEqual($1..5, $6..10)
110. bitwise_or_2_ints $2..3 |= $4..5
111. bitwise_or_int $2 |= $3
112. bitwise_or_int $1 |= $2
113. bitwise_and_int $0 &= $1
114. copy_4_constants $1..4 = testArray[0], testArray[1], testArray[2], testArray[3]
115. copy_constant $5 = testArray[4]
116. copy_4_slots_unmasked $6..9 = f1[0], f1[1], f1[2], f1[3]
117. copy_slot_unmasked $10 = f1[4]
118. cmpeq_n_floats $1..5 = equal($1..5, $6..10)
119. bitwise_and_2_ints $2..3 &= $4..5
120. bitwise_and_int $2 &= $3
121. bitwise_and_int $1 &= $2
122. bitwise_and_int $0 &= $1
123. copy_4_constants $1..4 = testArray[0], testArray[1], testArray[2], testArray[3]
124. copy_constant $5 = testArray[4]
125. copy_4_slots_unmasked $6..9 = f3[0], f3[1], f3[2], f3[3]
126. copy_slot_unmasked $10 = f3[4]
127. cmpne_n_floats $1..5 = notEqual($1..5, $6..10)
128. bitwise_or_2_ints $2..3 |= $4..5
129. bitwise_or_int $2 |= $3
130. bitwise_or_int $1 |= $2
131. bitwise_and_int $0 &= $1
132. copy_4_slots_unmasked $1..4 = f1[0], f1[1], f1[2], f1[3]
133. copy_slot_unmasked $5 = f1[4]
134. copy_4_constants $6..9 = testArray[0], testArray[1], testArray[2], testArray[3]
135. copy_constant $10 = testArray[4]
136. cmpeq_n_floats $1..5 = equal($1..5, $6..10)
137. bitwise_and_2_ints $2..3 &= $4..5
138. bitwise_and_int $2 &= $3
139. bitwise_and_int $1 &= $2
140. bitwise_and_int $0 &= $1
141. copy_4_slots_unmasked $1..4 = f3[0], f3[1], f3[2], f3[3]
142. copy_slot_unmasked $5 = f3[4]
143. copy_4_constants $6..9 = testArray[0], testArray[1], testArray[2], testArray[3]
144. copy_constant $10 = testArray[4]
145. cmpne_n_floats $1..5 = notEqual($1..5, $6..10)
146. bitwise_or_2_ints $2..3 |= $4..5
147. bitwise_or_int $2 |= $3
148. bitwise_or_int $1 |= $2
149. bitwise_and_int $0 &= $1
150. copy_3_slots_unmasked $1..3 = v1[0]
151. copy_3_slots_unmasked $4..6 = v2[0]
152. cmpeq_3_ints $1..3 = equal($1..3, $4..6)
153. bitwise_and_int $2 &= $3
154. bitwise_and_int $1 &= $2
155. copy_3_slots_unmasked $2..4 = v1[1]
156. copy_3_slots_unmasked $5..7 = v2[1]
157. cmpeq_3_ints $2..4 = equal($2..4, $5..7)
158. bitwise_and_int $3 &= $4
159. bitwise_and_int $2 &= $3
160. bitwise_and_int $1 &= $2
161. bitwise_and_int $0 &= $1
162. copy_3_slots_unmasked $1..3 = v1[0]
163. copy_3_slots_unmasked $4..6 = v3[0]
164. cmpne_3_ints $1..3 = notEqual($1..3, $4..6)
165. bitwise_or_int $2 |= $3
166. bitwise_or_int $1 |= $2
167. copy_3_slots_unmasked $2..4 = v1[1]
168. copy_3_slots_unmasked $5..7 = v3[1]
169. cmpne_3_ints $2..4 = notEqual($2..4, $5..7)
170. bitwise_or_int $3 |= $4
171. bitwise_or_int $2 |= $3
172. bitwise_or_int $1 |= $2
173. bitwise_and_int $0 &= $1
174. copy_4_slots_unmasked $1..4 = m1[0]
175. copy_4_slots_unmasked $5..8 = m2[0]
176. cmpeq_4_floats $1..4 = equal($1..4, $5..8)
177. bitwise_and_2_ints $1..2 &= $3..4
178. bitwise_and_int $1 &= $2
179. copy_4_slots_unmasked $2..5 = m1[1]
180. copy_4_slots_unmasked $6..9 = m2[1]
181. cmpeq_4_floats $2..5 = equal($2..5, $6..9)
182. bitwise_and_2_ints $2..3 &= $4..5
183. bitwise_and_int $2 &= $3
184. copy_4_slots_unmasked $3..6 = m1[2]
185. copy_4_slots_unmasked $7..10 = m2[2]
186. cmpeq_4_floats $3..6 = equal($3..6, $7..10)
187. bitwise_and_2_ints $3..4 &= $5..6
188. bitwise_and_int $3 &= $4
189. bitwise_and_int $2 &= $3
190. bitwise_and_int $1 &= $2
191. bitwise_and_int $0 &= $1
192. copy_4_slots_unmasked $1..4 = m1[0]
193. copy_4_slots_unmasked $5..8 = m3[0]
194. cmpne_4_floats $1..4 = notEqual($1..4, $5..8)
195. bitwise_or_2_ints $1..2 |= $3..4
196. bitwise_or_int $1 |= $2
197. copy_4_slots_unmasked $2..5 = m1[1]
198. copy_4_slots_unmasked $6..9 = m3[1]
199. cmpne_4_floats $2..5 = notEqual($2..5, $6..9)
200. bitwise_or_2_ints $2..3 |= $4..5
201. bitwise_or_int $2 |= $3
202. copy_4_slots_unmasked $3..6 = m1[2]
203. copy_4_slots_unmasked $7..10 = m3[2]
204. cmpne_4_floats $3..6 = notEqual($3..6, $7..10)
205. bitwise_or_2_ints $3..4 |= $5..6
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 $1 = s1[0].x
211. copy_slot_unmasked $2 = s2[0].x
212. cmpne_int $1 = notEqual($1, $2)
213. copy_slot_unmasked $2 = s1[0].y
214. copy_slot_unmasked $3 = s2[0].y
215. cmpne_int $2 = notEqual($2, $3)
216. bitwise_or_int $1 |= $2
217. copy_slot_unmasked $2 = s1[1].x
218. copy_slot_unmasked $3 = s2[1].x
219. cmpne_int $2 = notEqual($2, $3)
220. copy_slot_unmasked $3 = s1[1].y
221. copy_slot_unmasked $4 = s2[1].y
222. cmpne_int $3 = notEqual($3, $4)
223. bitwise_or_int $2 |= $3
224. copy_slot_unmasked $3 = s1[2].x
225. copy_slot_unmasked $4 = s2[2].x
226. cmpne_int $3 = notEqual($3, $4)
227. copy_slot_unmasked $4 = s1[2].y
228. copy_slot_unmasked $5 = s2[2].y
229. cmpne_int $4 = notEqual($4, $5)
230. bitwise_or_int $3 |= $4
231. bitwise_or_int $2 |= $3
232. bitwise_or_int $1 |= $2
233. bitwise_and_int $0 &= $1
234. copy_slot_unmasked $1 = s3[0].x
235. copy_slot_unmasked $2 = s1[0].x
236. cmpeq_int $1 = equal($1, $2)
237. copy_slot_unmasked $2 = s3[0].y
238. copy_slot_unmasked $3 = s1[0].y
239. cmpeq_int $2 = equal($2, $3)
240. bitwise_and_int $1 &= $2
241. copy_slot_unmasked $2 = s3[1].x
242. copy_slot_unmasked $3 = s1[1].x
243. cmpeq_int $2 = equal($2, $3)
244. copy_slot_unmasked $3 = s3[1].y
245. copy_slot_unmasked $4 = s1[1].y
246. cmpeq_int $3 = equal($3, $4)
247. bitwise_and_int $2 &= $3
248. copy_slot_unmasked $3 = s3[2].x
249. copy_slot_unmasked $4 = s1[2].x
250. cmpeq_int $3 = equal($3, $4)
251. copy_slot_unmasked $4 = s3[2].y
252. copy_slot_unmasked $5 = s1[2].y
253. cmpeq_int $4 = equal($4, $5)
254. bitwise_and_int $3 &= $4
255. bitwise_and_int $2 &= $3
256. bitwise_and_int $1 &= $2
257. bitwise_and_int $0 &= $1
258. swizzle_4 $0..3 = ($0..3).xxxx
259. copy_4_constants $4..7 = colorRed
260. copy_4_constants $8..11 = colorGreen
261. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
262. load_src src.rgba = $0..3