blob: adffdf33d0d578b709791a954ddaa03791ed0c53 [file] [log] [blame]
store_src_rg xy = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
store_condition_mask $12 = CondMask
store_condition_mask $15 = CondMask
store_condition_mask $21 = CondMask
store_condition_mask $26 = CondMask
store_condition_mask $32 = CondMask
store_condition_mask $36 = CondMask
store_condition_mask $40 = CondMask
branch_if_no_lanes_active branch_if_no_lanes_active +15 (label 8 at #25)
store_return_mask $41 = RetMask
store_loop_mask $42 = LoopMask
label label 0x0000000A
copy_constant $43 = 0xFFFFFFFF
copy_slot_masked [test_return].result = Mask($43)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
copy_constant $43 = 0
merge_loop_mask LoopMask &= $43
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 10 at #13)
label label 0x00000009
load_loop_mask LoopMask = $42
load_return_mask RetMask = $41
copy_slot_unmasked $41 = [test_return].result
label label 0x00000008
copy_constant $37 = 0
merge_condition_mask CondMask = $40 & $41
branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 7 at #42)
store_loop_mask $38 = LoopMask
label label 0x0000000D
branch_if_all_lanes_active branch_if_all_lanes_active +6 (label 12 at #37)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
copy_constant $39 = 0
merge_loop_mask LoopMask &= $39
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -6 (label 13 at #30)
label label 0x0000000C
load_loop_mask LoopMask = $38
copy_constant $38 = 0xFFFFFFFF
label label 0x0000000B
copy_slot_masked $37 = Mask($38)
label label 0x00000007
load_condition_mask CondMask = $40
copy_constant $33 = 0
merge_condition_mask CondMask = $36 & $37
branch_if_no_lanes_active branch_if_no_lanes_active +15 (label 6 at #61)
store_loop_mask $34 = LoopMask
label label 0x00000010
copy_constant $40 = 0
continue_op $40 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
reenable_loop_mask LoopMask |= $40
copy_constant $35 = 0
merge_loop_mask LoopMask &= $35
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 16 at #48)
label label 0x0000000F
load_loop_mask LoopMask = $34
copy_constant $34 = 0xFFFFFFFF
label label 0x0000000E
copy_slot_masked $33 = Mask($34)
label label 0x00000006
load_condition_mask CondMask = $36
copy_constant $27 = 0
merge_condition_mask CondMask = $32 & $33
branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 5 at #96)
store_return_mask $28 = RetMask
store_loop_mask $29 = LoopMask
label label 0x00000013
copy_constant $36 = 0
copy_constant $30 = 0
copy_uniform $31 = colorGreen(1)
cmplt_float $30 = lessThan($30, $31)
branch_if_no_active_lanes_eq branch +5 (label 20 at #78) if no lanes of $30 == 0xFFFFFFFF
copy_constant $31 = 0xFFFFFFFF
copy_slot_masked [test_if_return].result = Mask($31)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
jump jump +4 (label 21 at #81)
label label 0x00000014
branch_if_all_lanes_active branch_if_all_lanes_active +9 (label 18 at #88)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000015
continue_op $36 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
reenable_loop_mask LoopMask |= $36
copy_constant $30 = 0
merge_loop_mask LoopMask &= $30
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -19 (label 19 at #68)
label label 0x00000012
load_loop_mask LoopMask = $29
copy_constant $29 = 0
copy_slot_masked [test_if_return].result = Mask($29)
load_return_mask RetMask = $28
copy_slot_unmasked $28 = [test_if_return].result
label label 0x00000011
copy_slot_masked $27 = Mask($28)
label label 0x00000005
load_condition_mask CondMask = $32
copy_constant $22 = 0
merge_condition_mask CondMask = $26 & $27
branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 4 at #124)
store_loop_mask $23 = LoopMask
label label 0x00000018
copy_constant $32 = 0
copy_constant $24 = 0
copy_uniform $25 = colorGreen(1)
cmplt_float $24 = lessThan($24, $25)
branch_if_no_active_lanes_eq branch +4 (label 25 at #111) if no lanes of $24 == 0xFFFFFFFF
branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 23 at #119)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
jump jump +3 (label 26 at #113)
label label 0x00000019
continue_op $32 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000001A
reenable_loop_mask LoopMask |= $32
copy_constant $24 = 0
merge_loop_mask LoopMask &= $24
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -16 (label 24 at #102)
label label 0x00000017
load_loop_mask LoopMask = $23
copy_constant $23 = 0xFFFFFFFF
label label 0x00000016
copy_slot_masked $22 = Mask($23)
label label 0x00000004
load_condition_mask CondMask = $26
copy_constant $16 = 0
merge_condition_mask CondMask = $21 & $22
branch_if_no_lanes_active branch_if_no_lanes_active +26 (label 3 at #154)
store_return_mask $17 = RetMask
store_loop_mask $18 = LoopMask
label label 0x0000001D
copy_uniform $19 = colorGreen(1)
cmpeq_imm_float $19 = equal($19, 0)
branch_if_no_active_lanes_eq branch +5 (label 30 at #139) if no lanes of $19 == 0xFFFFFFFF
copy_constant $20 = 0
copy_slot_masked [test_else].result = Mask($20)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
jump jump +5 (label 31 at #143)
label label 0x0000001E
copy_constant $20 = 0xFFFFFFFF
copy_slot_masked [test_else].result = Mask($20)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000001F
copy_constant $19 = 0
merge_loop_mask LoopMask &= $19
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -16 (label 29 at #131)
label label 0x0000001C
load_loop_mask LoopMask = $18
load_return_mask RetMask = $17
copy_slot_unmasked $17 = [test_else].result
label label 0x0000001B
copy_slot_masked $16 = Mask($17)
label label 0x00000003
load_condition_mask CondMask = $21
copy_constant $13 = 0
merge_condition_mask CondMask = $15 & $16
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 2 at #162)
copy_constant $14 = 0xFFFFFFFF
label label 0x00000020
copy_slot_masked $13 = Mask($14)
label label 0x00000002
load_condition_mask CondMask = $15
copy_constant $0 = 0
merge_condition_mask CondMask = $12 & $13
branch_if_no_lanes_active branch_if_no_lanes_active +21 (label 1 at #187)
copy_constant x = 0
store_loop_mask $1 = LoopMask
jump jump +7 (label 35 at #176)
label label 0x00000024
branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 34 at #182)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
copy_slot_unmasked $2 = x
add_imm_int $2 += 0x00000001
copy_slot_masked x = Mask($2)
label label 0x00000023
copy_slot_unmasked $2 = x
cmple_imm_int $2 = lessThanEqual($2, 0x00000001)
merge_loop_mask LoopMask &= $2
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -11 (label 36 at #170)
label label 0x00000022
load_loop_mask LoopMask = $1
copy_constant $1 = 0xFFFFFFFF
label label 0x00000021
copy_slot_masked $0 = Mask($1)
label label 0x00000001
load_condition_mask CondMask = $12
swizzle_4 $0..3 = ($0..3).xxxx
copy_4_uniforms $4..7 = colorRed
copy_4_uniforms $8..11 = colorGreen
mix_4_ints $0..3 = mix($4..7, $8..11, $0..3)
load_src src.rgba = $0..3