blob: 53523b20b67422601a769d83a116aaf9755f377f [file] [log] [blame]
1. store_src_rg xy = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. store_condition_mask $12 = CondMask
4. store_condition_mask $23 = CondMask
5. store_condition_mask $26 = CondMask
6. store_condition_mask $17 = CondMask
7. store_condition_mask $41 = CondMask
8. store_condition_mask $33 = CondMask
9. store_condition_mask $8 = CondMask
10. store_condition_mask $37 = CondMask
11. branch_if_no_active_lanes branch_if_no_active_lanes +15 (#26)
12. store_return_mask $38 = RetMask
13. store_loop_mask $39 = LoopMask
14. zero_slot_unmasked [do-loop continue mask 0] = 0
15. copy_constant $40 = 0xFFFFFFFF
16. copy_slot_masked [test_return].result = Mask($40)
17. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
18. reenable_loop_mask LoopMask |= [do-loop continue mask 0]
19. zero_slot_unmasked $40 = 0
20. merge_loop_mask LoopMask &= $40
21. stack_rewind
22. branch_if_any_active_lanes branch_if_any_active_lanes -8 (#14)
23. load_loop_mask LoopMask = $39
24. load_return_mask RetMask = $38
25. copy_slot_unmasked $38 = [test_return].result
26. zero_slot_unmasked $9 = 0
27. merge_condition_mask CondMask = $37 & $38
28. branch_if_no_active_lanes branch_if_no_active_lanes +13 (#41)
29. store_loop_mask $10 = LoopMask
30. zero_slot_unmasked [do-loop continue mask 1] = 0
31. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
32. reenable_loop_mask LoopMask |= [do-loop continue mask 1]
33. zero_slot_unmasked $11 = 0
34. merge_loop_mask LoopMask &= $11
35. stack_rewind
36. branch_if_any_active_lanes branch_if_any_active_lanes -6 (#30)
37. load_loop_mask LoopMask = $10
38. copy_constant $10 = 0xFFFFFFFF
39. copy_slot_masked [test_break].result = Mask($10)
40. copy_slot_masked $9 = Mask($10)
41. load_condition_mask CondMask = $37
42. zero_slot_unmasked $34 = 0
43. merge_condition_mask CondMask = $8 & $9
44. branch_if_no_active_lanes branch_if_no_active_lanes +15 (#59)
45. store_loop_mask $35 = LoopMask
46. zero_slot_unmasked [do-loop continue mask 2] = 0
47. copy_constant $36 = 0xFFFFFFFF
48. copy_slot_masked [do-loop continue mask 2] = Mask($36)
49. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
50. reenable_loop_mask LoopMask |= [do-loop continue mask 2]
51. zero_slot_unmasked $36 = 0
52. merge_loop_mask LoopMask &= $36
53. stack_rewind
54. branch_if_any_active_lanes branch_if_any_active_lanes -8 (#46)
55. load_loop_mask LoopMask = $35
56. copy_constant $35 = 0xFFFFFFFF
57. copy_slot_masked [test_continue].result = Mask($35)
58. copy_slot_masked $34 = Mask($35)
59. load_condition_mask CondMask = $8
60. zero_slot_unmasked $42 = 0
61. merge_condition_mask CondMask = $33 & $34
62. branch_if_no_active_lanes branch_if_no_active_lanes +30 (#92)
63. store_return_mask $43 = RetMask
64. store_loop_mask $44 = LoopMask
65. zero_slot_unmasked [do-loop continue mask 3] = 0
66. store_condition_mask $45 = CondMask
67. zero_slot_unmasked $46 = 0
68. copy_constant $47 = colorGreen(1)
69. cmplt_float $46 = lessThan($46, $47)
70. merge_condition_mask CondMask = $45 & $46
71. copy_constant $47 = 0xFFFFFFFF
72. copy_slot_masked [test_if_return].result = Mask($47)
73. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
74. bitwise_not_int $46 = ~$46
75. merge_condition_mask CondMask = $45 & $46
76. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
77. load_condition_mask CondMask = $45
78. copy_constant $45 = 0xFFFFFFFF
79. copy_slot_masked [do-loop continue mask 3] = Mask($45)
80. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
81. reenable_loop_mask LoopMask |= [do-loop continue mask 3]
82. zero_slot_unmasked $45 = 0
83. merge_loop_mask LoopMask &= $45
84. stack_rewind
85. branch_if_any_active_lanes branch_if_any_active_lanes -20 (#65)
86. load_loop_mask LoopMask = $44
87. zero_slot_unmasked $44 = 0
88. copy_slot_masked [test_if_return].result = Mask($44)
89. load_return_mask RetMask = $43
90. copy_slot_unmasked $43 = [test_if_return].result
91. copy_slot_masked $42 = Mask($43)
92. load_condition_mask CondMask = $33
93. zero_slot_unmasked $18 = 0
94. merge_condition_mask CondMask = $41 & $42
95. branch_if_no_active_lanes branch_if_no_active_lanes +24 (#119)
96. store_loop_mask $19 = LoopMask
97. zero_slot_unmasked [do-loop continue mask 4] = 0
98. store_condition_mask $20 = CondMask
99. zero_slot_unmasked $21 = 0
100. copy_constant $22 = colorGreen(1)
101. cmplt_float $21 = lessThan($21, $22)
102. merge_condition_mask CondMask = $20 & $21
103. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
104. bitwise_not_int $21 = ~$21
105. merge_condition_mask CondMask = $20 & $21
106. copy_constant $22 = 0xFFFFFFFF
107. copy_slot_masked [do-loop continue mask 4] = Mask($22)
108. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
109. load_condition_mask CondMask = $20
110. reenable_loop_mask LoopMask |= [do-loop continue mask 4]
111. zero_slot_unmasked $20 = 0
112. merge_loop_mask LoopMask &= $20
113. stack_rewind
114. branch_if_any_active_lanes branch_if_any_active_lanes -17 (#97)
115. load_loop_mask LoopMask = $19
116. copy_constant $19 = 0xFFFFFFFF
117. copy_slot_masked [test_if_break].result = Mask($19)
118. copy_slot_masked $18 = Mask($19)
119. load_condition_mask CondMask = $41
120. zero_slot_unmasked $27 = 0
121. merge_condition_mask CondMask = $17 & $18
122. branch_if_no_active_lanes branch_if_no_active_lanes +27 (#149)
123. store_return_mask $28 = RetMask
124. store_loop_mask $29 = LoopMask
125. zero_slot_unmasked [do-loop continue mask 5] = 0
126. store_condition_mask $30 = CondMask
127. copy_constant $31 = colorGreen(1)
128. zero_slot_unmasked $32 = 0
129. cmpeq_float $31 = equal($31, $32)
130. merge_condition_mask CondMask = $30 & $31
131. zero_slot_unmasked $32 = 0
132. copy_slot_masked [test_else].result = Mask($32)
133. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
134. bitwise_not_int $31 = ~$31
135. merge_condition_mask CondMask = $30 & $31
136. copy_constant $32 = 0xFFFFFFFF
137. copy_slot_masked [test_else].result = Mask($32)
138. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
139. load_condition_mask CondMask = $30
140. reenable_loop_mask LoopMask |= [do-loop continue mask 5]
141. zero_slot_unmasked $30 = 0
142. merge_loop_mask LoopMask &= $30
143. stack_rewind
144. branch_if_any_active_lanes branch_if_any_active_lanes -19 (#125)
145. load_loop_mask LoopMask = $29
146. load_return_mask RetMask = $28
147. copy_slot_unmasked $28 = [test_else].result
148. copy_slot_masked $27 = Mask($28)
149. load_condition_mask CondMask = $17
150. zero_slot_unmasked $24 = 0
151. merge_condition_mask CondMask = $26 & $27
152. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#156)
153. copy_constant $25 = 0xFFFFFFFF
154. copy_slot_masked [test_loop_return].result = Mask($25)
155. copy_slot_masked $24 = Mask($25)
156. load_condition_mask CondMask = $26
157. zero_slot_unmasked $13 = 0
158. merge_condition_mask CondMask = $23 & $24
159. branch_if_no_active_lanes branch_if_no_active_lanes +21 (#180)
160. zero_slot_unmasked x = 0
161. store_loop_mask $14 = LoopMask
162. jump jump +8 (#170)
163. zero_slot_unmasked [for-loop continue mask 6] = 0
164. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
165. reenable_loop_mask LoopMask |= [for-loop continue mask 6]
166. copy_slot_unmasked $15 = x
167. copy_constant $16 = 0x00000001 (1.401298e-45)
168. add_int $15 += $16
169. copy_slot_masked x = Mask($15)
170. copy_slot_unmasked $15 = x
171. copy_constant $16 = 0x00000001 (1.401298e-45)
172. cmple_int $15 = lessThanEqual($15, $16)
173. merge_loop_mask LoopMask &= $15
174. stack_rewind
175. branch_if_any_active_lanes branch_if_any_active_lanes -12 (#163)
176. load_loop_mask LoopMask = $14
177. copy_constant $14 = 0xFFFFFFFF
178. copy_slot_masked [test_loop_break].result = Mask($14)
179. copy_slot_masked $13 = Mask($14)
180. load_condition_mask CondMask = $23
181. copy_4_constants $0..3 = colorRed
182. merge_condition_mask CondMask = $12 & $13
183. copy_4_constants $4..7 = colorGreen
184. copy_4_slots_masked $0..3 = Mask($4..7)
185. load_condition_mask CondMask = $12
186. copy_4_slots_unmasked [main].result = $0..3
187. load_src src.rgba = [main].result