blob: cfbe016ea0ec5b8e8c02524c9727623dc8d15480 [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. store_condition_mask $26 = CondMask
4. store_condition_mask $22 = CondMask
5. store_condition_mask $16 = CondMask
6. store_condition_mask $13 = CondMask
7. copy_constant $12 = 0xFFFFFFFF
8. branch_if_no_active_lanes_eq branch +16 (label 5 at #24) if no lanes of $12 == 0xFFFFFFFF
9. branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 7 at #22)
10. copy_constant $14 = unknownInput
11. copy_constant $15 = 0x3F800000 (1.0)
12. cmpeq_float $14 = equal($14, $15)
13. branch_if_no_active_lanes_eq branch +4 (label 8 at #17) if no lanes of $14 == 0xFFFFFFFF
14. copy_constant $15 = 0xFFFFFFFF
15. copy_slot_masked [return_on_both_sides].result = Mask($15)
16. jump jump +4 (label 9 at #20)
17. label label 0x00000008
18. copy_constant $15 = 0xFFFFFFFF
19. copy_slot_masked [return_on_both_sides].result = Mask($15)
20. label label 0x00000009
21. copy_slot_unmasked $14 = [return_on_both_sides].result
22. label label 0x00000007
23. jump jump +3 (label 6 at #26)
24. label label 0x00000005
25. zero_slot_unmasked $14 = 0
26. label label 0x00000006
27. zero_slot_unmasked $17 = 0
28. merge_condition_mask CondMask = $13 & $14
29. branch_if_no_lanes_active branch_if_no_lanes_active +26 (label 4 at #55)
30. store_return_mask $18 = RetMask
31. zero_slot_unmasked x = 0
32. store_loop_mask $19 = LoopMask
33. jump jump +9 (label 12 at #42)
34. label label 0x0000000D
35. copy_constant $20 = 0xFFFFFFFF
36. copy_slot_masked [for_inside_body].result = Mask($20)
37. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
38. copy_slot_unmasked $20 = x
39. copy_constant $21 = 0x00000001 (1.401298e-45)
40. add_int $20 += $21
41. copy_slot_masked x = Mask($20)
42. label label 0x0000000C
43. copy_slot_unmasked $20 = x
44. copy_constant $21 = 0x0000000A (1.401298e-44)
45. cmple_int $20 = lessThanEqual($20, $21)
46. merge_loop_mask LoopMask &= $20
47. stack_rewind
48. branch_if_any_lanes_active branch_if_any_lanes_active -14 (label 13 at #34)
49. label label 0x0000000B
50. load_loop_mask LoopMask = $19
51. load_return_mask RetMask = $18
52. copy_slot_unmasked $18 = [for_inside_body].result
53. label label 0x0000000A
54. copy_slot_masked $17 = Mask($18)
55. label label 0x00000004
56. load_condition_mask CondMask = $13
57. zero_slot_unmasked $23 = 0
58. merge_condition_mask CondMask = $16 & $17
59. branch_if_no_lanes_active branch_if_no_lanes_active +15 (label 3 at #74)
60. zero_slot_unmasked x = 0
61. label label 0x00000010
62. copy_slot_unmasked $24 = x
63. copy_constant $25 = 0x00000001 (1.401298e-45)
64. add_int $24 += $25
65. copy_slot_masked x = Mask($24)
66. copy_constant $25 = 0x0000000A (1.401298e-44)
67. cmple_int $24 = lessThanEqual($24, $25)
68. stack_rewind
69. branch_if_no_active_lanes_eq branch -8 (label 16 at #61) if no lanes of $24 == 0x00000000 (0.0)
70. label label 0x0000000F
71. copy_constant $24 = 0xFFFFFFFF
72. label label 0x0000000E
73. copy_slot_masked $23 = Mask($24)
74. label label 0x00000003
75. load_condition_mask CondMask = $16
76. zero_slot_unmasked $27 = 0
77. merge_condition_mask CondMask = $22 & $23
78. branch_if_no_lanes_active branch_if_no_lanes_active +36 (label 2 at #114)
79. store_return_mask $28 = RetMask
80. zero_slot_unmasked x = 0
81. store_loop_mask $29 = LoopMask
82. jump jump +19 (label 19 at #101)
83. label label 0x00000014
84. copy_constant $30 = unknownInput
85. copy_constant $31 = 0x3F800000 (1.0)
86. cmpeq_float $30 = equal($30, $31)
87. branch_if_no_active_lanes_eq branch +5 (label 21 at #92) if no lanes of $30 == 0xFFFFFFFF
88. copy_constant $31 = 0xFFFFFFFF
89. copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($31)
90. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
91. jump jump +5 (label 22 at #96)
92. label label 0x00000015
93. copy_constant $31 = 0xFFFFFFFF
94. copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($31)
95. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
96. label label 0x00000016
97. copy_slot_unmasked $30 = x
98. copy_constant $31 = 0x00000001 (1.401298e-45)
99. add_int $30 += $31
100. copy_slot_masked x = Mask($30)
101. label label 0x00000013
102. copy_slot_unmasked $30 = x
103. copy_constant $31 = 0x0000000A (1.401298e-44)
104. cmple_int $30 = lessThanEqual($30, $31)
105. merge_loop_mask LoopMask &= $30
106. stack_rewind
107. branch_if_any_lanes_active branch_if_any_lanes_active -24 (label 20 at #83)
108. label label 0x00000012
109. load_loop_mask LoopMask = $29
110. load_return_mask RetMask = $28
111. copy_slot_unmasked $28 = [for_with_double_sided_conditional_return].result
112. label label 0x00000011
113. copy_slot_masked $27 = Mask($28)
114. label label 0x00000002
115. load_condition_mask CondMask = $22
116. zero_slot_unmasked $0 = 0
117. merge_condition_mask CondMask = $26 & $27
118. branch_if_no_lanes_active branch_if_no_lanes_active +42 (label 1 at #160)
119. copy_constant $1 = unknownInput
120. copy_constant $2 = 0x3F800000 (1.0)
121. cmpeq_float $1 = equal($1, $2)
122. branch_if_no_active_lanes_eq branch +4 (label 24 at #126) if no lanes of $1 == 0xFFFFFFFF
123. copy_constant $2 = 0xFFFFFFFF
124. copy_slot_masked [if_else_chain].result = Mask($2)
125. jump jump +31 (label 25 at #156)
126. label label 0x00000018
127. copy_constant $2 = unknownInput
128. copy_constant $3 = 0x40000000 (2.0)
129. cmpeq_float $2 = equal($2, $3)
130. branch_if_no_active_lanes_eq branch +4 (label 26 at #134) if no lanes of $2 == 0xFFFFFFFF
131. zero_slot_unmasked $3 = 0
132. copy_slot_masked [if_else_chain].result = Mask($3)
133. jump jump +22 (label 27 at #155)
134. label label 0x0000001A
135. copy_constant $3 = unknownInput
136. copy_constant $4 = 0x40400000 (3.0)
137. cmpeq_float $3 = equal($3, $4)
138. branch_if_no_active_lanes_eq branch +4 (label 28 at #142) if no lanes of $3 == 0xFFFFFFFF
139. copy_constant $4 = 0xFFFFFFFF
140. copy_slot_masked [if_else_chain].result = Mask($4)
141. jump jump +13 (label 29 at #154)
142. label label 0x0000001C
143. copy_constant $4 = unknownInput
144. copy_constant $5 = 0x40800000 (4.0)
145. cmpeq_float $4 = equal($4, $5)
146. branch_if_no_active_lanes_eq branch +4 (label 30 at #150) if no lanes of $4 == 0xFFFFFFFF
147. zero_slot_unmasked $5 = 0
148. copy_slot_masked [if_else_chain].result = Mask($5)
149. jump jump +4 (label 31 at #153)
150. label label 0x0000001E
151. copy_constant $5 = 0xFFFFFFFF
152. copy_slot_masked [if_else_chain].result = Mask($5)
153. label label 0x0000001F
154. label label 0x0000001D
155. label label 0x0000001B
156. label label 0x00000019
157. copy_slot_unmasked $1 = [if_else_chain].result
158. label label 0x00000017
159. copy_slot_masked $0 = Mask($1)
160. label label 0x00000001
161. load_condition_mask CondMask = $26
162. swizzle_4 $0..3 = ($0..3).xxxx
163. copy_4_constants $4..7 = colorRed
164. copy_4_constants $8..11 = colorGreen
165. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
166. load_src src.rgba = $0..3