| 107 instructions |
| |
| [immutable slots] |
| i0 = 0x3F800000 (1.0) |
| i1 = 0x41200000 (10.0) |
| i2 = 0x42C80000 (100.0) |
| i3 = 0x40000000 (2.0) |
| i4 = 0x41A00000 (20.0) |
| i5 = 0x43480000 (200.0) |
| i6 = 0x40400000 (3.0) |
| i7 = 0x41F00000 (30.0) |
| i8 = 0x43960000 (300.0) |
| i9 = 0x40800000 (4.0) |
| i10 = 0x42200000 (40.0) |
| i11 = 0x43C80000 (400.0) |
| i12 = 0x40A00000 (5.0) |
| i13 = 0x42480000 (50.0) |
| i14 = 0x43FA0000 (500.0) |
| i15 = 0x40C00000 (6.0) |
| i16 = 0x42700000 (60.0) |
| i17 = 0x44160000 (600.0) |
| i18 = 0x40E00000 (7.0) |
| i19 = 0x428C0000 (70.0) |
| i20 = 0x442F0000 (700.0) |
| i21 = 0x41000000 (8.0) |
| i22 = 0x42A00000 (80.0) |
| i23 = 0x44480000 (800.0) |
| i24 = 0x41100000 (9.0) |
| i25 = 0x42B40000 (90.0) |
| i26 = 0x44610000 (900.0) |
| |
| store_src_rg coords = src.rg |
| init_lane_masks CondMask = LoopMask = RetMask = true |
| splat_4_constants data.outer[0].inner[0].values, data.outer[0].inner[1].values(0) = 0 |
| splat_4_constants data.outer[0].inner[1].values(1..2), data.outer[0].inner[2].values(0..1) = 0 |
| splat_4_constants data.outer[0].inner[2].values(2), data.outer[1].inner[0].values = 0 |
| splat_4_constants data.outer[1].inner[1].values, data.outer[1].inner[2].values(0) = 0 |
| splat_4_constants data.outer[1].inner[2].values(1..2), data.outer[2].inner[0].values(0..1) = 0 |
| splat_4_constants data.outer[2].inner[0].values(2), data.outer[2].inner[1].values = 0 |
| splat_3_constants data.outer[2].inner[2].values = 0 |
| copy_3_immutables_unmasked $0..2 = i0..2 [0x3F800000 (1.0), 0x41200000 (10.0), 0x42C80000 (100.0)] |
| copy_3_slots_masked data.outer[0].inner[0].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i3..5 [0x40000000 (2.0), 0x41A00000 (20.0), 0x43480000 (200.0)] |
| copy_3_slots_masked data.outer[0].inner[1].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i6..8 [0x40400000 (3.0), 0x41F00000 (30.0), 0x43960000 (300.0)] |
| copy_3_slots_masked data.outer[0].inner[2].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i9..11 [0x40800000 (4.0), 0x42200000 (40.0), 0x43C80000 (400.0)] |
| copy_3_slots_masked data.outer[1].inner[0].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i12..14 [0x40A00000 (5.0), 0x42480000 (50.0), 0x43FA0000 (500.0)] |
| copy_3_slots_masked data.outer[1].inner[1].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i15..17 [0x40C00000 (6.0), 0x42700000 (60.0), 0x44160000 (600.0)] |
| copy_3_slots_masked data.outer[1].inner[2].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i18..20 [0x40E00000 (7.0), 0x428C0000 (70.0), 0x442F0000 (700.0)] |
| copy_3_slots_masked data.outer[2].inner[0].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i21..23 [0x41000000 (8.0), 0x42A00000 (80.0), 0x44480000 (800.0)] |
| copy_3_slots_masked data.outer[2].inner[1].values = Mask($0..2) |
| copy_3_immutables_unmasked $0..2 = i24..26 [0x41100000 (9.0), 0x42B40000 (90.0), 0x44610000 (900.0)] |
| copy_3_slots_masked data.outer[2].inner[2].values = Mask($0..2) |
| splat_4_constants expected, i = 0 |
| store_loop_mask $0 = LoopMask |
| jump jump +75 (label 1 at #105) |
| label label 0x00000002 |
| copy_constant j = 0 |
| store_loop_mask $1 = LoopMask |
| jump jump +60 (label 4 at #94) |
| label label 0x00000005 |
| copy_3_slots_unmasked $2..4 = expected |
| copy_3_immutables_unmasked $5..7 = i0..2 [0x3F800000 (1.0), 0x41200000 (10.0), 0x42C80000 (100.0)] |
| add_3_floats $2..4 += $5..7 |
| copy_3_slots_masked expected = Mask($2..4) |
| store_condition_mask $2 = CondMask |
| copy_slot_unmasked $9 = i |
| mul_imm_int $9 *= 0x00000009 |
| copy_slot_unmasked $10 = j |
| mul_imm_int $10 *= 0x00000003 |
| copy_slot_unmasked $11 = $9 |
| add_int $10 += $11 |
| copy_from_indirect_unmasked $3..5 = Indirect(data.outer[0].inner[0].values + $10) |
| copy_3_slots_unmasked $6..8 = expected |
| cmpne_3_floats $3..5 = notEqual($3..5, $6..8) |
| bitwise_or_int $4 |= $5 |
| bitwise_or_int $3 |= $4 |
| merge_condition_mask CondMask = $2 & $3 |
| copy_4_uniforms $4..7 = colorRed |
| copy_4_slots_masked [main].result = Mask($4..7) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| load_condition_mask CondMask = $2 |
| copy_constant k = 0 |
| store_loop_mask $2 = LoopMask |
| jump jump +24 (label 7 at #83) |
| label label 0x00000008 |
| store_condition_mask $3 = CondMask |
| copy_slot_unmasked $9 = i |
| mul_imm_int $9 *= 0x00000009 |
| copy_slot_unmasked $10 = j |
| mul_imm_int $10 *= 0x00000003 |
| copy_slot_unmasked $11 = $9 |
| add_int $10 += $11 |
| copy_slot_unmasked $12 = k |
| copy_slot_unmasked $13 = $10 |
| add_int $12 += $13 |
| copy_from_indirect_unmasked $4 = Indirect(data.outer[0].inner[0].values(0) + $12) |
| copy_slot_unmasked $9 = k |
| copy_from_indirect_unmasked $5 = Indirect(expected(0) + $9) |
| cmpne_float $4 = notEqual($4, $5) |
| merge_condition_mask CondMask = $3 & $4 |
| copy_4_uniforms $5..8 = colorRed |
| copy_4_slots_masked [main].result = Mask($5..8) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| load_condition_mask CondMask = $3 |
| copy_slot_unmasked $3 = k |
| add_imm_int $3 += 0x00000001 |
| copy_slot_masked k = Mask($3) |
| label label 0x00000007 |
| copy_slot_unmasked $3 = k |
| cmplt_imm_int $3 = lessThan($3, 0x00000003) |
| merge_loop_mask LoopMask &= $3 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -28 (label 8 at #60) |
| label label 0x00000006 |
| load_loop_mask LoopMask = $2 |
| copy_slot_unmasked $2 = j |
| add_imm_int $2 += 0x00000001 |
| copy_slot_masked j = Mask($2) |
| label label 0x00000004 |
| copy_slot_unmasked $2 = j |
| cmplt_imm_int $2 = lessThan($2, 0x00000003) |
| merge_loop_mask LoopMask &= $2 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -64 (label 5 at #35) |
| label label 0x00000003 |
| load_loop_mask LoopMask = $1 |
| copy_slot_unmasked $1 = i |
| add_imm_int $1 += 0x00000001 |
| copy_slot_masked i = Mask($1) |
| label label 0x00000001 |
| copy_slot_unmasked $1 = i |
| cmplt_imm_int $1 = lessThan($1, 0x00000003) |
| merge_loop_mask LoopMask &= $1 |
| stack_rewind |
| branch_if_any_lanes_active branch_if_any_lanes_active -79 (label 2 at #31) |
| label label 0 |
| load_loop_mask LoopMask = $0 |
| copy_4_uniforms $0..3 = colorGreen |
| copy_4_slots_masked [main].result = Mask($0..3) |
| mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) |
| load_src src.rgba = [main].result |