1203 instructions 2 3[immutable slots] 4i0 = 0xBF800000 (-1.0) 5i1 = 0xC0000000 (-2.0) 6i2 = 0xC0400000 (-3.0) 7i3 = 0xC0800000 (-4.0) 8i4 = 0xBF800000 (-1.0) 9i5 = 0xC0000000 (-2.0) 10i6 = 0xC0400000 (-3.0) 11i7 = 0xC0800000 (-4.0) 12i8 = 0xC0A00000 (-5.0) 13i9 = 0xC0C00000 (-6.0) 14i10 = 0xC0E00000 (-7.0) 15i11 = 0xC1000000 (-8.0) 16i12 = 0xC1100000 (-9.0) 17i13 = 0xBF800000 (-1.0) 18i14 = 0xC0000000 (-2.0) 19i15 = 0xC0400000 (-3.0) 20i16 = 0xC0800000 (-4.0) 21i17 = 0xC0A00000 (-5.0) 22i18 = 0xC0C00000 (-6.0) 23i19 = 0xC0E00000 (-7.0) 24i20 = 0xC1000000 (-8.0) 25i21 = 0xC1100000 (-9.0) 26i22 = 0xC1200000 (-10.0) 27i23 = 0xC1300000 (-11.0) 28i24 = 0xC1400000 (-12.0) 29i25 = 0xC1500000 (-13.0) 30i26 = 0xC1600000 (-14.0) 31i27 = 0xC1700000 (-15.0) 32i28 = 0xC1800000 (-16.0) 33 34store_src_rg coords = src.rg 35init_lane_masks CondMask = LoopMask = RetMask = true 36copy_uniform _0_x = colorWhite(0) 37bitwise_xor_imm_int _0_x ^= 0x80000000 38store_condition_mask $33 = CondMask 39store_condition_mask $53 = CondMask 40store_condition_mask $63 = CondMask 41store_condition_mask $97 = CondMask 42store_condition_mask $117 = CondMask 43store_condition_mask $127 = CondMask 44store_condition_mask $131 = CondMask 45store_condition_mask $135 = CondMask 46store_condition_mask $138 = CondMask 47copy_slot_unmasked $139 = _0_x 48cmpeq_imm_float $139 = equal($139, 0xBF800000 (-1.0)) 49copy_constant $136 = 0 50merge_condition_mask CondMask = $138 & $139 51branch_if_no_lanes_active branch_if_no_lanes_active +9 (label 9 at #27) 52copy_uniform $137 = colorWhite(0) 53cast_to_int_from_float $137 = FloatToInt($137) 54copy_slot_unmasked x = $137 55mul_imm_int $137 *= 0xFFFFFFFF 56copy_slot_masked x = Mask($137) 57cmpeq_imm_int $137 = equal($137, 0xFFFFFFFF) 58label label 0x0000000A 59copy_slot_masked $136 = Mask($137) 60label label 0x00000009 61load_condition_mask CondMask = $138 62copy_constant $132 = 0 63merge_condition_mask CondMask = $135 & $136 64branch_if_no_lanes_active branch_if_no_lanes_active +11 (label 8 at #42) 65copy_2_uniforms x₁ = colorWhite(0..1) 66copy_2_slots_unmasked $133..134 = x₁ 67bitwise_xor_imm_int $133 ^= 0x80000000 68bitwise_xor_imm_int $134 ^= 0x80000000 69copy_2_slots_masked x₁ = Mask($133..134) 70cmpeq_imm_float $133 = equal($133, 0xBF800000 (-1.0)) 71cmpeq_imm_float $134 = equal($134, 0xBF800000 (-1.0)) 72bitwise_and_int $133 &= $134 73label label 0x0000000B 74copy_slot_masked $132 = Mask($133) 75label label 0x00000008 76load_condition_mask CondMask = $135 77copy_constant $128 = 0 78merge_condition_mask CondMask = $131 & $132 79branch_if_no_lanes_active branch_if_no_lanes_active +13 (label 7 at #59) 80copy_uniform $129 = colorWhite(0) 81cast_to_int_from_float $129 = FloatToInt($129) 82copy_slot_unmasked $130 = $129 83copy_2_slots_unmasked x₂ = $129..130 84mul_imm_int $129 *= 0xFFFFFFFF 85mul_imm_int $130 *= 0xFFFFFFFF 86copy_2_slots_masked x₂ = Mask($129..130) 87cmpeq_imm_int $129 = equal($129, 0xFFFFFFFF) 88cmpeq_imm_int $130 = equal($130, 0xFFFFFFFF) 89bitwise_and_int $129 &= $130 90label label 0x0000000C 91copy_slot_masked $128 = Mask($129) 92label label 0x00000007 93load_condition_mask CondMask = $131 94copy_constant $118 = 0 95merge_condition_mask CondMask = $127 & $128 96branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 6 at #75) 97copy_4_uniforms x₃ = testMatrix2x2 98copy_4_slots_unmasked $119..122 = x₃ 99splat_4_constants $123..126 = 0x80000000 (-0.0) 100bitwise_xor_4_ints $119..122 ^= $123..126 101copy_4_slots_masked x₃ = Mask($119..122) 102copy_4_immutables_unmasked $123..126 = i0..3 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)] 103cmpeq_4_floats $119..122 = equal($119..122, $123..126) 104bitwise_and_2_ints $119..120 &= $121..122 105bitwise_and_int $119 &= $120 106label label 0x0000000D 107copy_slot_masked $118 = Mask($119) 108label label 0x00000006 109load_condition_mask CondMask = $127 110copy_constant $98 = 0 111merge_condition_mask CondMask = $117 & $118 112branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 5 at #103) 113copy_4_uniforms x₄(0..3) = testMatrix3x3(0..3) 114copy_4_uniforms x₄(4..7) = testMatrix3x3(4..7) 115copy_uniform x₄(8) = testMatrix3x3(8) 116copy_4_slots_unmasked $99..102 = x₄(0..3) 117copy_4_slots_unmasked $103..106 = x₄(4..7) 118copy_slot_unmasked $107 = x₄(8) 119splat_4_constants $108..111 = 0x80000000 (-0.0) 120splat_4_constants $112..115 = 0x80000000 (-0.0) 121copy_constant $116 = 0x80000000 (-0.0) 122bitwise_xor_n_ints $99..107 ^= $108..116 123copy_4_slots_masked x₄(0..3) = Mask($99..102) 124copy_4_slots_masked x₄(4..7) = Mask($103..106) 125copy_slot_masked x₄(8) = Mask($107) 126copy_4_immutables_unmasked $108..111 = i4..7 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)] 127copy_4_immutables_unmasked $112..115 = i8..11 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)] 128copy_constant $116 = 0xC1100000 (-9.0) 129cmpeq_n_floats $99..107 = equal($99..107, $108..116) 130bitwise_and_4_ints $100..103 &= $104..107 131bitwise_and_2_ints $100..101 &= $102..103 132bitwise_and_int $100 &= $101 133bitwise_and_int $99 &= $100 134label label 0x0000000E 135copy_slot_masked $98 = Mask($99) 136label label 0x00000005 137load_condition_mask CondMask = $117 138copy_constant $64 = 0 139merge_condition_mask CondMask = $97 & $98 140branch_if_no_lanes_active branch_if_no_lanes_active +30 (label 4 at #137) 141copy_4_uniforms x₅(0..3) = testMatrix4x4(0..3) 142copy_4_uniforms x₅(4..7) = testMatrix4x4(4..7) 143copy_4_uniforms x₅(8..11) = testMatrix4x4(8..11) 144copy_4_uniforms x₅(12..15) = testMatrix4x4(12..15) 145copy_4_slots_unmasked $65..68 = x₅(0..3) 146copy_4_slots_unmasked $69..72 = x₅(4..7) 147copy_4_slots_unmasked $73..76 = x₅(8..11) 148copy_4_slots_unmasked $77..80 = x₅(12..15) 149splat_4_constants $81..84 = 0x80000000 (-0.0) 150splat_4_constants $85..88 = 0x80000000 (-0.0) 151splat_4_constants $89..92 = 0x80000000 (-0.0) 152splat_4_constants $93..96 = 0x80000000 (-0.0) 153bitwise_xor_n_ints $65..80 ^= $81..96 154copy_4_slots_masked x₅(0..3) = Mask($65..68) 155copy_4_slots_masked x₅(4..7) = Mask($69..72) 156copy_4_slots_masked x₅(8..11) = Mask($73..76) 157copy_4_slots_masked x₅(12..15) = Mask($77..80) 158copy_4_immutables_unmasked $81..84 = i13..16 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)] 159copy_4_immutables_unmasked $85..88 = i17..20 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)] 160copy_4_immutables_unmasked $89..92 = i21..24 [0xC1100000 (-9.0), 0xC1200000 (-10.0), 0xC1300000 (-11.0), 0xC1400000 (-12.0)] 161copy_4_immutables_unmasked $93..96 = i25..28 [0xC1500000 (-13.0), 0xC1600000 (-14.0), 0xC1700000 (-15.0), 0xC1800000 (-16.0)] 162cmpeq_n_floats $65..80 = equal($65..80, $81..96) 163bitwise_and_4_ints $73..76 &= $77..80 164bitwise_and_4_ints $69..72 &= $73..76 165bitwise_and_4_ints $65..68 &= $69..72 166bitwise_and_2_ints $65..66 &= $67..68 167bitwise_and_int $65 &= $66 168label label 0x0000000F 169copy_slot_masked $64 = Mask($65) 170label label 0x00000004 171load_condition_mask CondMask = $97 172copy_constant $54 = 0 173merge_condition_mask CondMask = $63 & $64 174branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 3 at #153) 175copy_4_uniforms x₆ = testMatrix2x2 176copy_4_slots_unmasked $55..58 = x₆ 177splat_4_constants $59..62 = 0x80000000 (-0.0) 178bitwise_xor_4_ints $55..58 ^= $59..62 179copy_4_slots_masked x₆ = Mask($55..58) 180copy_4_immutables_unmasked $59..62 = i4..7 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)] 181cmpeq_4_floats $55..58 = equal($55..58, $59..62) 182bitwise_and_2_ints $55..56 &= $57..58 183bitwise_and_int $55 &= $56 184label label 0x00000010 185copy_slot_masked $54 = Mask($55) 186label label 0x00000003 187load_condition_mask CondMask = $63 188copy_constant $34 = 0 189merge_condition_mask CondMask = $53 & $54 190branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 2 at #181) 191copy_4_uniforms x₇(0..3) = testMatrix3x3(0..3) 192copy_4_uniforms x₇(4..7) = testMatrix3x3(4..7) 193copy_uniform x₇(8) = testMatrix3x3(8) 194copy_4_slots_unmasked $35..38 = x₇(0..3) 195copy_4_slots_unmasked $39..42 = x₇(4..7) 196copy_slot_unmasked $43 = x₇(8) 197splat_4_constants $44..47 = 0x80000000 (-0.0) 198splat_4_constants $48..51 = 0x80000000 (-0.0) 199copy_constant $52 = 0x80000000 (-0.0) 200bitwise_xor_n_ints $35..43 ^= $44..52 201copy_4_slots_masked x₇(0..3) = Mask($35..38) 202copy_4_slots_masked x₇(4..7) = Mask($39..42) 203copy_slot_masked x₇(8) = Mask($43) 204copy_4_immutables_unmasked $44..47 = i13..16 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)] 205copy_4_immutables_unmasked $48..51 = i17..20 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)] 206copy_constant $52 = 0xC1100000 (-9.0) 207cmpeq_n_floats $35..43 = equal($35..43, $44..52) 208bitwise_and_4_ints $36..39 &= $40..43 209bitwise_and_2_ints $36..37 &= $38..39 210bitwise_and_int $36 &= $37 211bitwise_and_int $35 &= $36 212label label 0x00000011 213copy_slot_masked $34 = Mask($35) 214label label 0x00000002 215load_condition_mask CondMask = $53 216copy_constant $0 = 0 217merge_condition_mask CondMask = $33 & $34 218branch_if_no_lanes_active branch_if_no_lanes_active +30 (label 1 at #215) 219copy_4_uniforms x₈(0..3) = testMatrix4x4(0..3) 220copy_4_uniforms x₈(4..7) = testMatrix4x4(4..7) 221copy_4_uniforms x₈(8..11) = testMatrix4x4(8..11) 222copy_4_uniforms x₈(12..15) = testMatrix4x4(12..15) 223copy_4_slots_unmasked $1..4 = x₈(0..3) 224copy_4_slots_unmasked $5..8 = x₈(4..7) 225copy_4_slots_unmasked $9..12 = x₈(8..11) 226copy_4_slots_unmasked $13..16 = x₈(12..15) 227splat_4_constants $17..20 = 0x80000000 (-0.0) 228splat_4_constants $21..24 = 0x80000000 (-0.0) 229splat_4_constants $25..28 = 0x80000000 (-0.0) 230splat_4_constants $29..32 = 0x80000000 (-0.0) 231bitwise_xor_n_ints $1..16 ^= $17..32 232copy_4_slots_masked x₈(0..3) = Mask($1..4) 233copy_4_slots_masked x₈(4..7) = Mask($5..8) 234copy_4_slots_masked x₈(8..11) = Mask($9..12) 235copy_4_slots_masked x₈(12..15) = Mask($13..16) 236copy_4_immutables_unmasked $17..20 = i13..16 [0xBF800000 (-1.0), 0xC0000000 (-2.0), 0xC0400000 (-3.0), 0xC0800000 (-4.0)] 237copy_4_immutables_unmasked $21..24 = i17..20 [0xC0A00000 (-5.0), 0xC0C00000 (-6.0), 0xC0E00000 (-7.0), 0xC1000000 (-8.0)] 238copy_4_immutables_unmasked $25..28 = i21..24 [0xC1100000 (-9.0), 0xC1200000 (-10.0), 0xC1300000 (-11.0), 0xC1400000 (-12.0)] 239copy_4_immutables_unmasked $29..32 = i25..28 [0xC1500000 (-13.0), 0xC1600000 (-14.0), 0xC1700000 (-15.0), 0xC1800000 (-16.0)] 240cmpeq_n_floats $1..16 = equal($1..16, $17..32) 241bitwise_and_4_ints $9..12 &= $13..16 242bitwise_and_4_ints $5..8 &= $9..12 243bitwise_and_4_ints $1..4 &= $5..8 244bitwise_and_2_ints $1..2 &= $3..4 245bitwise_and_int $1 &= $2 246label label 0x00000012 247copy_slot_masked $0 = Mask($1) 248label label 0x00000001 249load_condition_mask CondMask = $33 250swizzle_4 $0..3 = ($0..3).xxxx 251copy_4_uniforms $4..7 = colorRed 252copy_4_uniforms $8..11 = colorGreen 253mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 254load_src src.rgba = $0..3 255