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