191 instructions 2 3[immutable slots] 4i0 = 0x3F800000 (1.0) 5i1 = 0x40000000 (2.0) 6i2 = 0x40400000 (3.0) 7i3 = 0x3F800000 (1.0) 8i4 = 0x40000000 (2.0) 9i5 = 0x40400000 (3.0) 10i6 = 0x40800000 (4.0) 11 12store_src_rg coords = src.rg 13init_lane_masks CondMask = LoopMask = RetMask = true 14store_condition_mask $12 = CondMask 15branch_if_no_lanes_active branch_if_no_lanes_active +42 (label 2 at #46) 16store_return_mask $13 = RetMask 17copy_4_uniforms matrix(0..3) = testMatrix3x3(0..3) 18copy_4_uniforms matrix(4..7) = testMatrix3x3(4..7) 19copy_uniform matrix(8) = testMatrix3x3(8) 20copy_3_immutables_unmasked expected = i0..2 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)] 21copy_constant index = 0 22store_loop_mask $14 = LoopMask 23jump jump +22 (label 4 at #34) 24label label 0x00000005 25store_condition_mask $15 = CondMask 26copy_slot_unmasked $22 = index 27mul_imm_int $22 *= 0x00000003 28copy_from_indirect_unmasked $16..18 = Indirect(matrix(0..2) + $22) 29copy_3_slots_unmasked $19..21 = expected 30cmpne_3_floats $16..18 = notEqual($16..18, $19..21) 31bitwise_or_int $17 |= $18 32bitwise_or_int $16 |= $17 33merge_condition_mask CondMask = $15 & $16 34copy_constant $17 = 0 35copy_slot_masked [test3x3].result = Mask($17) 36mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 37load_condition_mask CondMask = $15 38copy_3_slots_unmasked $15..17 = expected 39splat_3_constants $18..20 = 0x40400000 (3.0) 40add_3_floats $15..17 += $18..20 41copy_3_slots_masked expected = Mask($15..17) 42copy_slot_unmasked $15 = index 43add_imm_int $15 += 0x00000001 44copy_slot_masked index = Mask($15) 45label label 0x00000004 46copy_slot_unmasked $15 = index 47cmplt_imm_int $15 = lessThan($15, 0x00000003) 48merge_loop_mask LoopMask &= $15 49stack_rewind 50branch_if_any_lanes_active branch_if_any_lanes_active -26 (label 5 at #13) 51label label 0x00000003 52load_loop_mask LoopMask = $14 53copy_constant $14 = 0xFFFFFFFF 54copy_slot_masked [test3x3].result = Mask($14) 55load_return_mask RetMask = $13 56copy_slot_unmasked $13 = [test3x3].result 57label label 0x00000002 58copy_constant $0 = 0 59merge_condition_mask CondMask = $12 & $13 60branch_if_no_lanes_active branch_if_no_lanes_active +45 (label 1 at #94) 61store_return_mask $1 = RetMask 62copy_4_uniforms matrix₁(0..3) = testMatrix4x4(0..3) 63copy_4_uniforms matrix₁(4..7) = testMatrix4x4(4..7) 64copy_4_uniforms matrix₁(8..11) = testMatrix4x4(8..11) 65copy_4_uniforms matrix₁(12..15) = testMatrix4x4(12..15) 66copy_4_immutables_unmasked expected₁ = i3..6 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 67copy_constant index₁ = 0 68store_loop_mask $2 = LoopMask 69jump jump +22 (label 8 at #80) 70label label 0x00000009 71store_condition_mask $3 = CondMask 72copy_slot_unmasked $22 = index₁ 73mul_imm_int $22 *= 0x00000004 74copy_from_indirect_unmasked $4..7 = Indirect(matrix₁(0..3) + $22) 75copy_4_slots_unmasked $8..11 = expected₁ 76cmpne_4_floats $4..7 = notEqual($4..7, $8..11) 77bitwise_or_2_ints $4..5 |= $6..7 78bitwise_or_int $4 |= $5 79merge_condition_mask CondMask = $3 & $4 80copy_constant $5 = 0 81copy_slot_masked [test4x4].result = Mask($5) 82mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 83load_condition_mask CondMask = $3 84copy_4_slots_unmasked $3..6 = expected₁ 85splat_4_constants $7..10 = 0x40800000 (4.0) 86add_4_floats $3..6 += $7..10 87copy_4_slots_masked expected₁ = Mask($3..6) 88copy_slot_unmasked $3 = index₁ 89add_imm_int $3 += 0x00000001 90copy_slot_masked index₁ = Mask($3) 91label label 0x00000008 92copy_slot_unmasked $3 = index₁ 93cmplt_imm_int $3 = lessThan($3, 0x00000004) 94merge_loop_mask LoopMask &= $3 95stack_rewind 96branch_if_any_lanes_active branch_if_any_lanes_active -26 (label 9 at #59) 97label label 0x00000007 98load_loop_mask LoopMask = $2 99copy_constant $2 = 0xFFFFFFFF 100copy_slot_masked [test4x4].result = Mask($2) 101load_return_mask RetMask = $1 102copy_slot_unmasked $1 = [test4x4].result 103label label 0x00000006 104copy_slot_masked $0 = Mask($1) 105label label 0x00000001 106load_condition_mask CondMask = $12 107swizzle_4 $0..3 = ($0..3).xxxx 108copy_4_uniforms $4..7 = colorRed 109copy_4_uniforms $8..11 = colorGreen 110mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 111load_src src.rgba = $0..3 112