blob: a8977878621df3e5f27c8b9c828fe2b2b49e643d [file] [log] [blame]
176 instructions
[immutable slots]
i0 = 0x3F800000 (1.0)
i1 = 0x40000000 (2.0)
i2 = 0x40400000 (3.0)
i3 = 0x3F800000 (1.0)
i4 = 0x40000000 (2.0)
i5 = 0x40400000 (3.0)
i6 = 0x40800000 (4.0)
store_device_xy01 $35..38 = DeviceCoords.xy01
splat_2_constants $37..38 = 0x3F000000 (0.5)
cmpeq_2_floats $35..36 = equal($35..36, $37..38)
bitwise_and_int $35 &= $36
store_src_rg coords = src.rg
init_lane_masks CondMask = LoopMask = RetMask = true
copy_4_uniforms colorGreen = colorGreen
trace_var TraceVar(colorGreen) when $35 is true
copy_4_uniforms colorRed = colorRed
trace_var TraceVar(colorRed) when $35 is true
copy_4_uniforms testMatrix3x3(0..3) = testMatrix3x3(0..3)
copy_4_uniforms testMatrix3x3(4..7) = testMatrix3x3(4..7)
copy_uniform testMatrix3x3(8) = testMatrix3x3(8)
trace_var TraceVar(testMatrix3x3) when $35 is true
copy_4_uniforms testMatrix4x4(0..3) = testMatrix4x4(0..3)
copy_4_uniforms testMatrix4x4(4..7) = testMatrix4x4(4..7)
copy_4_uniforms testMatrix4x4(8..11) = testMatrix4x4(8..11)
copy_4_uniforms testMatrix4x4(12..15) = testMatrix4x4(12..15)
trace_var TraceVar(testMatrix4x4) when $35 is true
trace_enter TraceEnter(half4 main(float2 coords)) when $35 is true
trace_var TraceVar(coords) when $35 is true
copy_constant $0 = 0
copy_slot_unmasked $1 = $35
copy_slot_masked $0 = Mask($1)
trace_scope TraceScope(+1) when $0 is true
trace_line TraceLine(28) when $35 is true
store_condition_mask $39 = CondMask
branch_if_no_lanes_active branch_if_no_lanes_active +68 (label 2 at #96)
trace_enter TraceEnter(bool test3x3()) when $35 is true
copy_constant $40 = 0
copy_slot_unmasked $41 = $35
copy_slot_masked $40 = Mask($41)
trace_scope TraceScope(+1) when $40 is true
trace_line TraceLine(8) when $35 is true
splat_4_constants matrix(0..3) = 0
splat_4_constants matrix(4..7) = 0
copy_constant matrix(8) = 0
trace_var TraceVar(matrix) when $35 is true
trace_line TraceLine(9) when $35 is true
copy_3_immutables_unmasked values = i0..2 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)]
trace_var TraceVar(values) when $35 is true
copy_constant $41 = 0
copy_slot_unmasked $42 = $35
copy_slot_masked $41 = Mask($42)
trace_scope TraceScope(+1) when $41 is true
branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 3 at #77)
trace_line TraceLine(10) when $35 is true
copy_constant index = 0
trace_var TraceVar(index) when $35 is true
label label 0x00000004
copy_constant $42 = 0
copy_slot_unmasked $43 = $35
copy_slot_masked $42 = Mask($43)
trace_scope TraceScope(+1) when $42 is true
trace_line TraceLine(11) when $35 is true
copy_slot_unmasked $59 = index
mul_imm_int $59 *= 0x00000003
copy_3_slots_unmasked $43..45 = values
copy_to_indirect_masked Indirect(matrix(0..2) + $59) = Mask($43..45)
trace_var TraceVar(matrix(0..2) + $59) when $35 is true
trace_line TraceLine(12) when $35 is true
copy_3_slots_unmasked $43..45 = values
splat_3_constants $46..48 = 0x40400000 (3.0)
add_3_floats $43..45 += $46..48
copy_3_slots_masked values = Mask($43..45)
trace_var TraceVar(values) when $35 is true
trace_scope TraceScope(-1) when $42 is true
trace_line TraceLine(10) when $35 is true
copy_slot_unmasked $42 = index
add_imm_int $42 += 0x00000001
copy_slot_masked index = Mask($42)
trace_var TraceVar(index) when $35 is true
copy_slot_unmasked $42 = index
cmplt_imm_int $42 = lessThan($42, 0x00000003)
stack_rewind
branch_if_no_active_lanes_eq branch -26 (label 4 at #50) if no lanes of $42 == 0
label label 0x00000003
trace_scope TraceScope(-1) when $41 is true
trace_line TraceLine(14) when $35 is true
copy_4_slots_unmasked $41..44 = matrix(0..3)
copy_4_slots_unmasked $45..48 = matrix(4..7)
copy_slot_unmasked $49 = matrix(8)
copy_4_uniforms $50..53 = testMatrix3x3(0..3)
copy_4_uniforms $54..57 = testMatrix3x3(4..7)
copy_uniform $58 = testMatrix3x3(8)
cmpeq_n_floats $41..49 = equal($41..49, $50..58)
bitwise_and_4_ints $42..45 &= $46..49
bitwise_and_2_ints $42..43 &= $44..45
bitwise_and_int $42 &= $43
bitwise_and_int $41 &= $42
copy_slot_masked [test3x3].result = Mask($41)
trace_var TraceVar([test3x3].result) when $35 is true
trace_scope TraceScope(-1) when $40 is true
trace_exit TraceExit(bool test3x3()) when $35 is true
copy_slot_unmasked $40 = [test3x3].result
label label 0x00000002
copy_constant $1 = 0
merge_condition_mask CondMask = $39 & $40
branch_if_no_lanes_active branch_if_no_lanes_active +74 (label 1 at #173)
trace_enter TraceEnter(bool test4x4()) when $35 is true
copy_constant $2 = 0
copy_slot_unmasked $3 = $35
copy_slot_masked $2 = Mask($3)
trace_scope TraceScope(+1) when $2 is true
trace_line TraceLine(18) when $35 is true
splat_4_constants matrix₁(0..3) = 0
splat_4_constants matrix₁(4..7) = 0
splat_4_constants matrix₁(8..11) = 0
splat_4_constants matrix₁(12..15) = 0
trace_var TraceVar(matrix₁) when $35 is true
trace_line TraceLine(19) when $35 is true
copy_4_immutables_unmasked values = i3..6 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)]
trace_var TraceVar(values₁) when $35 is true
copy_constant $3 = 0
copy_slot_unmasked $4 = $35
copy_slot_masked $3 = Mask($4)
trace_scope TraceScope(+1) when $3 is true
branch_if_no_lanes_active branch_if_no_lanes_active +31 (label 6 at #149)
trace_line TraceLine(20) when $35 is true
copy_constant index = 0
trace_var TraceVar(index₁) when $35 is true
label label 0x00000007
copy_constant $4 = 0
copy_slot_unmasked $5 = $35
copy_slot_masked $4 = Mask($5)
trace_scope TraceScope(+1) when $4 is true
trace_line TraceLine(21) when $35 is true
copy_slot_unmasked $59 = index
mul_imm_int $59 *= 0x00000004
copy_4_slots_unmasked $5..8 = values
copy_to_indirect_masked Indirect(matrix₁(0..3) + $59) = Mask($5..8)
trace_var TraceVar(matrix₁(0..3) + $59) when $35 is true
trace_line TraceLine(22) when $35 is true
copy_4_slots_unmasked $5..8 = values
splat_4_constants $9..12 = 0x40800000 (4.0)
add_4_floats $5..8 += $9..12
copy_4_slots_masked values = Mask($5..8)
trace_var TraceVar(values₁) when $35 is true
trace_scope TraceScope(-1) when $4 is true
trace_line TraceLine(20) when $35 is true
copy_slot_unmasked $4 = index
add_imm_int $4 += 0x00000001
copy_slot_masked index = Mask($4)
trace_var TraceVar(index₁) when $35 is true
copy_slot_unmasked $4 = index
cmplt_imm_int $4 = lessThan($4, 0x00000004)
stack_rewind
branch_if_no_active_lanes_eq branch -26 (label 7 at #122) if no lanes of $4 == 0
label label 0x00000006
trace_scope TraceScope(-1) when $3 is true
trace_line TraceLine(24) when $35 is true
copy_4_slots_unmasked $3..6 = matrix₁(0..3)
copy_4_slots_unmasked $7..10 = matrix₁(4..7)
copy_4_slots_unmasked $11..14 = matrix₁(8..11)
copy_4_slots_unmasked $15..18 = matrix₁(12..15)
copy_4_uniforms $19..22 = testMatrix4x4(0..3)
copy_4_uniforms $23..26 = testMatrix4x4(4..7)
copy_4_uniforms $27..30 = testMatrix4x4(8..11)
copy_4_uniforms $31..34 = testMatrix4x4(12..15)
cmpeq_n_floats $3..18 = equal($3..18, $19..34)
bitwise_and_4_ints $11..14 &= $15..18
bitwise_and_4_ints $7..10 &= $11..14
bitwise_and_4_ints $3..6 &= $7..10
bitwise_and_2_ints $3..4 &= $5..6
bitwise_and_int $3 &= $4
copy_slot_masked [test4x4].result = Mask($3)
trace_var TraceVar([test4x4].result) when $35 is true
trace_scope TraceScope(-1) when $2 is true
trace_exit TraceExit(bool test4x4()) when $35 is true
copy_slot_unmasked $2 = [test4x4].result
label label 0x00000005
copy_slot_masked $1 = Mask($2)
label label 0x00000001
load_condition_mask CondMask = $39
swizzle_4 $1..4 = ($1..4).xxxx
copy_4_uniforms $5..8 = colorRed
copy_4_uniforms $9..12 = colorGreen
mix_4_ints $1..4 = mix($5..8, $9..12, $1..4)
copy_4_slots_unmasked [main].result = $1..4
trace_var TraceVar([main].result) when $35 is true
trace_scope TraceScope(-1) when $0 is true
trace_exit TraceExit(half4 main(float2 coords)) when $35 is true
load_src src.rgba = [main].result