• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
194 instructions
2
3store_src_rg                   xy = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5copy_constant                  scratchVar = 0
6store_condition_mask           $12 = CondMask
7store_condition_mask           $17 = CondMask
8store_condition_mask           $22 = CondMask
9branch_if_no_lanes_active      branch_if_no_lanes_active +6 (label 4 at #13)
10store_return_mask              $23 = RetMask
11copy_constant                  $24 = 0xFFFFFFFF
12copy_slot_masked               [test_flat].result = Mask($24)
13load_return_mask               RetMask = $23
14copy_slot_unmasked             $23 = [test_flat].result
15label                          label 0x00000004
16copy_constant                  $18 = 0
17merge_condition_mask           CondMask = $22 & $23
18branch_if_no_lanes_active      branch_if_no_lanes_active +24 (label 3 at #40)
19store_return_mask              $19 = RetMask
20copy_constant                  $20 = 0
21copy_uniform                   $21 = colorGreen(1)
22cmplt_float                    $20 = lessThan($20, $21)
23branch_if_no_active_lanes_eq   branch +5 (label 6 at #26) if no lanes of $20 == 0xFFFFFFFF
24copy_constant                  $21 = 0xFFFFFFFF
25copy_slot_masked               [test_if].result = Mask($21)
26mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
27jump                           jump +5 (label 7 at #30)
28label                          label 0x00000006
29copy_slot_unmasked             $21 = scratchVar
30add_imm_int                    $21 += 0x00000001
31copy_slot_masked               scratchVar = Mask($21)
32label                          label 0x00000007
33copy_slot_unmasked             $20 = scratchVar
34add_imm_int                    $20 += 0x00000001
35copy_slot_masked               scratchVar = Mask($20)
36copy_constant                  $20 = 0
37copy_slot_masked               [test_if].result = Mask($20)
38load_return_mask               RetMask = $19
39copy_slot_unmasked             $19 = [test_if].result
40label                          label 0x00000005
41copy_slot_masked               $18 = Mask($19)
42label                          label 0x00000003
43load_condition_mask            CondMask = $22
44copy_constant                  $13 = 0
45merge_condition_mask           CondMask = $17 & $18
46branch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 2 at #62)
47store_return_mask              $14 = RetMask
48copy_uniform                   $15 = colorGreen(1)
49cmpeq_imm_float                $15 = equal($15, 0)
50branch_if_no_active_lanes_eq   branch +5 (label 9 at #53) if no lanes of $15 == 0xFFFFFFFF
51copy_constant                  $16 = 0
52copy_slot_masked               [test_else].result = Mask($16)
53mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
54jump                           jump +5 (label 10 at #57)
55label                          label 0x00000009
56copy_constant                  $16 = 0xFFFFFFFF
57copy_slot_masked               [test_else].result = Mask($16)
58mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
59label                          label 0x0000000A
60load_return_mask               RetMask = $14
61copy_slot_unmasked             $14 = [test_else].result
62label                          label 0x00000008
63copy_slot_masked               $13 = Mask($14)
64label                          label 0x00000002
65load_condition_mask            CondMask = $17
66copy_constant                  $0 = 0
67merge_condition_mask           CondMask = $12 & $13
68branch_if_no_lanes_active      branch_if_no_lanes_active +38 (label 1 at #104)
69store_return_mask              $1 = RetMask
70copy_constant                  x = 0
71store_loop_mask                $2 = LoopMask
72jump                           jump +17 (label 13 at #87)
73label                          label 0x0000000E
74copy_uniform                   $3 = colorGreen(1)
75cmpeq_imm_float                $3 = equal($3, 0)
76branch_if_no_active_lanes_eq   branch +5 (label 15 at #79) if no lanes of $3 == 0xFFFFFFFF
77copy_constant                  $4 = 0
78copy_slot_masked               [test_loop_if].result = Mask($4)
79mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
80jump                           jump +5 (label 16 at #83)
81label                          label 0x0000000F
82copy_constant                  $4 = 0xFFFFFFFF
83copy_slot_masked               [test_loop_if].result = Mask($4)
84mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
85label                          label 0x00000010
86copy_slot_unmasked             $3 = x
87add_imm_int                    $3 += 0x00000001
88copy_slot_masked               x = Mask($3)
89label                          label 0x0000000D
90copy_slot_unmasked             $3 = x
91cmple_imm_int                  $3 = lessThanEqual($3, 0x00000001)
92merge_loop_mask                LoopMask &= $3
93stack_rewind
94branch_if_any_lanes_active     branch_if_any_lanes_active -21 (label 14 at #71)
95label                          label 0x0000000C
96load_loop_mask                 LoopMask = $2
97copy_slot_unmasked             $2 = scratchVar
98add_imm_int                    $2 += 0x00000001
99copy_slot_masked               scratchVar = Mask($2)
100copy_constant                  $2 = 0xFFFFFFFF
101copy_slot_masked               [test_loop_if].result = Mask($2)
102load_return_mask               RetMask = $1
103copy_slot_unmasked             $1 = [test_loop_if].result
104label                          label 0x0000000B
105copy_slot_masked               $0 = Mask($1)
106label                          label 0x00000001
107load_condition_mask            CondMask = $12
108swizzle_4                      $0..3 = ($0..3).xxxx
109copy_4_uniforms                $4..7 = colorRed
110copy_4_uniforms                $8..11 = colorGreen
111mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
112load_src                       src.rgba = $0..3
113