xref: /aosp_15_r20/external/skia/tests/sksl/runtime/PrecisionQualifiers.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Worker373 instructions
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots]
4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x40000000 (2.0)
5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0
6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0
7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0x40000000 (2.0)
8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x40400000 (3.0)
9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0
10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0
11*c8dee2aaSAndroid Build Coastguard Workeri7 = 0
12*c8dee2aaSAndroid Build Coastguard Workeri8 = 0x40400000 (3.0)
13*c8dee2aaSAndroid Build Coastguard Workeri9 = 0
14*c8dee2aaSAndroid Build Coastguard Workeri10 = 0
15*c8dee2aaSAndroid Build Coastguard Workeri11 = 0
16*c8dee2aaSAndroid Build Coastguard Workeri12 = 0x40400000 (3.0)
17*c8dee2aaSAndroid Build Coastguard Workeri13 = 0x40800000 (4.0)
18*c8dee2aaSAndroid Build Coastguard Workeri14 = 0
19*c8dee2aaSAndroid Build Coastguard Workeri15 = 0
20*c8dee2aaSAndroid Build Coastguard Workeri16 = 0
21*c8dee2aaSAndroid Build Coastguard Workeri17 = 0
22*c8dee2aaSAndroid Build Coastguard Workeri18 = 0x40800000 (4.0)
23*c8dee2aaSAndroid Build Coastguard Workeri19 = 0
24*c8dee2aaSAndroid Build Coastguard Workeri20 = 0
25*c8dee2aaSAndroid Build Coastguard Workeri21 = 0
26*c8dee2aaSAndroid Build Coastguard Workeri22 = 0
27*c8dee2aaSAndroid Build Coastguard Workeri23 = 0x40800000 (4.0)
28*c8dee2aaSAndroid Build Coastguard Workeri24 = 0
29*c8dee2aaSAndroid Build Coastguard Workeri25 = 0
30*c8dee2aaSAndroid Build Coastguard Workeri26 = 0
31*c8dee2aaSAndroid Build Coastguard Workeri27 = 0
32*c8dee2aaSAndroid Build Coastguard Workeri28 = 0x40800000 (4.0)
33*c8dee2aaSAndroid Build Coastguard Workeri29 = 0
34*c8dee2aaSAndroid Build Coastguard Workeri30 = 0x3F800000 (1.0)
35*c8dee2aaSAndroid Build Coastguard Worker
36*c8dee2aaSAndroid Build Coastguard Workerstore_device_xy01              $13..16 = DeviceCoords.xy01
37*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $13 = equal($13, 0x3F000000 (0.5))
38*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $14 = equal($14, 0x3F000000 (0.5))
39*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $13 &= $14
40*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg                   coords = src.rg
41*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks                CondMask = LoopMask = RetMask = true
42*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                colorGreen = colorGreen
43*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(colorGreen) when $13 is true
44*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                colorRed = colorRed
45*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(colorRed) when $13 is true
46*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(vec4 main(vec2 coords)) when $13 is true
47*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(coords) when $13 is true
48*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $0 = 0
49*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $1 = $13
50*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $0 = Mask($1)
51*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $0 is true
52*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(58) when $13 is true
53*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              zero = 0
54*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(zero) when $13 is true
55*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(59) when $13 is true
56*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              one = 0x3F800000 (1.0)
57*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(one) when $13 is true
58*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(60) when $13 is true
59*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                green = colorGreen
60*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(green) when $13 is true
61*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(61) when $13 is true
62*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $1..4 = green
63*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $5..8 = one
64*c8dee2aaSAndroid Build Coastguard Workermul_4_floats                   $1..4 *= $5..8
65*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $5..8 = zero
66*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats                   $1..4 += $5..8
67*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          green = $1..4
68*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(green) when $13 is true
69*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(63) when $13 is true
70*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms                red = colorRed
71*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(red) when $13 is true
72*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(64) when $13 is true
73*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $1..4 = red
74*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $5..8 = zero
75*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats                   $1..4 += $5..8
76*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $5..8 = one
77*c8dee2aaSAndroid Build Coastguard Workermul_4_floats                   $1..4 *= $5..8
78*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          red = $1..4
79*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(red) when $13 is true
80*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(66) when $13 is true
81*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $17 = CondMask
82*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $21 = CondMask
83*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $25 = CondMask
84*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $33 = CondMask
85*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $69 = CondMask
86*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask           $81 = CondMask
87*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 7 at #81)
88*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool test_scalar()) when $13 is true
89*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $82 = 0
90*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $83 = $13
91*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $82 = Mask($83)
92*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $82 is true
93*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(6) when $13 is true
94*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  mp = 0x3F000000 (0.5)
95*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp) when $13 is true
96*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(7) when $13 is true
97*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             hp = mp
98*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp) when $13 is true
99*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(8) when $13 is true
100*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  ihp = 0x00000002 (2.802597e-45)
101*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(ihp) when $13 is true
102*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(9) when $13 is true
103*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             imp = ihp
104*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(imp) when $13 is true
105*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(11) when $13 is true
106*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $83..84 = mp, hp
107*c8dee2aaSAndroid Build Coastguard Workercmpeq_float                    $83 = equal($83, $84)
108*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $84..85 = ihp, imp
109*c8dee2aaSAndroid Build Coastguard Workercmpeq_int                      $84 = equal($84, $85)
110*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $83 &= $84
111*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_scalar].result = Mask($83)
112*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([test_scalar].result) when $13 is true
113*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $82 is true
114*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool test_scalar()) when $13 is true
115*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $82 = [test_scalar].result
116*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000007
117*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $70 = 0
118*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $81 & $82
119*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +82 (label 6 at #166)
120*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool test_vector()) when $13 is true
121*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $71 = 0
122*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $72 = $13
123*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $71 = Mask($72)
124*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $71 is true
125*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(15) when $13 is true
126*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              mp2 = 0x40000000 (2.0)
127*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp2) when $13 is true
128*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(16) when $13 is true
129*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          hp2 = mp2
130*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp2) when $13 is true
131*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(17) when $13 is true
132*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              mp3 = 0x40400000 (3.0)
133*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp3) when $13 is true
134*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(18) when $13 is true
135*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          hp3 = mp3
136*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp3) when $13 is true
137*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(19) when $13 is true
138*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              mp4 = 0x40800000 (4.0)
139*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp4) when $13 is true
140*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(20) when $13 is true
141*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp4 = mp4
142*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp4) when $13 is true
143*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(22) when $13 is true
144*c8dee2aaSAndroid Build Coastguard Workersplat_2_constants              ihp2 = 0x00000002 (2.802597e-45)
145*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(ihp2) when $13 is true
146*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(23) when $13 is true
147*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          imp2 = ihp2
148*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(imp2) when $13 is true
149*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(24) when $13 is true
150*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants              ihp3 = 0x00000003 (4.203895e-45)
151*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(ihp3) when $13 is true
152*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(25) when $13 is true
153*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          imp3 = ihp3
154*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(imp3) when $13 is true
155*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(26) when $13 is true
156*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              ihp4 = 0x00000004 (5.605194e-45)
157*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(ihp4) when $13 is true
158*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(27) when $13 is true
159*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          imp4 = ihp4
160*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(imp4) when $13 is true
161*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(29) when $13 is true
162*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $72..75 = mp2, hp2
163*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $72..73 = equal($72..73, $74..75)
164*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $72 &= $73
165*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $73..75 = hp3
166*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked          $76..78 = mp3
167*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_floats                 $73..75 = equal($73..75, $76..78)
168*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $74 &= $75
169*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $73 &= $74
170*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $72 &= $73
171*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $73..76 = mp4
172*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $77..80 = hp4
173*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $73..76 = equal($73..76, $77..80)
174*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $73..74 &= $75..76
175*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $73 &= $74
176*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $72 &= $73
177*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $73..74 = imp2
178*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $75..76 = ihp2
179*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_ints                   $73..74 = equal($73..74, $75..76)
180*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $73 &= $74
181*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $72 &= $73
182*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $73..76 = ihp3, imp3(0)
183*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $77..78 = imp3(1..2)
184*c8dee2aaSAndroid Build Coastguard Workercmpeq_3_ints                   $73..75 = equal($73..75, $76..78)
185*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $74 &= $75
186*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $73 &= $74
187*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $72 &= $73
188*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $73..76 = imp4
189*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $77..80 = ihp4
190*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_ints                   $73..76 = equal($73..76, $77..80)
191*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $73..74 &= $75..76
192*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $73 &= $74
193*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $72 &= $73
194*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_vector].result = Mask($72)
195*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([test_vector].result) when $13 is true
196*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $71 is true
197*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool test_vector()) when $13 is true
198*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $71 = [test_vector].result
199*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000008
200*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $70 = Mask($71)
201*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000006
202*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $81
203*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $34 = 0
204*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $69 & $70
205*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +74 (label 5 at #244)
206*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool test_matrix()) when $13 is true
207*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $35 = 0
208*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $36 = $13
209*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $35 = Mask($36)
210*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $35 is true
211*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(34) when $13 is true
212*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp2₁ = i0..3 [0x40000000 (2.0), 0, 0, 0x40000000 (2.0)]
213*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp2₁) when $13 is true
214*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(35) when $13 is true
215*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp2₁ = mp2₁
216*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp2₁) when $13 is true
217*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(36) when $13 is true
218*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp3₁(0..3) = i4..7 [0x40400000 (3.0), 0, 0, 0]
219*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp3₁(4..7) = i8..11 [0x40400000 (3.0), 0, 0, 0]
220*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  mp3₁(8) = 0x40400000 (3.0)
221*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp3₁) when $13 is true
222*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(37) when $13 is true
223*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp3₁(0..3) = mp3₁(0..3)
224*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp3₁(4..7) = mp3₁(4..7)
225*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             hp3₁(8) = mp3₁(8)
226*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp3₁) when $13 is true
227*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(38) when $13 is true
228*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp4₁(0..3) = i13..16 [0x40800000 (4.0), 0, 0, 0]
229*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp4₁(4..7) = i17..20 [0, 0x40800000 (4.0), 0, 0]
230*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp4₁(8..11) = i21..24 [0, 0, 0x40800000 (4.0), 0]
231*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked     mp4₁(12..15) = i25..28 [0, 0, 0, 0x40800000 (4.0)]
232*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mp4₁) when $13 is true
233*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(39) when $13 is true
234*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp4₁(0..3) = mp4₁(0..3)
235*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp4₁(4..7) = mp4₁(4..7)
236*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp4₁(8..11) = mp4₁(8..11)
237*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          hp4₁(12..15) = mp4₁(12..15)
238*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hp4₁) when $13 is true
239*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(41) when $13 is true
240*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $36..39 = mp2₁
241*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $40..43 = hp2₁
242*c8dee2aaSAndroid Build Coastguard Workercmpeq_4_floats                 $36..39 = equal($36..39, $40..43)
243*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $36..37 &= $38..39
244*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $36 &= $37
245*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $37..40 = hp3₁(0..3)
246*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $41..44 = hp3₁(4..7)
247*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $45 = hp3₁(8)
248*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $46..49 = mp3₁(0..3)
249*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $50..53 = mp3₁(4..7)
250*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $54 = mp3₁(8)
251*c8dee2aaSAndroid Build Coastguard Workercmpeq_n_floats                 $37..45 = equal($37..45, $46..54)
252*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints             $38..41 &= $42..45
253*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $38..39 &= $40..41
254*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $38 &= $39
255*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $37 &= $38
256*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $36 &= $37
257*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $37..40 = mp4₁(0..3)
258*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $41..44 = mp4₁(4..7)
259*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $45..48 = mp4₁(8..11)
260*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $49..52 = mp4₁(12..15)
261*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $53..56 = hp4₁(0..3)
262*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $57..60 = hp4₁(4..7)
263*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $61..64 = hp4₁(8..11)
264*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $65..68 = hp4₁(12..15)
265*c8dee2aaSAndroid Build Coastguard Workercmpeq_n_floats                 $37..52 = equal($37..52, $53..68)
266*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints             $45..48 &= $49..52
267*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints             $41..44 &= $45..48
268*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints             $37..40 &= $41..44
269*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints             $37..38 &= $39..40
270*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $37 &= $38
271*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $36 &= $37
272*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_matrix].result = Mask($36)
273*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([test_matrix].result) when $13 is true
274*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $35 is true
275*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool test_matrix()) when $13 is true
276*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $35 = [test_matrix].result
277*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000009
278*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $34 = Mask($35)
279*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000005
280*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $69
281*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $26 = 0
282*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $33 & $34
283*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +62 (label 4 at #310)
284*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool test_array()) when $13 is true
285*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $27 = 0
286*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $28 = $13
287*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $27 = Mask($28)
288*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $27 is true
289*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(45) when $13 is true
290*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  mf[0] = 0
291*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mf[0]) when $13 is true
292*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(45) when $13 is true
293*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $28 = 0x3F800000 (1.0)
294*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               mf[0] = Mask($28)
295*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mf[0]) when $13 is true
296*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(46) when $13 is true
297*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  hf[0] = 0
298*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hf[0]) when $13 is true
299*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(46) when $13 is true
300*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $28 = 0x3F800000 (1.0)
301*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               hf[0] = Mask($28)
302*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hf[0]) when $13 is true
303*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(47) when $13 is true
304*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              mv[0], mv[1] = 0
305*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mv[0], mv[1]) when $13 is true
306*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(47) when $13 is true
307*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $28..29 = i29..30 [0, 0x3F800000 (1.0)]
308*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            mv[0] = Mask($28..29)
309*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mv[0]) when $13 is true
310*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(47) when $13 is true
311*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $28..29 = i3..4 [0x40000000 (2.0), 0x40400000 (3.0)]
312*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            mv[1] = Mask($28..29)
313*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(mv[1]) when $13 is true
314*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(48) when $13 is true
315*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants              hv[0], hv[1] = 0
316*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hv[0], hv[1]) when $13 is true
317*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(48) when $13 is true
318*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $28..29 = i29..30 [0, 0x3F800000 (1.0)]
319*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            hv[0] = Mask($28..29)
320*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hv[0]) when $13 is true
321*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(48) when $13 is true
322*c8dee2aaSAndroid Build Coastguard Workercopy_2_immutables_unmasked     $28..29 = i3..4 [0x40000000 (2.0), 0x40400000 (3.0)]
323*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_masked            hv[1] = Mask($28..29)
324*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(hv[1]) when $13 is true
325*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(50) when $13 is true
326*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $28..29 = mf[0], hf[0]
327*c8dee2aaSAndroid Build Coastguard Workercmpeq_float                    $28 = equal($28, $29)
328*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $29..30 = hv[0]
329*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $31..32 = mv[0]
330*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $29..30 = equal($29..30, $31..32)
331*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $29 &= $30
332*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $28 &= $29
333*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $29..30 = mv[1]
334*c8dee2aaSAndroid Build Coastguard Workercopy_2_slots_unmasked          $31..32 = hv[1]
335*c8dee2aaSAndroid Build Coastguard Workercmpeq_2_floats                 $29..30 = equal($29..30, $31..32)
336*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $29 &= $30
337*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int                $28 &= $29
338*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [test_array].result = Mask($28)
339*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([test_array].result) when $13 is true
340*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $27 is true
341*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool test_array()) when $13 is true
342*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $27 = [test_array].result
343*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000A
344*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $26 = Mask($27)
345*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000004
346*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $33
347*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $22 = 0
348*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $25 & $26
349*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 3 at #332)
350*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool highp_param(float value)) when $13 is true
351*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  value = 0x3F800000 (1.0)
352*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(value) when $13 is true
353*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $23 = 0
354*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $24 = $13
355*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $23 = Mask($24)
356*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $23 is true
357*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(53) when $13 is true
358*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $24 = value
359*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $24 = equal($24, 0x3F800000 (1.0))
360*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [highp_param].result = Mask($24)
361*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([highp_param].result) when $13 is true
362*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $23 is true
363*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool highp_param(float value)) when $13 is true
364*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $23 = [highp_param].result
365*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000B
366*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $22 = Mask($23)
367*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000003
368*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $25
369*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $18 = 0
370*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $21 & $22
371*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 2 at #354)
372*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool mediump_param(half value)) when $13 is true
373*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  value₁ = 0x40000000 (2.0)
374*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(value₁) when $13 is true
375*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $19 = 0
376*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $20 = $13
377*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $19 = Mask($20)
378*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $19 is true
379*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(54) when $13 is true
380*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $20 = value₁
381*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $20 = equal($20, 0x40000000 (2.0))
382*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [mediump_param].result = Mask($20)
383*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([mediump_param].result) when $13 is true
384*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $19 is true
385*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool mediump_param(half value)) when $13 is true
386*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $19 = [mediump_param].result
387*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000C
388*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $18 = Mask($19)
389*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000002
390*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $21
391*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $1 = 0
392*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask           CondMask = $17 & $18
393*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 1 at #376)
394*c8dee2aaSAndroid Build Coastguard Workertrace_enter                    TraceEnter(bool lowp_param(half value)) when $13 is true
395*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  value₂ = 0x40400000 (3.0)
396*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar(value₂) when $13 is true
397*c8dee2aaSAndroid Build Coastguard Workercopy_constant                  $2 = 0
398*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $3 = $13
399*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $2 = Mask($3)
400*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(+1) when $2 is true
401*c8dee2aaSAndroid Build Coastguard Workertrace_line                     TraceLine(55) when $13 is true
402*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $3 = value₂
403*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float                $3 = equal($3, 0x40400000 (3.0))
404*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               [lowp_param].result = Mask($3)
405*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([lowp_param].result) when $13 is true
406*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $2 is true
407*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(bool lowp_param(half value)) when $13 is true
408*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked             $2 = [lowp_param].result
409*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x0000000D
410*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked               $1 = Mask($2)
411*c8dee2aaSAndroid Build Coastguard Workerlabel                          label 0x00000001
412*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask            CondMask = $17
413*c8dee2aaSAndroid Build Coastguard Workerswizzle_4                      $1..4 = ($1..4).xxxx
414*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $5..8 = red
415*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          $9..12 = green
416*c8dee2aaSAndroid Build Coastguard Workermix_4_ints                     $1..4 = mix($5..8, $9..12, $1..4)
417*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked          [main].result = $1..4
418*c8dee2aaSAndroid Build Coastguard Workertrace_var                      TraceVar([main].result) when $13 is true
419*c8dee2aaSAndroid Build Coastguard Workertrace_scope                    TraceScope(-1) when $0 is true
420*c8dee2aaSAndroid Build Coastguard Workertrace_exit                     TraceExit(vec4 main(vec2 coords)) when $13 is true
421*c8dee2aaSAndroid Build Coastguard Workerload_src                       src.rgba = [main].result
422