• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1157 instructions
2
3store_src_rg                   xy = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5store_condition_mask           $12 = CondMask
6store_condition_mask           $15 = CondMask
7store_condition_mask           $21 = CondMask
8store_condition_mask           $26 = CondMask
9store_condition_mask           $32 = CondMask
10store_condition_mask           $36 = CondMask
11store_condition_mask           $40 = CondMask
12branch_if_no_lanes_active      branch_if_no_lanes_active +15 (label 8 at #25)
13store_return_mask              $41 = RetMask
14store_loop_mask                $42 = LoopMask
15label                          label 0x0000000A
16copy_constant                  $43 = 0xFFFFFFFF
17copy_slot_masked               [test_return].result = Mask($43)
18mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
19copy_constant                  $43 = 0
20merge_loop_mask                LoopMask &= $43
21stack_rewind
22branch_if_any_lanes_active     branch_if_any_lanes_active -7 (label 10 at #13)
23label                          label 0x00000009
24load_loop_mask                 LoopMask = $42
25load_return_mask               RetMask = $41
26copy_slot_unmasked             $41 = [test_return].result
27label                          label 0x00000008
28copy_constant                  $37 = 0
29merge_condition_mask           CondMask = $40 & $41
30branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 7 at #42)
31store_loop_mask                $38 = LoopMask
32label                          label 0x0000000D
33branch_if_all_lanes_active     branch_if_all_lanes_active +6 (label 12 at #37)
34mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
35copy_constant                  $39 = 0
36merge_loop_mask                LoopMask &= $39
37stack_rewind
38branch_if_any_lanes_active     branch_if_any_lanes_active -6 (label 13 at #30)
39label                          label 0x0000000C
40load_loop_mask                 LoopMask = $38
41copy_constant                  $38 = 0xFFFFFFFF
42label                          label 0x0000000B
43copy_slot_masked               $37 = Mask($38)
44label                          label 0x00000007
45load_condition_mask            CondMask = $40
46copy_constant                  $33 = 0
47merge_condition_mask           CondMask = $36 & $37
48branch_if_no_lanes_active      branch_if_no_lanes_active +15 (label 6 at #61)
49store_loop_mask                $34 = LoopMask
50label                          label 0x00000010
51copy_constant                  $40 = 0
52continue_op                    $40 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
53reenable_loop_mask             LoopMask |= $40
54copy_constant                  $35 = 0
55merge_loop_mask                LoopMask &= $35
56stack_rewind
57branch_if_any_lanes_active     branch_if_any_lanes_active -7 (label 16 at #48)
58label                          label 0x0000000F
59load_loop_mask                 LoopMask = $34
60copy_constant                  $34 = 0xFFFFFFFF
61label                          label 0x0000000E
62copy_slot_masked               $33 = Mask($34)
63label                          label 0x00000006
64load_condition_mask            CondMask = $36
65copy_constant                  $27 = 0
66merge_condition_mask           CondMask = $32 & $33
67branch_if_no_lanes_active      branch_if_no_lanes_active +31 (label 5 at #96)
68store_return_mask              $28 = RetMask
69store_loop_mask                $29 = LoopMask
70label                          label 0x00000013
71copy_constant                  $36 = 0
72copy_constant                  $30 = 0
73copy_uniform                   $31 = colorGreen(1)
74cmplt_float                    $30 = lessThan($30, $31)
75branch_if_no_active_lanes_eq   branch +5 (label 20 at #78) if no lanes of $30 == 0xFFFFFFFF
76copy_constant                  $31 = 0xFFFFFFFF
77copy_slot_masked               [test_if_return].result = Mask($31)
78mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
79jump                           jump +4 (label 21 at #81)
80label                          label 0x00000014
81branch_if_all_lanes_active     branch_if_all_lanes_active +9 (label 18 at #88)
82mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
83label                          label 0x00000015
84continue_op                    $36 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
85reenable_loop_mask             LoopMask |= $36
86copy_constant                  $30 = 0
87merge_loop_mask                LoopMask &= $30
88stack_rewind
89branch_if_any_lanes_active     branch_if_any_lanes_active -19 (label 19 at #68)
90label                          label 0x00000012
91load_loop_mask                 LoopMask = $29
92copy_constant                  $29 = 0
93copy_slot_masked               [test_if_return].result = Mask($29)
94load_return_mask               RetMask = $28
95copy_slot_unmasked             $28 = [test_if_return].result
96label                          label 0x00000011
97copy_slot_masked               $27 = Mask($28)
98label                          label 0x00000005
99load_condition_mask            CondMask = $32
100copy_constant                  $22 = 0
101merge_condition_mask           CondMask = $26 & $27
102branch_if_no_lanes_active      branch_if_no_lanes_active +24 (label 4 at #124)
103store_loop_mask                $23 = LoopMask
104label                          label 0x00000018
105copy_constant                  $32 = 0
106copy_constant                  $24 = 0
107copy_uniform                   $25 = colorGreen(1)
108cmplt_float                    $24 = lessThan($24, $25)
109branch_if_no_active_lanes_eq   branch +4 (label 25 at #111) if no lanes of $24 == 0xFFFFFFFF
110branch_if_all_lanes_active     branch_if_all_lanes_active +11 (label 23 at #119)
111mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
112jump                           jump +3 (label 26 at #113)
113label                          label 0x00000019
114continue_op                    $32 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
115label                          label 0x0000001A
116reenable_loop_mask             LoopMask |= $32
117copy_constant                  $24 = 0
118merge_loop_mask                LoopMask &= $24
119stack_rewind
120branch_if_any_lanes_active     branch_if_any_lanes_active -16 (label 24 at #102)
121label                          label 0x00000017
122load_loop_mask                 LoopMask = $23
123copy_constant                  $23 = 0xFFFFFFFF
124label                          label 0x00000016
125copy_slot_masked               $22 = Mask($23)
126label                          label 0x00000004
127load_condition_mask            CondMask = $26
128copy_constant                  $16 = 0
129merge_condition_mask           CondMask = $21 & $22
130branch_if_no_lanes_active      branch_if_no_lanes_active +26 (label 3 at #154)
131store_return_mask              $17 = RetMask
132store_loop_mask                $18 = LoopMask
133label                          label 0x0000001D
134copy_uniform                   $19 = colorGreen(1)
135cmpeq_imm_float                $19 = equal($19, 0)
136branch_if_no_active_lanes_eq   branch +5 (label 30 at #139) if no lanes of $19 == 0xFFFFFFFF
137copy_constant                  $20 = 0
138copy_slot_masked               [test_else].result = Mask($20)
139mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
140jump                           jump +5 (label 31 at #143)
141label                          label 0x0000001E
142copy_constant                  $20 = 0xFFFFFFFF
143copy_slot_masked               [test_else].result = Mask($20)
144mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
145label                          label 0x0000001F
146copy_constant                  $19 = 0
147merge_loop_mask                LoopMask &= $19
148stack_rewind
149branch_if_any_lanes_active     branch_if_any_lanes_active -16 (label 29 at #131)
150label                          label 0x0000001C
151load_loop_mask                 LoopMask = $18
152load_return_mask               RetMask = $17
153copy_slot_unmasked             $17 = [test_else].result
154label                          label 0x0000001B
155copy_slot_masked               $16 = Mask($17)
156label                          label 0x00000003
157load_condition_mask            CondMask = $21
158copy_constant                  $13 = 0
159merge_condition_mask           CondMask = $15 & $16
160branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 2 at #162)
161copy_constant                  $14 = 0xFFFFFFFF
162label                          label 0x00000020
163copy_slot_masked               $13 = Mask($14)
164label                          label 0x00000002
165load_condition_mask            CondMask = $15
166copy_constant                  $0 = 0
167merge_condition_mask           CondMask = $12 & $13
168branch_if_no_lanes_active      branch_if_no_lanes_active +21 (label 1 at #187)
169copy_constant                  x = 0
170store_loop_mask                $1 = LoopMask
171jump                           jump +7 (label 35 at #176)
172label                          label 0x00000024
173branch_if_all_lanes_active     branch_if_all_lanes_active +11 (label 34 at #182)
174mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
175copy_slot_unmasked             $2 = x
176add_imm_int                    $2 += 0x00000001
177copy_slot_masked               x = Mask($2)
178label                          label 0x00000023
179copy_slot_unmasked             $2 = x
180cmple_imm_int                  $2 = lessThanEqual($2, 0x00000001)
181merge_loop_mask                LoopMask &= $2
182stack_rewind
183branch_if_any_lanes_active     branch_if_any_lanes_active -11 (label 36 at #170)
184label                          label 0x00000022
185load_loop_mask                 LoopMask = $1
186copy_constant                  $1 = 0xFFFFFFFF
187label                          label 0x00000021
188copy_slot_masked               $0 = Mask($1)
189label                          label 0x00000001
190load_condition_mask            CondMask = $12
191swizzle_4                      $0..3 = ($0..3).xxxx
192copy_4_uniforms                $4..7 = colorRed
193copy_4_uniforms                $8..11 = colorGreen
194mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
195load_src                       src.rgba = $0..3
196