| 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 |