xref: /aosp_15_r20/external/skia/tests/sksl/shared/TernarySideEffects.skrp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1119 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5splat_2_constants              x, y = 0x3F800000 (1.0)
6store_condition_mask           $16 = CondMask
7copy_2_slots_unmasked          $17..18 = x, y
8cmpeq_float                    $17 = equal($17, $18)
9merge_condition_mask           CondMask = $16 & $17
10copy_slot_unmasked             $0 = x
11add_imm_float                  $0 += 0x3F800000 (1.0)
12copy_slot_masked               x = Mask($0)
13merge_inv_condition_mask       CondMask = $16 & ~$17
14copy_slot_unmasked             $1 = y
15add_imm_float                  $1 += 0x3F800000 (1.0)
16copy_slot_masked               y = Mask($1)
17copy_slot_masked               $0 = Mask($1)
18load_condition_mask            CondMask = $16
19store_condition_mask           $16 = CondMask
20copy_2_slots_unmasked          $17..18 = x, y
21cmpeq_float                    $17 = equal($17, $18)
22merge_condition_mask           CondMask = $16 & $17
23copy_slot_unmasked             $0 = x
24add_imm_float                  $0 += 0x40400000 (3.0)
25copy_slot_masked               x = Mask($0)
26merge_inv_condition_mask       CondMask = $16 & ~$17
27copy_slot_unmasked             $1 = y
28add_imm_float                  $1 += 0x40400000 (3.0)
29copy_slot_masked               y = Mask($1)
30copy_slot_masked               $0 = Mask($1)
31load_condition_mask            CondMask = $16
32store_condition_mask           $16 = CondMask
33copy_2_slots_unmasked          $17..18 = x, y
34cmplt_float                    $17 = lessThan($17, $18)
35merge_condition_mask           CondMask = $16 & $17
36copy_slot_unmasked             $0 = x
37add_imm_float                  $0 += 0x40A00000 (5.0)
38copy_slot_masked               x = Mask($0)
39merge_inv_condition_mask       CondMask = $16 & ~$17
40copy_slot_unmasked             $1 = y
41add_imm_float                  $1 += 0x40A00000 (5.0)
42copy_slot_masked               y = Mask($1)
43copy_slot_masked               $0 = Mask($1)
44load_condition_mask            CondMask = $16
45store_condition_mask           $16 = CondMask
46copy_2_slots_unmasked          $17..18 = x, y
47cmple_float                    $17 = lessThanEqual($17, $18)
48merge_condition_mask           CondMask = $16 & $17
49copy_slot_unmasked             $0 = x
50add_imm_float                  $0 += 0x41100000 (9.0)
51copy_slot_masked               x = Mask($0)
52merge_inv_condition_mask       CondMask = $16 & ~$17
53copy_slot_unmasked             $1 = y
54add_imm_float                  $1 += 0x41100000 (9.0)
55copy_slot_masked               y = Mask($1)
56copy_slot_masked               $0 = Mask($1)
57load_condition_mask            CondMask = $16
58store_condition_mask           $16 = CondMask
59copy_2_slots_unmasked          $17..18 = x, y
60cmpne_float                    $17 = notEqual($17, $18)
61copy_slot_unmasked             $0 = y
62merge_condition_mask           CondMask = $16 & $17
63branch_if_no_lanes_active      branch_if_no_lanes_active +5 (label 4 at #66)
64copy_slot_unmasked             $1 = x
65add_imm_float                  $1 += 0x3F800000 (1.0)
66copy_slot_masked               x = Mask($1)
67copy_slot_masked               $0 = Mask($1)
68label                          label 0x00000004
69load_condition_mask            CondMask = $16
70store_condition_mask           $16 = CondMask
71copy_2_slots_unmasked          $17..18 = x, y
72cmpeq_float                    $17 = equal($17, $18)
73copy_slot_unmasked             $0 = y
74merge_condition_mask           CondMask = $16 & $17
75branch_if_no_lanes_active      branch_if_no_lanes_active +5 (label 5 at #78)
76copy_slot_unmasked             $1 = x
77add_imm_float                  $1 += 0x40000000 (2.0)
78copy_slot_masked               x = Mask($1)
79copy_slot_masked               $0 = Mask($1)
80label                          label 0x00000005
81load_condition_mask            CondMask = $16
82store_condition_mask           $16 = CondMask
83copy_2_slots_unmasked          $17..18 = x, y
84cmpne_float                    $17 = notEqual($17, $18)
85merge_condition_mask           CondMask = $16 & $17
86copy_slot_unmasked             $0 = x
87merge_inv_condition_mask       CondMask = $16 & ~$17
88copy_slot_unmasked             $1 = y
89add_imm_float                  $1 += 0x40400000 (3.0)
90copy_slot_masked               y = Mask($1)
91copy_slot_masked               $0 = Mask($1)
92load_condition_mask            CondMask = $16
93store_condition_mask           $16 = CondMask
94copy_2_slots_unmasked          $17..18 = x, y
95cmpeq_float                    $17 = equal($17, $18)
96merge_condition_mask           CondMask = $16 & $17
97copy_slot_unmasked             $0 = x
98merge_inv_condition_mask       CondMask = $16 & ~$17
99copy_slot_unmasked             $1 = y
100add_imm_float                  $1 += 0x40800000 (4.0)
101copy_slot_masked               y = Mask($1)
102copy_slot_masked               $0 = Mask($1)
103load_condition_mask            CondMask = $16
104copy_constant                  b = 0xFFFFFFFF
105copy_constant                  $0 = 0
106copy_slot_unmasked             b = $0
107copy_slot_unmasked             $1 = b
108copy_constant                  $2 = 0
109mix_int                        $0 = mix($1, $2, $0)
110copy_slot_unmasked             c = $0
111swizzle_4                      $0..3 = ($0..3).xxxx
112copy_slot_unmasked             $4 = x
113cmpeq_imm_float                $4 = equal($4, 0x41000000 (8.0))
114copy_slot_unmasked             $5 = y
115cmpeq_imm_float                $5 = equal($5, 0x41880000 (17.0))
116bitwise_and_int                $4 &= $5
117swizzle_4                      $4..7 = ($4..7).xxxx
118copy_4_uniforms                $8..11 = colorRed
119copy_4_uniforms                $12..15 = colorGreen
120mix_4_ints                     $4..7 = mix($8..11, $12..15, $4..7)
121copy_4_uniforms                $8..11 = colorRed
122mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
123load_src                       src.rgba = $0..3
124