blob: 90d875e7d5ceadcb7724c59ecfd80fa27ba278b9 [file] [log] [blame]
303 instructions
store_src_rg coords = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
store_condition_mask $12 = CondMask
store_condition_mask $20 = CondMask
store_condition_mask $28 = CondMask
store_condition_mask $36 = CondMask
store_condition_mask $42 = CondMask
store_condition_mask $49 = CondMask
store_condition_mask $56 = CondMask
store_condition_mask $60 = CondMask
store_condition_mask $64 = CondMask
store_condition_mask $69 = CondMask
store_condition_mask $74 = CondMask
branch_if_no_lanes_active branch_if_no_lanes_active +20 (label 12 at #34)
store_return_mask $75 = RetMask
store_loop_mask $76 = LoopMask
jump jump +5 (label 14 at #22)
label label 0x0000000F
copy_constant $77 = 0
copy_slot_masked [inside_while_loop].result = Mask($77)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000000E
copy_uniform $77 = unknownInput
cmpeq_imm_float $77 = equal($77, 0x42F60000 (123.0))
merge_loop_mask LoopMask &= $77
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -9 (label 15 at #18)
label label 0x0000000D
load_loop_mask LoopMask = $76
copy_constant $76 = 0xFFFFFFFF
copy_slot_masked [inside_while_loop].result = Mask($76)
load_return_mask RetMask = $75
copy_slot_unmasked $75 = [inside_while_loop].result
label label 0x0000000C
copy_constant $70 = 0
merge_condition_mask CondMask = $74 & $75
branch_if_no_lanes_active branch_if_no_lanes_active +17 (label 11 at #54)
store_return_mask $71 = RetMask
store_loop_mask $72 = LoopMask
label label 0x00000012
copy_constant $73 = 0xFFFFFFFF
copy_slot_masked [inside_infinite_do_loop].result = Mask($73)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
copy_constant $73 = 0xFFFFFFFF
merge_loop_mask LoopMask &= $73
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 18 at #40)
label label 0x00000011
load_loop_mask LoopMask = $72
load_return_mask RetMask = $71
copy_slot_unmasked $71 = [inside_infinite_do_loop].result
label label 0x00000010
copy_slot_masked $70 = Mask($71)
label label 0x0000000B
load_condition_mask CondMask = $74
copy_constant $65 = 0
merge_condition_mask CondMask = $69 & $70
branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 10 at #77)
store_return_mask $66 = RetMask
store_loop_mask $67 = LoopMask
jump jump +5 (label 21 at #66)
label label 0x00000016
copy_constant $68 = 0xFFFFFFFF
copy_slot_masked [inside_infinite_while_loop].result = Mask($68)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000015
copy_constant $68 = 0xFFFFFFFF
merge_loop_mask LoopMask &= $68
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -8 (label 22 at #62)
label label 0x00000014
load_loop_mask LoopMask = $67
load_return_mask RetMask = $66
copy_slot_unmasked $66 = [inside_infinite_while_loop].result
label label 0x00000013
copy_slot_masked $65 = Mask($66)
label label 0x0000000A
load_condition_mask CondMask = $69
copy_constant $61 = 0
merge_condition_mask CondMask = $64 & $65
branch_if_no_lanes_active branch_if_no_lanes_active +14 (label 9 at #95)
store_loop_mask $62 = LoopMask
label label 0x00000019
branch_if_all_lanes_active branch_if_all_lanes_active +6 (label 24 at #90)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
copy_constant $63 = 0xFFFFFFFF
merge_loop_mask LoopMask &= $63
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -6 (label 25 at #83)
label label 0x00000018
load_loop_mask LoopMask = $62
copy_constant $62 = 0xFFFFFFFF
label label 0x00000017
copy_slot_masked $61 = Mask($62)
label label 0x00000009
load_condition_mask CondMask = $64
copy_constant $57 = 0
merge_condition_mask CondMask = $60 & $61
branch_if_no_lanes_active branch_if_no_lanes_active +16 (label 8 at #115)
store_loop_mask $58 = LoopMask
jump jump +4 (label 28 at #105)
label label 0x0000001D
branch_if_all_lanes_active branch_if_all_lanes_active +7 (label 27 at #110)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000001C
copy_constant $59 = 0xFFFFFFFF
merge_loop_mask LoopMask &= $59
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -7 (label 29 at #102)
label label 0x0000001B
load_loop_mask LoopMask = $58
copy_constant $58 = 0xFFFFFFFF
label label 0x0000001A
copy_slot_masked $57 = Mask($58)
label label 0x00000008
load_condition_mask CondMask = $60
copy_constant $50 = 0
merge_condition_mask CondMask = $56 & $57
branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 7 at #150)
store_return_mask $51 = RetMask
store_loop_mask $52 = LoopMask
copy_uniform $53 = unknownInput
cast_to_int_from_float $53 = FloatToInt($53)
store_loop_mask $54 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($53 == 0x00000001) { LoopMask = true; $54 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 32 at #131)
copy_constant $55 = 0xFFFFFFFF
copy_slot_masked [switch_with_all_returns].result = Mask($55)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000020
case_op if ($53 == 0x00000002) { LoopMask = true; $54 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 33 at #137)
copy_constant $55 = 0
copy_slot_masked [switch_with_all_returns].result = Mask($55)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000021
reenable_loop_mask LoopMask |= $54
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 34 at #143)
copy_constant $54 = 0
copy_slot_masked [switch_with_all_returns].result = Mask($54)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000022
label label 0x0000001F
load_loop_mask LoopMask = $52
load_return_mask RetMask = $51
copy_slot_unmasked $51 = [switch_with_all_returns].result
label label 0x0000001E
copy_slot_masked $50 = Mask($51)
label label 0x00000007
load_condition_mask CondMask = $56
copy_constant $43 = 0
merge_condition_mask CondMask = $49 & $50
branch_if_no_lanes_active branch_if_no_lanes_active +27 (label 6 at #181)
store_return_mask $44 = RetMask
store_loop_mask $45 = LoopMask
copy_uniform $46 = unknownInput
cast_to_int_from_float $46 = FloatToInt($46)
store_loop_mask $47 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($46 == 0x00000001) { LoopMask = true; $47 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 37 at #166)
copy_constant $48 = 0xFFFFFFFF
copy_slot_masked [switch_fallthrough].result = Mask($48)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000025
case_op if ($46 == 0x00000002) { LoopMask = true; $47 = false; }
label label 0x00000026
reenable_loop_mask LoopMask |= $47
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 39 at #174)
copy_constant $47 = 0
copy_slot_masked [switch_fallthrough].result = Mask($47)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000027
label label 0x00000024
load_loop_mask LoopMask = $45
load_return_mask RetMask = $44
copy_slot_unmasked $44 = [switch_fallthrough].result
label label 0x00000023
copy_slot_masked $43 = Mask($44)
label label 0x00000006
load_condition_mask CondMask = $49
copy_constant $37 = 0
merge_condition_mask CondMask = $42 & $43
branch_if_no_lanes_active branch_if_no_lanes_active +23 (label 5 at #208)
store_return_mask $38 = RetMask
store_loop_mask $39 = LoopMask
copy_uniform $40 = unknownInput
cast_to_int_from_float $40 = FloatToInt($40)
store_loop_mask $41 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($40 == 0x00000001) { LoopMask = true; $41 = false; }
label label 0x0000002A
case_op if ($40 == 0x00000002) { LoopMask = true; $41 = false; }
label label 0x0000002B
reenable_loop_mask LoopMask |= $41
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 44 at #201)
copy_constant $41 = 0xFFFFFFFF
copy_slot_masked [switch_fallthrough_twice].result = Mask($41)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000002C
label label 0x00000029
load_loop_mask LoopMask = $39
load_return_mask RetMask = $38
copy_slot_unmasked $38 = [switch_fallthrough_twice].result
label label 0x00000028
copy_slot_masked $37 = Mask($38)
label label 0x00000005
load_condition_mask CondMask = $42
copy_constant $29 = 0
merge_condition_mask CondMask = $36 & $37
branch_if_no_lanes_active branch_if_no_lanes_active +39 (label 4 at #251)
store_return_mask $30 = RetMask
store_loop_mask $31 = LoopMask
copy_uniform $32 = unknownInput
cast_to_int_from_float $32 = FloatToInt($32)
store_loop_mask $33 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($32 == 0x00000001) { LoopMask = true; $33 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +18 (label 47 at #238)
copy_constant x = 0
store_loop_mask $34 = LoopMask
jump jump +7 (label 49 at #230)
label label 0x00000032
branch_if_all_lanes_active branch_if_all_lanes_active +11 (label 48 at #236)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
copy_slot_unmasked $35 = x
add_imm_int $35 += 0x00000001
copy_slot_masked x = Mask($35)
label label 0x00000031
copy_slot_unmasked $35 = x
cmple_imm_int $35 = lessThanEqual($35, 0x0000000A)
merge_loop_mask LoopMask &= $35
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -11 (label 50 at #224)
label label 0x00000030
load_loop_mask LoopMask = $34
label label 0x0000002F
reenable_loop_mask LoopMask |= $33
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 51 at #244)
copy_constant $33 = 0xFFFFFFFF
copy_slot_masked [switch_with_break_in_loop].result = Mask($33)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000033
label label 0x0000002E
load_loop_mask LoopMask = $31
load_return_mask RetMask = $30
copy_slot_unmasked $30 = [switch_with_break_in_loop].result
label label 0x0000002D
copy_slot_masked $29 = Mask($30)
label label 0x00000004
load_condition_mask CondMask = $36
copy_constant $21 = 0
merge_condition_mask CondMask = $28 & $29
branch_if_no_lanes_active branch_if_no_lanes_active +40 (label 3 at #295)
store_return_mask $22 = RetMask
store_loop_mask $23 = LoopMask
copy_uniform $24 = unknownInput
cast_to_int_from_float $24 = FloatToInt($24)
store_loop_mask $25 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($24 == 0x00000001) { LoopMask = true; $25 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 54 at #282)
copy_constant x = 0
store_loop_mask $26 = LoopMask
jump jump +8 (label 56 at #274)
label label 0x00000039
copy_constant $36 = 0
continue_op $36 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
reenable_loop_mask LoopMask |= $36
copy_slot_unmasked $27 = x
add_imm_int $27 += 0x00000001
copy_slot_masked x = Mask($27)
label label 0x00000038
copy_slot_unmasked $27 = x
cmple_imm_int $27 = lessThanEqual($27, 0x0000000A)
merge_loop_mask LoopMask &= $27
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 57 at #267)
label label 0x00000037
load_loop_mask LoopMask = $26
label label 0x00000036
reenable_loop_mask LoopMask |= $25
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 58 at #288)
copy_constant $25 = 0xFFFFFFFF
copy_slot_masked [switch_with_continue_in_loop].result = Mask($25)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000003A
label label 0x00000035
load_loop_mask LoopMask = $23
load_return_mask RetMask = $22
copy_slot_unmasked $22 = [switch_with_continue_in_loop].result
label label 0x00000034
copy_slot_masked $21 = Mask($22)
label label 0x00000003
load_condition_mask CondMask = $28
copy_constant $13 = 0
merge_condition_mask CondMask = $20 & $21
branch_if_no_lanes_active branch_if_no_lanes_active +34 (label 2 at #333)
store_return_mask $14 = RetMask
store_loop_mask $15 = LoopMask
copy_uniform $16 = unknownInput
cast_to_int_from_float $16 = FloatToInt($16)
store_loop_mask $17 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($16 == 0x00000001) { LoopMask = true; $17 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 61 at #320)
copy_uniform $18 = unknownInput
cmpeq_imm_float $18 = equal($18, 0x42F60000 (123.0))
branch_if_no_active_lanes_eq branch +5 (label 62 at #315) if no lanes of $18 == 0xFFFFFFFF
copy_constant $19 = 0
copy_slot_masked [switch_with_if_that_returns].result = Mask($19)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
jump jump +5 (label 63 at #319)
label label 0x0000003E
copy_constant $19 = 0xFFFFFFFF
copy_slot_masked [switch_with_if_that_returns].result = Mask($19)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000003F
label label 0x0000003D
reenable_loop_mask LoopMask |= $17
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 64 at #326)
copy_constant $17 = 0xFFFFFFFF
copy_slot_masked [switch_with_if_that_returns].result = Mask($17)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000040
label label 0x0000003C
load_loop_mask LoopMask = $15
load_return_mask RetMask = $14
copy_slot_unmasked $14 = [switch_with_if_that_returns].result
label label 0x0000003B
copy_slot_masked $13 = Mask($14)
label label 0x00000002
load_condition_mask CondMask = $20
copy_constant $0 = 0
merge_condition_mask CondMask = $12 & $13
branch_if_no_lanes_active branch_if_no_lanes_active +29 (label 1 at #366)
store_return_mask $1 = RetMask
store_loop_mask $2 = LoopMask
copy_uniform $3 = unknownInput
cast_to_int_from_float $3 = FloatToInt($3)
store_loop_mask $4 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($3 == 0x00000001) { LoopMask = true; $4 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +8 (label 67 at #353)
copy_uniform $5 = unknownInput
cmpeq_imm_float $5 = equal($5, 0x42F60000 (123.0))
branch_if_no_active_lanes_eq branch +4 (label 68 at #352) if no lanes of $5 == 0xFFFFFFFF
copy_constant $6 = 0
copy_slot_masked [switch_with_one_sided_if_then_fallthrough].result = Mask($6)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000044
label label 0x00000043
reenable_loop_mask LoopMask |= $4
branch_if_no_lanes_active branch_if_no_lanes_active +4 (label 70 at #359)
copy_constant $4 = 0xFFFFFFFF
copy_slot_masked [switch_with_one_sided_if_then_fallthrough].result = Mask($4)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000046
label label 0x00000042
load_loop_mask LoopMask = $2
load_return_mask RetMask = $1
copy_slot_unmasked $1 = [switch_with_one_sided_if_then_fallthrough].result
label label 0x00000041
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