blob: 2fff412bd38e0255b8479a7f6bd4229904839192 [file] [log] [blame]
store_src_rg coords = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
copy_constant minus = 0x00000002 (2.802597e-45)
copy_constant star = 0x00000003 (4.203895e-45)
copy_constant slash = 0x00000004 (5.605194e-45)
copy_uniform f1 = colorGreen(1)
copy_uniform $0 = colorGreen(1)
mul_imm_float $0 *= 0x40000000 (2.0)
copy_slot_unmasked f2 = $0
copy_uniform $0 = colorGreen(1)
mul_imm_float $0 *= 0x40400000 (3.0)
copy_slot_unmasked f3 = $0
copy_uniform $0 = colorGreen(1)
mul_imm_float $0 *= 0x40800000 (4.0)
copy_slot_unmasked f4 = $0
copy_slot_unmasked $0 = f1
add_imm_float $0 += 0x3F800000 (1.0)
copy_slot_unmasked $1 = f2
add_imm_float $1 += 0x3F800000 (1.0)
copy_slot_unmasked $2 = f3
add_imm_float $2 += 0x3F800000 (1.0)
copy_slot_unmasked $3 = f4
add_imm_float $3 += 0x3F800000 (1.0)
copy_4_slots_unmasked _0_expected = $0..3
copy_uniform _1_one = colorRed(0)
copy_slot_unmasked $0 = f1
copy_slot_unmasked $1 = _1_one
mul_float $0 *= $1
copy_slot_unmasked $1 = f2
copy_slot_unmasked $2 = _1_one
mul_float $1 *= $2
copy_slot_unmasked $2 = f3
copy_slot_unmasked $3 = _1_one
mul_float $2 *= $3
copy_slot_unmasked $3 = f4
copy_slot_unmasked $4 = _1_one
mul_float $3 *= $4
copy_4_slots_unmasked _2_m2 = $0..3
splat_4_constants $4..7 = 0x3F800000 (1.0)
add_4_floats $0..3 += $4..7
copy_4_slots_unmasked _2_m2 = $0..3
store_condition_mask $12 = CondMask
store_condition_mask $25 = CondMask
store_condition_mask $38 = CondMask
store_condition_mask $51 = CondMask
copy_slot_unmasked $52 = _2_m2(0)
copy_slot_unmasked $53 = _0_expected(0)
cmpeq_float $52 = equal($52, $53)
copy_2_slots_unmasked $53..54 = _2_m2(0..1)
swizzle_1 $53 = ($53..54).y
copy_2_slots_unmasked $54..55 = _0_expected(0..1)
swizzle_1 $54 = ($54..55).y
cmpeq_float $53 = equal($53, $54)
bitwise_and_int $52 &= $53
copy_slot_unmasked $53 = _2_m2(2)
copy_slot_unmasked $54 = _0_expected(2)
cmpeq_float $53 = equal($53, $54)
bitwise_and_int $52 &= $53
copy_2_slots_unmasked $53..54 = _2_m2(2..3)
swizzle_1 $53 = ($53..54).y
copy_2_slots_unmasked $54..55 = _0_expected(2..3)
swizzle_1 $54 = ($54..55).y
cmpeq_float $53 = equal($53, $54)
bitwise_and_int $52 &= $53
copy_constant $39 = 0
merge_condition_mask CondMask = $51 & $52
branch_if_no_lanes_active branch_if_no_lanes_active +89 (label 4 at #156)
copy_constant op = 0x00000002 (2.802597e-45)
copy_4_slots_unmasked m11, m12, m21, m22 = f1, f2, f3, f4
copy_slot_unmasked $40 = f1
add_imm_float $40 += 0xBF800000 (-1.0)
copy_slot_unmasked $41 = f2
add_imm_float $41 += 0xBF800000 (-1.0)
copy_slot_unmasked $42 = f3
add_imm_float $42 += 0xBF800000 (-1.0)
copy_slot_unmasked $43 = f4
add_imm_float $43 += 0xBF800000 (-1.0)
copy_4_slots_unmasked expected = $40..43
copy_uniform one = colorRed(0)
copy_slot_unmasked $40 = m11
copy_slot_unmasked $41 = one
mul_float $40 *= $41
copy_slot_unmasked $41 = m12
copy_slot_unmasked $42 = one
mul_float $41 *= $42
copy_slot_unmasked $42 = m21
copy_slot_unmasked $43 = one
mul_float $42 *= $43
copy_slot_unmasked $43 = m22
copy_slot_unmasked $44 = one
mul_float $43 *= $44
copy_4_slots_unmasked m2 = $40..43
store_loop_mask $40 = LoopMask
copy_slot_unmasked $41 = op
store_loop_mask $42 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($41 == 0x00000001) { LoopMask = true; $42 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 7 at #105)
copy_4_slots_unmasked $43..46 = m2
splat_4_constants $47..50 = 0x3F800000 (1.0)
add_4_floats $43..46 += $47..50
copy_4_slots_masked m2 = Mask($43..46)
branch_if_all_lanes_active branch_if_all_lanes_active +30 (label 6 at #133)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000007
case_op if ($41 == 0x00000002) { LoopMask = true; $42 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 8 at #114)
copy_4_slots_unmasked $43..46 = m2
splat_4_constants $47..50 = 0x3F800000 (1.0)
sub_4_floats $43..46 -= $47..50
copy_4_slots_masked m2 = Mask($43..46)
branch_if_all_lanes_active branch_if_all_lanes_active +21 (label 6 at #133)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000008
case_op if ($41 == 0x00000003) { LoopMask = true; $42 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 9 at #123)
copy_4_slots_unmasked $43..46 = m2
splat_4_constants $47..50 = 0x40000000 (2.0)
mul_4_floats $43..46 *= $47..50
copy_4_slots_masked m2 = Mask($43..46)
branch_if_all_lanes_active branch_if_all_lanes_active +12 (label 6 at #133)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000009
case_op if ($41 == 0x00000004) { LoopMask = true; $42 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 10 at #132)
copy_4_slots_unmasked $43..46 = m2
splat_4_constants $47..50 = 0x3F000000 (0.5)
mul_4_floats $43..46 *= $47..50
copy_4_slots_masked m2 = Mask($43..46)
branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 6 at #133)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000000A
label label 0x00000006
load_loop_mask LoopMask = $40
copy_slot_unmasked $40 = m2(0)
copy_slot_unmasked $41 = expected(0)
cmpeq_float $40 = equal($40, $41)
copy_2_slots_unmasked $41..42 = m2(0..1)
swizzle_1 $41 = ($41..42).y
copy_2_slots_unmasked $42..43 = expected(0..1)
swizzle_1 $42 = ($42..43).y
cmpeq_float $41 = equal($41, $42)
bitwise_and_int $40 &= $41
copy_slot_unmasked $41 = m2(2)
copy_slot_unmasked $42 = expected(2)
cmpeq_float $41 = equal($41, $42)
bitwise_and_int $40 &= $41
copy_2_slots_unmasked $41..42 = m2(2..3)
swizzle_1 $41 = ($41..42).y
copy_2_slots_unmasked $42..43 = expected(2..3)
swizzle_1 $42 = ($42..43).y
cmpeq_float $41 = equal($41, $42)
bitwise_and_int $40 &= $41
label label 0x00000005
copy_slot_masked $39 = Mask($40)
label label 0x00000004
load_condition_mask CondMask = $51
copy_constant $26 = 0
merge_condition_mask CondMask = $38 & $39
branch_if_no_lanes_active branch_if_no_lanes_active +89 (label 3 at #249)
copy_constant op = 0x00000003 (4.203895e-45)
copy_4_slots_unmasked m11, m12, m21, m22 = f1, f2, f3, f4
copy_slot_unmasked $27 = f1
mul_imm_float $27 *= 0x40000000 (2.0)
copy_slot_unmasked $28 = f2
mul_imm_float $28 *= 0x40000000 (2.0)
copy_slot_unmasked $29 = f3
mul_imm_float $29 *= 0x40000000 (2.0)
copy_slot_unmasked $30 = f4
mul_imm_float $30 *= 0x40000000 (2.0)
copy_4_slots_unmasked expected = $27..30
copy_uniform one = colorRed(0)
copy_slot_unmasked $27 = m11
copy_slot_unmasked $28 = one
mul_float $27 *= $28
copy_slot_unmasked $28 = m12
copy_slot_unmasked $29 = one
mul_float $28 *= $29
copy_slot_unmasked $29 = m21
copy_slot_unmasked $30 = one
mul_float $29 *= $30
copy_slot_unmasked $30 = m22
copy_slot_unmasked $31 = one
mul_float $30 *= $31
copy_4_slots_unmasked m2 = $27..30
store_loop_mask $27 = LoopMask
copy_slot_unmasked $28 = op
store_loop_mask $29 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($28 == 0x00000001) { LoopMask = true; $29 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 13 at #198)
copy_4_slots_unmasked $30..33 = m2
splat_4_constants $34..37 = 0x3F800000 (1.0)
add_4_floats $30..33 += $34..37
copy_4_slots_masked m2 = Mask($30..33)
branch_if_all_lanes_active branch_if_all_lanes_active +30 (label 12 at #226)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000000D
case_op if ($28 == 0x00000002) { LoopMask = true; $29 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 14 at #207)
copy_4_slots_unmasked $30..33 = m2
splat_4_constants $34..37 = 0x3F800000 (1.0)
sub_4_floats $30..33 -= $34..37
copy_4_slots_masked m2 = Mask($30..33)
branch_if_all_lanes_active branch_if_all_lanes_active +21 (label 12 at #226)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000000E
case_op if ($28 == 0x00000003) { LoopMask = true; $29 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 15 at #216)
copy_4_slots_unmasked $30..33 = m2
splat_4_constants $34..37 = 0x40000000 (2.0)
mul_4_floats $30..33 *= $34..37
copy_4_slots_masked m2 = Mask($30..33)
branch_if_all_lanes_active branch_if_all_lanes_active +12 (label 12 at #226)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x0000000F
case_op if ($28 == 0x00000004) { LoopMask = true; $29 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 16 at #225)
copy_4_slots_unmasked $30..33 = m2
splat_4_constants $34..37 = 0x3F000000 (0.5)
mul_4_floats $30..33 *= $34..37
copy_4_slots_masked m2 = Mask($30..33)
branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 12 at #226)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000010
label label 0x0000000C
load_loop_mask LoopMask = $27
copy_slot_unmasked $27 = m2(0)
copy_slot_unmasked $28 = expected(0)
cmpeq_float $27 = equal($27, $28)
copy_2_slots_unmasked $28..29 = m2(0..1)
swizzle_1 $28 = ($28..29).y
copy_2_slots_unmasked $29..30 = expected(0..1)
swizzle_1 $29 = ($29..30).y
cmpeq_float $28 = equal($28, $29)
bitwise_and_int $27 &= $28
copy_slot_unmasked $28 = m2(2)
copy_slot_unmasked $29 = expected(2)
cmpeq_float $28 = equal($28, $29)
bitwise_and_int $27 &= $28
copy_2_slots_unmasked $28..29 = m2(2..3)
swizzle_1 $28 = ($28..29).y
copy_2_slots_unmasked $29..30 = expected(2..3)
swizzle_1 $29 = ($29..30).y
cmpeq_float $28 = equal($28, $29)
bitwise_and_int $27 &= $28
label label 0x0000000B
copy_slot_masked $26 = Mask($27)
label label 0x00000003
load_condition_mask CondMask = $38
copy_constant $13 = 0
merge_condition_mask CondMask = $25 & $26
branch_if_no_lanes_active branch_if_no_lanes_active +89 (label 2 at #342)
copy_constant op = 0x00000004 (5.605194e-45)
copy_4_slots_unmasked m11, m12, m21, m22 = f1, f2, f3, f4
copy_slot_unmasked $14 = f1
mul_imm_float $14 *= 0x3F000000 (0.5)
copy_slot_unmasked $15 = f2
mul_imm_float $15 *= 0x3F000000 (0.5)
copy_slot_unmasked $16 = f3
mul_imm_float $16 *= 0x3F000000 (0.5)
copy_slot_unmasked $17 = f4
mul_imm_float $17 *= 0x3F000000 (0.5)
copy_4_slots_unmasked expected = $14..17
copy_uniform one = colorRed(0)
copy_slot_unmasked $14 = m11
copy_slot_unmasked $15 = one
mul_float $14 *= $15
copy_slot_unmasked $15 = m12
copy_slot_unmasked $16 = one
mul_float $15 *= $16
copy_slot_unmasked $16 = m21
copy_slot_unmasked $17 = one
mul_float $16 *= $17
copy_slot_unmasked $17 = m22
copy_slot_unmasked $18 = one
mul_float $17 *= $18
copy_4_slots_unmasked m2 = $14..17
store_loop_mask $14 = LoopMask
copy_slot_unmasked $15 = op
store_loop_mask $16 = LoopMask
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
case_op if ($15 == 0x00000001) { LoopMask = true; $16 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 19 at #291)
copy_4_slots_unmasked $17..20 = m2
splat_4_constants $21..24 = 0x3F800000 (1.0)
add_4_floats $17..20 += $21..24
copy_4_slots_masked m2 = Mask($17..20)
branch_if_all_lanes_active branch_if_all_lanes_active +30 (label 18 at #319)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000013
case_op if ($15 == 0x00000002) { LoopMask = true; $16 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 20 at #300)
copy_4_slots_unmasked $17..20 = m2
splat_4_constants $21..24 = 0x3F800000 (1.0)
sub_4_floats $17..20 -= $21..24
copy_4_slots_masked m2 = Mask($17..20)
branch_if_all_lanes_active branch_if_all_lanes_active +21 (label 18 at #319)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000014
case_op if ($15 == 0x00000003) { LoopMask = true; $16 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 21 at #309)
copy_4_slots_unmasked $17..20 = m2
splat_4_constants $21..24 = 0x40000000 (2.0)
mul_4_floats $17..20 *= $21..24
copy_4_slots_masked m2 = Mask($17..20)
branch_if_all_lanes_active branch_if_all_lanes_active +12 (label 18 at #319)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000015
case_op if ($15 == 0x00000004) { LoopMask = true; $16 = false; }
branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 22 at #318)
copy_4_slots_unmasked $17..20 = m2
splat_4_constants $21..24 = 0x3F000000 (0.5)
mul_4_floats $17..20 *= $21..24
copy_4_slots_masked m2 = Mask($17..20)
branch_if_all_lanes_active branch_if_all_lanes_active +3 (label 18 at #319)
mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask)
label label 0x00000016
label label 0x00000012
load_loop_mask LoopMask = $14
copy_slot_unmasked $14 = m2(0)
copy_slot_unmasked $15 = expected(0)
cmpeq_float $14 = equal($14, $15)
copy_2_slots_unmasked $15..16 = m2(0..1)
swizzle_1 $15 = ($15..16).y
copy_2_slots_unmasked $16..17 = expected(0..1)
swizzle_1 $16 = ($16..17).y
cmpeq_float $15 = equal($15, $16)
bitwise_and_int $14 &= $15
copy_slot_unmasked $15 = m2(2)
copy_slot_unmasked $16 = expected(2)
cmpeq_float $15 = equal($15, $16)
bitwise_and_int $14 &= $15
copy_2_slots_unmasked $15..16 = m2(2..3)
swizzle_1 $15 = ($15..16).y
copy_2_slots_unmasked $16..17 = expected(2..3)
swizzle_1 $16 = ($16..17).y
cmpeq_float $15 = equal($15, $16)
bitwise_and_int $14 &= $15
label label 0x00000011
copy_slot_masked $13 = Mask($14)
label label 0x00000002
load_condition_mask CondMask = $25
copy_constant $0 = 0
merge_condition_mask CondMask = $12 & $13
branch_if_no_lanes_active branch_if_no_lanes_active +40 (label 1 at #386)
copy_uniform $1 = colorRed(0)
mul_imm_float $1 *= 0x41200000 (10.0)
copy_slot_unmasked ten = $1
copy_slot_unmasked $2 = $1
copy_slot_unmasked $3 = ten
copy_slot_unmasked $4 = $3
copy_4_slots_unmasked mat = $1..4
copy_constant $5 = 0x3F800000 (1.0)
copy_uniform $6 = testInputs(0)
div_float $5 /= $6
swizzle_4 $5..8 = ($5..8).xxxx
mul_4_floats $1..4 *= $5..8
copy_4_slots_unmasked div = $1..4
copy_4_slots_unmasked $1..4 = mat
copy_constant $5 = 0x3F800000 (1.0)
copy_uniform $6 = testInputs(0)
div_float $5 /= $6
swizzle_4 $5..8 = ($5..8).xxxx
mul_4_floats $1..4 *= $5..8
copy_4_slots_masked mat = Mask($1..4)
copy_4_slots_unmasked $1..4 = div
splat_4_constants $5..8 = 0x41000000 (8.0)
add_4_floats $1..4 += $5..8
bitwise_and_imm_4_ints $1..4 &= 0x7FFFFFFF
splat_4_constants $5..8 = 0x3C23D70A (0.01)
cmplt_4_floats $1..4 = lessThan($1..4, $5..8)
bitwise_and_2_ints $1..2 &= $3..4
bitwise_and_int $1 &= $2
copy_4_slots_unmasked $2..5 = mat
splat_4_constants $6..9 = 0x41000000 (8.0)
add_4_floats $2..5 += $6..9
bitwise_and_imm_4_ints $2..5 &= 0x7FFFFFFF
splat_4_constants $6..9 = 0x3C23D70A (0.01)
cmplt_4_floats $2..5 = lessThan($2..5, $6..9)
bitwise_and_2_ints $2..3 &= $4..5
bitwise_and_int $2 &= $3
bitwise_and_int $1 &= $2
label label 0x00000017
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