xref: /aosp_15_r20/external/skia/tests/sksl/runtime/Commutative.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1211 instructions
2
3store_device_xy01              $13..16 = DeviceCoords.xy01
4cmpeq_imm_float                $13 = equal($13, 0x3F000000 (0.5))
5cmpeq_imm_float                $14 = equal($14, 0x3F000000 (0.5))
6bitwise_and_int                $13 &= $14
7store_src_rg                   xy = src.rg
8init_lane_masks                CondMask = LoopMask = RetMask = true
9copy_4_uniforms                colorGreen = colorGreen
10trace_var                      TraceVar(colorGreen) when $13 is true
11copy_4_uniforms                colorRed = colorRed
12trace_var                      TraceVar(colorRed) when $13 is true
13copy_4_uniforms                testMatrix2x2 = testMatrix2x2
14trace_var                      TraceVar(testMatrix2x2) when $13 is true
15trace_enter                    TraceEnter(half4 main(float2 xy)) when $13 is true
16trace_var                      TraceVar(xy) when $13 is true
17copy_constant                  $0 = 0
18copy_slot_unmasked             $1 = $13
19copy_slot_masked               $0 = Mask($1)
20trace_scope                    TraceScope(+1) when $0 is true
21trace_line                     TraceLine(9) when $13 is true
22copy_constant                  ok = 0xFFFFFFFF
23trace_var                      TraceVar(ok) when $13 is true
24trace_line                     TraceLine(10) when $13 is true
25copy_uniform                   $1 = testMatrix2x2(0)
26cast_to_int_from_float         $1 = FloatToInt($1)
27copy_slot_unmasked             a = $1
28trace_var                      TraceVar(a) when $13 is true
29copy_2_uniforms                $1..2 = testMatrix2x2(0..1)
30copy_slot_unmasked             $1 = $2
31cast_to_int_from_float         $1 = FloatToInt($1)
32copy_slot_unmasked             b = $1
33trace_var                      TraceVar(b) when $13 is true
34trace_line                     TraceLine(11) when $13 is true
35copy_uniform                   c = testMatrix2x2(2)
36trace_var                      TraceVar(c) when $13 is true
37copy_2_uniforms                $1..2 = testMatrix2x2(2..3)
38copy_slot_unmasked             $1 = $2
39copy_slot_unmasked             d = $1
40trace_var                      TraceVar(d) when $13 is true
41trace_line                     TraceLine(13) when $13 is true
42copy_2_slots_unmasked          $1..2 = a, b
43bitwise_and_int                $1 &= $2
44copy_slot_unmasked             a_and_b = $1
45trace_var                      TraceVar(a_and_b) when $13 is true
46trace_line                     TraceLine(14) when $13 is true
47copy_slot_unmasked             $1 = b
48copy_slot_unmasked             $2 = a
49bitwise_and_int                $1 &= $2
50copy_slot_unmasked             b_and_a = $1
51trace_var                      TraceVar(b_and_a) when $13 is true
52trace_line                     TraceLine(15) when $13 is true
53copy_slot_unmasked             $1 = ok
54copy_2_slots_unmasked          $2..3 = a_and_b, b_and_a
55cmpeq_int                      $2 = equal($2, $3)
56bitwise_and_int                $1 &= $2
57copy_slot_unmasked             ok = $1
58trace_var                      TraceVar(ok) when $13 is true
59trace_line                     TraceLine(17) when $13 is true
60copy_2_slots_unmasked          $1..2 = a, b
61bitwise_or_int                 $1 |= $2
62copy_slot_unmasked             a_or_b = $1
63trace_var                      TraceVar(a_or_b) when $13 is true
64trace_line                     TraceLine(18) when $13 is true
65copy_slot_unmasked             $1 = b
66copy_slot_unmasked             $2 = a
67bitwise_or_int                 $1 |= $2
68copy_slot_unmasked             b_or_a = $1
69trace_var                      TraceVar(b_or_a) when $13 is true
70trace_line                     TraceLine(19) when $13 is true
71copy_slot_unmasked             $1 = ok
72copy_2_slots_unmasked          $2..3 = a_or_b, b_or_a
73cmpeq_int                      $2 = equal($2, $3)
74bitwise_and_int                $1 &= $2
75copy_slot_unmasked             ok = $1
76trace_var                      TraceVar(ok) when $13 is true
77trace_line                     TraceLine(21) when $13 is true
78copy_2_slots_unmasked          $1..2 = a, b
79bitwise_xor_int                $1 ^= $2
80copy_slot_unmasked             a_xor_b = $1
81trace_var                      TraceVar(a_xor_b) when $13 is true
82trace_line                     TraceLine(22) when $13 is true
83copy_slot_unmasked             $1 = b
84copy_slot_unmasked             $2 = a
85bitwise_xor_int                $1 ^= $2
86copy_slot_unmasked             b_xor_a = $1
87trace_var                      TraceVar(b_xor_a) when $13 is true
88trace_line                     TraceLine(23) when $13 is true
89copy_slot_unmasked             $1 = ok
90copy_2_slots_unmasked          $2..3 = a_xor_b, b_xor_a
91cmpeq_int                      $2 = equal($2, $3)
92bitwise_and_int                $1 &= $2
93copy_slot_unmasked             ok = $1
94trace_var                      TraceVar(ok) when $13 is true
95trace_line                     TraceLine(25) when $13 is true
96copy_2_slots_unmasked          $1..2 = a, b
97cmpeq_int                      $1 = equal($1, $2)
98copy_slot_unmasked             a_eq_b = $1
99trace_var                      TraceVar(a_eq_b) when $13 is true
100trace_line                     TraceLine(26) when $13 is true
101copy_slot_unmasked             $1 = b
102copy_slot_unmasked             $2 = a
103cmpeq_int                      $1 = equal($1, $2)
104copy_slot_unmasked             b_eq_a = $1
105trace_var                      TraceVar(b_eq_a) when $13 is true
106trace_line                     TraceLine(27) when $13 is true
107copy_slot_unmasked             $1 = ok
108copy_2_slots_unmasked          $2..3 = a_eq_b, b_eq_a
109cmpeq_int                      $2 = equal($2, $3)
110bitwise_and_int                $1 &= $2
111copy_slot_unmasked             ok = $1
112trace_var                      TraceVar(ok) when $13 is true
113trace_line                     TraceLine(29) when $13 is true
114copy_2_slots_unmasked          $1..2 = a, b
115cmpne_int                      $1 = notEqual($1, $2)
116copy_slot_unmasked             a_neq_b = $1
117trace_var                      TraceVar(a_neq_b) when $13 is true
118trace_line                     TraceLine(30) when $13 is true
119copy_slot_unmasked             $1 = b
120copy_slot_unmasked             $2 = a
121cmpne_int                      $1 = notEqual($1, $2)
122copy_slot_unmasked             b_neq_a = $1
123trace_var                      TraceVar(b_neq_a) when $13 is true
124trace_line                     TraceLine(31) when $13 is true
125copy_slot_unmasked             $1 = ok
126copy_2_slots_unmasked          $2..3 = a_neq_b, b_neq_a
127cmpeq_int                      $2 = equal($2, $3)
128bitwise_and_int                $1 &= $2
129copy_slot_unmasked             ok = $1
130trace_var                      TraceVar(ok) when $13 is true
131trace_line                     TraceLine(33) when $13 is true
132copy_2_slots_unmasked          $1..2 = a, b
133add_int                        $1 += $2
134copy_slot_unmasked             a_add_b = $1
135trace_var                      TraceVar(a_add_b) when $13 is true
136trace_line                     TraceLine(34) when $13 is true
137copy_slot_unmasked             $1 = b
138copy_slot_unmasked             $2 = a
139add_int                        $1 += $2
140copy_slot_unmasked             b_add_a = $1
141trace_var                      TraceVar(b_add_a) when $13 is true
142trace_line                     TraceLine(35) when $13 is true
143copy_slot_unmasked             $1 = ok
144copy_2_slots_unmasked          $2..3 = a_add_b, b_add_a
145cmpeq_int                      $2 = equal($2, $3)
146bitwise_and_int                $1 &= $2
147copy_slot_unmasked             ok = $1
148trace_var                      TraceVar(ok) when $13 is true
149trace_line                     TraceLine(37) when $13 is true
150copy_2_slots_unmasked          $1..2 = c, d
151add_float                      $1 += $2
152copy_slot_unmasked             c_add_d = $1
153trace_var                      TraceVar(c_add_d) when $13 is true
154trace_line                     TraceLine(38) when $13 is true
155copy_slot_unmasked             $1 = d
156copy_slot_unmasked             $2 = c
157add_float                      $1 += $2
158copy_slot_unmasked             d_add_c = $1
159trace_var                      TraceVar(d_add_c) when $13 is true
160trace_line                     TraceLine(39) when $13 is true
161copy_slot_unmasked             $1 = ok
162copy_2_slots_unmasked          $2..3 = c_add_d, d_add_c
163cmpeq_float                    $2 = equal($2, $3)
164bitwise_and_int                $1 &= $2
165copy_slot_unmasked             ok = $1
166trace_var                      TraceVar(ok) when $13 is true
167trace_line                     TraceLine(41) when $13 is true
168copy_2_slots_unmasked          $1..2 = a, b
169mul_int                        $1 *= $2
170copy_slot_unmasked             a_mul_b = $1
171trace_var                      TraceVar(a_mul_b) when $13 is true
172trace_line                     TraceLine(42) when $13 is true
173copy_slot_unmasked             $1 = b
174copy_slot_unmasked             $2 = a
175mul_int                        $1 *= $2
176copy_slot_unmasked             b_mul_a = $1
177trace_var                      TraceVar(b_mul_a) when $13 is true
178trace_line                     TraceLine(43) when $13 is true
179copy_slot_unmasked             $1 = ok
180copy_2_slots_unmasked          $2..3 = a_mul_b, b_mul_a
181cmpeq_int                      $2 = equal($2, $3)
182bitwise_and_int                $1 &= $2
183copy_slot_unmasked             ok = $1
184trace_var                      TraceVar(ok) when $13 is true
185trace_line                     TraceLine(45) when $13 is true
186copy_2_slots_unmasked          $1..2 = c, d
187mul_float                      $1 *= $2
188copy_slot_unmasked             c_mul_d = $1
189trace_var                      TraceVar(c_mul_d) when $13 is true
190trace_line                     TraceLine(46) when $13 is true
191copy_slot_unmasked             $1 = d
192copy_slot_unmasked             $2 = c
193mul_float                      $1 *= $2
194copy_slot_unmasked             d_mul_c = $1
195trace_var                      TraceVar(d_mul_c) when $13 is true
196trace_line                     TraceLine(47) when $13 is true
197copy_slot_unmasked             $1 = ok
198copy_2_slots_unmasked          $2..3 = c_mul_d, d_mul_c
199cmpeq_float                    $2 = equal($2, $3)
200bitwise_and_int                $1 &= $2
201copy_slot_unmasked             ok = $1
202trace_var                      TraceVar(ok) when $13 is true
203trace_line                     TraceLine(49) when $13 is true
204copy_slot_unmasked             $1 = ok
205swizzle_4                      $1..4 = ($1..4).xxxx
206copy_4_uniforms                $5..8 = colorRed
207copy_4_uniforms                $9..12 = colorGreen
208mix_4_ints                     $1..4 = mix($5..8, $9..12, $1..4)
209copy_4_slots_unmasked          [main].result = $1..4
210trace_var                      TraceVar([main].result) when $13 is true
211trace_scope                    TraceScope(-1) when $0 is true
212trace_exit                     TraceExit(half4 main(float2 xy)) when $13 is true
213load_src                       src.rgba = [main].result
214