blob: 56b07a3b9f17eacdfff7d183eb71a4d9140c7cba [file] [log] [blame]
117 instructions
[immutable slots]
i0 = 0x40400000 (3.0)
i1 = 0x40000000 (2.0)
i2 = 0x3F800000 (1.0)
i3 = 0x00000002 (2.802597e-45)
i4 = 0x00000001 (1.401298e-45)
i5 = 0
i6 = 0x40800000 (4.0)
i7 = 0x40400000 (3.0)
i8 = 0x40000000 (2.0)
i9 = 0x3F800000 (1.0)
i10 = 0x00000003 (4.203895e-45)
i11 = 0x00000002 (2.802597e-45)
i12 = 0x00000001 (1.401298e-45)
i13 = 0
store_src_rg coords = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
store_condition_mask $12 = CondMask
branch_if_no_lanes_active branch_if_no_lanes_active +57 (label 2 at #61)
store_return_mask $13 = RetMask
copy_3_immutables_unmasked expected = i0..2 [0x40400000 (3.0), 0x40000000 (2.0), 0x3F800000 (1.0)]
splat_4_constants vec, c = 0
store_loop_mask $14 = LoopMask
jump jump +40 (label 4 at #49)
label label 0x00000005
branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 6 at #30)
copy_constant r = 0
label label 0x00000007
copy_slot_unmasked $23 = r
copy_3_immutables_unmasked $27..29 = i3..5 [0x00000002 (2.802597e-45), 0x00000001 (1.401298e-45), 0]
copy_from_indirect_unmasked $22 = Indirect($27 + $23)
copy_slot_unmasked $27 = c
mul_imm_int $27 *= 0x00000003
copy_slot_unmasked $23 = r
copy_slot_unmasked $24 = $27
add_int $23 += $24
copy_from_indirect_uniform_unm $15 = Indirect(testMatrix3x3(0) + $23)
copy_to_indirect_masked Indirect(vec(0) + $22) = Mask($15)
copy_slot_unmasked $15 = r
add_imm_int $15 += 0x00000001
copy_slot_masked r = Mask($15)
cmplt_imm_int $15 = lessThan($15, 0x00000003)
stack_rewind
branch_if_no_active_lanes_eq branch -16 (label 7 at #13) if no lanes of $15 == 0
label label 0x00000006
store_condition_mask $15 = CondMask
copy_3_slots_unmasked $16..18 = vec
copy_3_slots_unmasked $19..21 = expected
cmpne_3_floats $16..18 = notEqual($16..18, $19..21)
bitwise_or_int $17 |= $18
bitwise_or_int $16 |= $17
merge_condition_mask CondMask = $15 & $16
copy_constant $17 = 0
copy_slot_masked [test3x3].result = Mask($17)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
load_condition_mask CondMask = $15
copy_3_slots_unmasked $15..17 = expected
splat_3_constants $18..20 = 0x40400000 (3.0)
add_3_floats $15..17 += $18..20
copy_3_slots_masked expected = Mask($15..17)
copy_slot_unmasked $15 = c
add_imm_int $15 += 0x00000001
copy_slot_masked c = Mask($15)
label label 0x00000004
copy_slot_unmasked $15 = c
cmplt_imm_int $15 = lessThan($15, 0x00000003)
merge_loop_mask LoopMask &= $15
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -44 (label 5 at #10)
label label 0x00000003
load_loop_mask LoopMask = $14
copy_constant $14 = 0xFFFFFFFF
copy_slot_masked [test3x3].result = Mask($14)
load_return_mask RetMask = $13
copy_slot_unmasked $13 = [test3x3].result
label label 0x00000002
copy_constant $0 = 0
merge_condition_mask CondMask = $12 & $13
branch_if_no_lanes_active branch_if_no_lanes_active +60 (label 1 at #124)
store_return_mask $1 = RetMask
copy_4_immutables_unmasked expected = i6..9 [0x40800000 (4.0), 0x40400000 (3.0), 0x40000000 (2.0), 0x3F800000 (1.0)]
splat_4_constants vec = 0
copy_constant c = 0
store_loop_mask $2 = LoopMask
jump jump +40 (label 10 at #110)
label label 0x0000000B
branch_if_no_lanes_active branch_if_no_lanes_active +19 (label 12 at #91)
copy_constant r = 0
label label 0x0000000D
copy_slot_unmasked $27 = r
copy_4_immutables_unmasked $23..26 = i10..13 [0x00000003 (4.203895e-45), 0x00000002 (2.802597e-45), 0x00000001 (1.401298e-45), 0]
copy_from_indirect_unmasked $22 = Indirect($23 + $27)
copy_slot_unmasked $23 = c
mul_imm_int $23 *= 0x00000004
copy_slot_unmasked $27 = r
copy_slot_unmasked $28 = $23
add_int $27 += $28
copy_from_indirect_uniform_unm $3 = Indirect(testMatrix4x4(0) + $27)
copy_to_indirect_masked Indirect(vec₁(0) + $22) = Mask($3)
copy_slot_unmasked $3 = r
add_imm_int $3 += 0x00000001
copy_slot_masked r = Mask($3)
cmplt_imm_int $3 = lessThan($3, 0x00000004)
stack_rewind
branch_if_no_active_lanes_eq branch -16 (label 13 at #74) if no lanes of $3 == 0
label label 0x0000000C
store_condition_mask $3 = CondMask
copy_4_slots_unmasked $4..7 = vec
copy_4_slots_unmasked $8..11 = expected
cmpne_4_floats $4..7 = notEqual($4..7, $8..11)
bitwise_or_2_ints $4..5 |= $6..7
bitwise_or_int $4 |= $5
merge_condition_mask CondMask = $3 & $4
copy_constant $5 = 0
copy_slot_masked [test4x4].result = Mask($5)
mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask)
load_condition_mask CondMask = $3
copy_4_slots_unmasked $3..6 = expected
splat_4_constants $7..10 = 0x40800000 (4.0)
add_4_floats $3..6 += $7..10
copy_4_slots_masked expected = Mask($3..6)
copy_slot_unmasked $3 = c
add_imm_int $3 += 0x00000001
copy_slot_masked c = Mask($3)
label label 0x0000000A
copy_slot_unmasked $3 = c
cmplt_imm_int $3 = lessThan($3, 0x00000004)
merge_loop_mask LoopMask &= $3
stack_rewind
branch_if_any_lanes_active branch_if_any_lanes_active -44 (label 11 at #71)
label label 0x00000009
load_loop_mask LoopMask = $2
copy_constant $2 = 0xFFFFFFFF
copy_slot_masked [test4x4].result = Mask($2)
load_return_mask RetMask = $1
copy_slot_unmasked $1 = [test4x4].result
label label 0x00000008
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