| 86 instructions |
| |
| [immutable slots] |
| i0 = 0x3E800000 (0.25) |
| i1 = 0 |
| i2 = 0 |
| i3 = 0x3F400000 (0.75) |
| i4 = 0x3F800000 (1.0) |
| i5 = 0x3F800000 (1.0) |
| i6 = 0x3E800000 (0.25) |
| i7 = 0x3F800000 (1.0) |
| |
| store_src_rg v0..1 = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| copy_constant gAccessCount = 0 |
| splat_4_constants array[0] = 0 |
| add_imm_int gAccessCount += 0x00000001 |
| copy_constant $15 = 0 |
| label label 0 |
| mul_imm_int $15 *= 0x00000004 |
| copy_4_uniforms $0..3 = colorGreen |
| splat_4_constants $4..7 = 0x3F000000 (0.5) |
| mul_4_floats $0..3 *= $4..7 |
| copy_to_indirect_masked Indirect(array[0] + $15) = Mask($0..3) |
| add_imm_int gAccessCount += 0x00000001 |
| copy_constant $15 = 0 |
| label label 0x00000001 |
| mul_imm_int $15 *= 0x00000004 |
| copy_constant $0 = 0x40000000 (2.0) |
| copy_to_indirect_masked Indirect(array[0](3) + $15) = Mask($0) |
| add_imm_int gAccessCount += 0x00000001 |
| copy_constant $15 = 0 |
| label label 0x00000002 |
| mul_imm_int $15 *= 0x00000004 |
| copy_from_indirect_unmasked $0 = Indirect(array[0](1) + $15) |
| mul_imm_float $0 *= 0x40800000 (4.0) |
| copy_to_indirect_masked Indirect(array[0](1) + $15) = Mask($0) |
| add_imm_int gAccessCount += 0x00000001 |
| copy_constant $15 = 0 |
| label label 0x00000003 |
| mul_imm_int $15 *= 0x00000004 |
| copy_from_indirect_unmasked $3..5 = Indirect(array[0](1..3) + $15) |
| copy_constant $6 = 0 |
| copy_constant $7 = 0x3F000000 (0.5) |
| shuffle $6..14 = ($6..14)[1 0 0 0 1 0 0 0 1] |
| matrix_multiply_3 mat3x1($0..2) = mat3x1($3..5) * mat3x3($6..14) |
| copy_to_indirect_masked Indirect(array[0](1..3) + $15) = Mask($0..2) |
| add_imm_int gAccessCount += 0x00000001 |
| copy_constant $15 = 0 |
| label label 0x00000004 |
| mul_imm_int $15 *= 0x00000004 |
| copy_from_indirect_unmasked $0..3 = Indirect(array[0] + $15) |
| swizzle_4 $0..3 = ($0..3).zywx |
| copy_4_immutables_unmasked $4..7 = i0..3 [0x3E800000 (0.25), 0, 0, 0x3F400000 (0.75)] |
| add_4_floats $0..3 += $4..7 |
| swizzle_copy_to_indirect_maske Indirect(array[0] + $15).zywx = Mask($0..3) |
| add_imm_int gAccessCount += 0x00000001 |
| copy_constant $15 = 0 |
| label label 0x00000005 |
| mul_imm_int $15 *= 0x00000004 |
| copy_from_indirect_unmasked $0 = Indirect(array[0](0) + $15) |
| store_condition_mask $16 = CondMask |
| branch_if_no_lanes_active branch_if_no_lanes_active +5 (label 7 at #56) |
| copy_slot_unmasked $21 = gAccessCount |
| add_imm_int $21 += 0x00000001 |
| copy_slot_masked gAccessCount = Mask($21) |
| copy_constant $21 = 0 |
| label label 0x00000007 |
| mul_imm_int $21 *= 0x00000004 |
| copy_from_indirect_unmasked $17..20 = Indirect(array[0] + $21) |
| swizzle_1 $17 = ($17..20).w |
| cmple_imm_float $17 = lessThanEqual($17, 0x3F800000 (1.0)) |
| merge_condition_mask CondMask = $16 & $17 |
| branch_if_no_lanes_active branch_if_no_lanes_active +5 (label 8 at #67) |
| copy_slot_unmasked $21 = gAccessCount |
| add_imm_int $21 += 0x00000001 |
| copy_slot_masked gAccessCount = Mask($21) |
| copy_constant $21 = 0 |
| label label 0x00000008 |
| mul_imm_int $21 *= 0x00000004 |
| copy_from_indirect_unmasked $1..4 = Indirect(array[0] + $21) |
| swizzle_1 $1 = ($1..3).z |
| merge_inv_condition_mask CondMask = $16 & ~$17 |
| branch_if_no_lanes_active branch_if_no_lanes_active +5 (label 9 at #77) |
| copy_slot_unmasked $2 = gAccessCount |
| add_imm_int $2 += 0x00000001 |
| copy_slot_masked gAccessCount = Mask($2) |
| copy_constant $2 = 0 |
| label label 0x00000009 |
| cast_to_float_from_int $2 = IntToFloat($2) |
| copy_slot_masked $1 = Mask($2) |
| load_condition_mask CondMask = $16 |
| add_float $0 += $1 |
| copy_to_indirect_masked Indirect(array[0](0) + $15) = Mask($0) |
| copy_slot_unmasked $0 = gAccessCount |
| cmpeq_imm_int $0 = equal($0, 0x00000008) |
| copy_4_slots_unmasked $1..4 = array[0] |
| copy_4_immutables_unmasked $5..8 = i4..7 [0x3F800000 (1.0), 0x3F800000 (1.0), 0x3E800000 (0.25), 0x3F800000 (1.0)] |
| cmpeq_4_floats $1..4 = equal($1..4, $5..8) |
| bitwise_and_2_ints $1..2 &= $3..4 |
| bitwise_and_int $1 &= $2 |
| bitwise_and_int $0 &= $1 |
| 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 |