1179 instructions 2 3[immutable slots] 4i0 = 0x3F800000 (1.0) 5i1 = 0x3F800000 (1.0) 6i2 = 0x40000000 (2.0) 7i3 = 0x40400000 (3.0) 8 9store_src_rg coords = src.rg 10init_lane_masks CondMask = LoopMask = RetMask = true 11copy_4_uniforms v = testInputs 12copy_constant $0 = 0 13copy_4_slots_unmasked $1..4 = v 14swizzle_3 $1..3 = ($1..3).zyx 15copy_4_slots_unmasked v = $0..3 16splat_2_constants $0..1 = 0 17copy_4_slots_unmasked $2..5 = v 18copy_slot_unmasked $3 = $5 19copy_4_slots_unmasked v = $0..3 20splat_2_constants $0..1 = 0x3F800000 (1.0) 21copy_4_slots_unmasked $2..5 = v 22swizzle_2 $2..3 = ($2..5).wx 23copy_4_slots_unmasked v = $0..3 24swizzle_2 $0..1 = ($0..2).zy 25splat_2_constants v(2..3) = 0x3F800000 (1.0) 26copy_2_slots_unmasked v(0..1) = $0..1 27copy_4_slots_unmasked $0..3 = v 28swizzle_2 $0..1 = ($0..1).xx 29splat_2_constants v(2..3) = 0x3F800000 (1.0) 30copy_2_slots_unmasked v(0..1) = $0..1 31copy_4_slots_unmasked $0..3 = v 32swizzle_4 $0..3 = ($0..3).wzwz 33copy_4_slots_unmasked v = $0..3 34store_return_mask $0 = RetMask 35copy_constant x = 0x00000001 (1.401298e-45) 36store_loop_mask $1 = LoopMask 37jump jump +8 (label 2 at #37) 38label label 0x00000003 39copy_slot_unmasked $2 = v(0) 40copy_slot_masked [fn].result = Mask($2) 41mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 42copy_slot_unmasked $2 = x 43add_imm_int $2 += 0x00000001 44copy_slot_masked x = Mask($2) 45label label 0x00000002 46copy_slot_unmasked $2 = x 47cmple_imm_int $2 = lessThanEqual($2, 0x00000002) 48merge_loop_mask LoopMask &= $2 49stack_rewind 50branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 3 at #30) 51label label 0x00000001 52load_loop_mask LoopMask = $1 53load_return_mask RetMask = $0 54copy_slot_unmasked $0 = [fn].result 55label label 0 56copy_constant $1 = 0x42F60000 (123.0) 57copy_constant $2 = 0x43E40000 (456.0) 58swizzle_4 $0..3 = ($0..3).yyzz 59copy_4_slots_unmasked v = $0..3 60store_return_mask $0 = RetMask 61copy_constant x = 0x00000001 (1.401298e-45) 62store_loop_mask $1 = LoopMask 63jump jump +8 (label 6 at #63) 64label label 0x00000007 65copy_slot_unmasked $2 = v(0) 66copy_slot_masked [fn].result = Mask($2) 67mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 68copy_slot_unmasked $2 = x 69add_imm_int $2 += 0x00000001 70copy_slot_masked x = Mask($2) 71label label 0x00000006 72copy_slot_unmasked $2 = x 73cmple_imm_int $2 = lessThanEqual($2, 0x00000002) 74merge_loop_mask LoopMask &= $2 75stack_rewind 76branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 7 at #56) 77label label 0x00000005 78load_loop_mask LoopMask = $1 79load_return_mask RetMask = $0 80copy_slot_unmasked $0 = [fn].result 81label label 0x00000004 82copy_constant $1 = 0x42F60000 (123.0) 83copy_constant $2 = 0x43E40000 (456.0) 84swizzle_4 $0..3 = ($0..3).yyzz 85copy_4_slots_unmasked v = $0..3 86copy_constant $0 = 0x42F60000 (123.0) 87splat_2_constants $1..2 = 0x43E40000 (456.0) 88store_return_mask $3 = RetMask 89copy_constant x = 0x00000001 (1.401298e-45) 90store_loop_mask $4 = LoopMask 91jump jump +8 (label 10 at #91) 92label label 0x0000000B 93copy_slot_unmasked $5 = v(0) 94copy_slot_masked [fn].result = Mask($5) 95mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 96copy_slot_unmasked $5 = x 97add_imm_int $5 += 0x00000001 98copy_slot_masked x = Mask($5) 99label label 0x0000000A 100copy_slot_unmasked $5 = x 101cmple_imm_int $5 = lessThanEqual($5, 0x00000002) 102merge_loop_mask LoopMask &= $5 103stack_rewind 104branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 11 at #84) 105label label 0x00000009 106load_loop_mask LoopMask = $4 107load_return_mask RetMask = $3 108copy_slot_unmasked $3 = [fn].result 109label label 0x00000008 110copy_4_slots_unmasked v = $0..3 111copy_constant $0 = 0x42F60000 (123.0) 112splat_2_constants $1..2 = 0x43E40000 (456.0) 113store_return_mask $3 = RetMask 114copy_constant x = 0x00000001 (1.401298e-45) 115store_loop_mask $4 = LoopMask 116jump jump +8 (label 14 at #116) 117label label 0x0000000F 118copy_slot_unmasked $5 = v(0) 119copy_slot_masked [fn].result = Mask($5) 120mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 121copy_slot_unmasked $5 = x 122add_imm_int $5 += 0x00000001 123copy_slot_masked x = Mask($5) 124label label 0x0000000E 125copy_slot_unmasked $5 = x 126cmple_imm_int $5 = lessThanEqual($5, 0x00000002) 127merge_loop_mask LoopMask &= $5 128stack_rewind 129branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 15 at #109) 130label label 0x0000000D 131load_loop_mask LoopMask = $4 132load_return_mask RetMask = $3 133copy_slot_unmasked $3 = [fn].result 134label label 0x0000000C 135copy_4_slots_unmasked v = $0..3 136store_return_mask $0 = RetMask 137copy_constant x = 0x00000001 (1.401298e-45) 138store_loop_mask $1 = LoopMask 139jump jump +8 (label 18 at #139) 140label label 0x00000013 141copy_slot_unmasked $2 = v(0) 142copy_slot_masked [fn].result = Mask($2) 143mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 144copy_slot_unmasked $2 = x 145add_imm_int $2 += 0x00000001 146copy_slot_masked x = Mask($2) 147label label 0x00000012 148copy_slot_unmasked $2 = x 149cmple_imm_int $2 = lessThanEqual($2, 0x00000002) 150merge_loop_mask LoopMask &= $2 151stack_rewind 152branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 19 at #132) 153label label 0x00000011 154load_loop_mask LoopMask = $1 155load_return_mask RetMask = $0 156copy_slot_unmasked $0 = [fn].result 157label label 0x00000010 158copy_constant $1 = 0x42F60000 (123.0) 159copy_constant $2 = 0x43E40000 (456.0) 160swizzle_4 $0..3 = ($0..3).yxxz 161copy_4_slots_unmasked v = $0..3 162store_return_mask $0 = RetMask 163copy_constant x = 0x00000001 (1.401298e-45) 164store_loop_mask $1 = LoopMask 165jump jump +8 (label 22 at #165) 166label label 0x00000017 167copy_slot_unmasked $2 = v(0) 168copy_slot_masked [fn].result = Mask($2) 169mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 170copy_slot_unmasked $2 = x 171add_imm_int $2 += 0x00000001 172copy_slot_masked x = Mask($2) 173label label 0x00000016 174copy_slot_unmasked $2 = x 175cmple_imm_int $2 = lessThanEqual($2, 0x00000002) 176merge_loop_mask LoopMask &= $2 177stack_rewind 178branch_if_any_lanes_active branch_if_any_lanes_active -12 (label 23 at #158) 179label label 0x00000015 180load_loop_mask LoopMask = $1 181load_return_mask RetMask = $0 182copy_slot_unmasked $0 = [fn].result 183label label 0x00000014 184copy_constant $1 = 0x42F60000 (123.0) 185copy_constant $2 = 0x43E40000 (456.0) 186swizzle_4 $0..3 = ($0..3).yxxz 187copy_4_slots_unmasked v = $0..3 188copy_4_immutables_unmasked v = i0..3 [0x3F800000 (1.0), 0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)] 189copy_3_uniforms v(0..2) = colorRed(0..2) 190copy_constant v(3) = 0x3F800000 (1.0) 191copy_uniform v(0) = colorRed(0) 192copy_constant v(1) = 0x3F800000 (1.0) 193copy_2_uniforms v(2..3) = colorRed(1..2) 194copy_4_slots_unmasked $0..3 = v 195swizzle_copy_4_slots_masked (v).wzyx = Mask($0..3) 196copy_2_slots_unmasked $0..1 = v(1..2) 197swizzle_copy_2_slots_masked (v).xw = Mask($0..1) 198copy_4_slots_unmasked $0..3 = v 199swizzle_2 $0..1 = ($0..3).ww 200copy_constant $2 = 0x3F800000 (1.0) 201swizzle_copy_3_slots_masked (v(0..2)).zyx = Mask($0..2) 202copy_4_slots_unmasked $0..3 = v 203splat_4_constants $4..7 = 0x3F800000 (1.0) 204cmpeq_4_floats $0..3 = equal($0..3, $4..7) 205bitwise_and_2_ints $0..1 &= $2..3 206bitwise_and_int $0 &= $1 207swizzle_4 $0..3 = ($0..3).xxxx 208copy_4_uniforms $4..7 = colorRed 209copy_4_uniforms $8..11 = colorGreen 210mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 211load_src src.rgba = $0..3 212