1*c8dee2aaSAndroid Build Coastguard Worker176 instructions 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Worker[immutable slots] 4*c8dee2aaSAndroid Build Coastguard Workeri0 = 0x3F800000 (1.0) 5*c8dee2aaSAndroid Build Coastguard Workeri1 = 0x40000000 (2.0) 6*c8dee2aaSAndroid Build Coastguard Workeri2 = 0x40400000 (3.0) 7*c8dee2aaSAndroid Build Coastguard Workeri3 = 0x3F800000 (1.0) 8*c8dee2aaSAndroid Build Coastguard Workeri4 = 0x40000000 (2.0) 9*c8dee2aaSAndroid Build Coastguard Workeri5 = 0x40400000 (3.0) 10*c8dee2aaSAndroid Build Coastguard Workeri6 = 0x40800000 (4.0) 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workerstore_device_xy01 $35..38 = DeviceCoords.xy01 13*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float $35 = equal($35, 0x3F000000 (0.5)) 14*c8dee2aaSAndroid Build Coastguard Workercmpeq_imm_float $36 = equal($36, 0x3F000000 (0.5)) 15*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $35 &= $36 16*c8dee2aaSAndroid Build Coastguard Workerstore_src_rg coords = src.rg 17*c8dee2aaSAndroid Build Coastguard Workerinit_lane_masks CondMask = LoopMask = RetMask = true 18*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms colorGreen = colorGreen 19*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(colorGreen) when $35 is true 20*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms colorRed = colorRed 21*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(colorRed) when $35 is true 22*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms testMatrix3x3(0..3) = testMatrix3x3(0..3) 23*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms testMatrix3x3(4..7) = testMatrix3x3(4..7) 24*c8dee2aaSAndroid Build Coastguard Workercopy_uniform testMatrix3x3(8) = testMatrix3x3(8) 25*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(testMatrix3x3) when $35 is true 26*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms testMatrix4x4(0..3) = testMatrix4x4(0..3) 27*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms testMatrix4x4(4..7) = testMatrix4x4(4..7) 28*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms testMatrix4x4(8..11) = testMatrix4x4(8..11) 29*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms testMatrix4x4(12..15) = testMatrix4x4(12..15) 30*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(testMatrix4x4) when $35 is true 31*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(half4 main(float2 coords)) when $35 is true 32*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(coords) when $35 is true 33*c8dee2aaSAndroid Build Coastguard Workercopy_constant $0 = 0 34*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $1 = $35 35*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $0 = Mask($1) 36*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $0 is true 37*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(28) when $35 is true 38*c8dee2aaSAndroid Build Coastguard Workerstore_condition_mask $39 = CondMask 39*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +68 (label 2 at #96) 40*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(bool test3x3()) when $35 is true 41*c8dee2aaSAndroid Build Coastguard Workercopy_constant $40 = 0 42*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $41 = $35 43*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $40 = Mask($41) 44*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $40 is true 45*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(8) when $35 is true 46*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix(0..3) = 0 47*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix(4..7) = 0 48*c8dee2aaSAndroid Build Coastguard Workercopy_constant matrix(8) = 0 49*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(matrix) when $35 is true 50*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(9) when $35 is true 51*c8dee2aaSAndroid Build Coastguard Workercopy_3_immutables_unmasked values = i0..2 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0)] 52*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(values) when $35 is true 53*c8dee2aaSAndroid Build Coastguard Workercopy_constant $41 = 0 54*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = $35 55*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $41 = Mask($42) 56*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $41 is true 57*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +31 (label 3 at #77) 58*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(10) when $35 is true 59*c8dee2aaSAndroid Build Coastguard Workercopy_constant index = 0 60*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(index) when $35 is true 61*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000004 62*c8dee2aaSAndroid Build Coastguard Workercopy_constant $42 = 0 63*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $43 = $35 64*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $42 = Mask($43) 65*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $42 is true 66*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(11) when $35 is true 67*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = index 68*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $59 *= 0x00000003 69*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $43..45 = values 70*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(matrix(0..2) + $59) = Mask($43..45) 71*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(matrix(0..2) + $59) when $35 is true 72*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(12) when $35 is true 73*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_unmasked $43..45 = values 74*c8dee2aaSAndroid Build Coastguard Workersplat_3_constants $46..48 = 0x40400000 (3.0) 75*c8dee2aaSAndroid Build Coastguard Workeradd_3_floats $43..45 += $46..48 76*c8dee2aaSAndroid Build Coastguard Workercopy_3_slots_masked values = Mask($43..45) 77*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(values) when $35 is true 78*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $42 is true 79*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(10) when $35 is true 80*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = index 81*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $42 += 0x00000001 82*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked index = Mask($42) 83*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(index) when $35 is true 84*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $42 = index 85*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $42 = lessThan($42, 0x00000003) 86*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 87*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -26 (label 4 at #50) if no lanes of $42 == 0 88*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000003 89*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $41 is true 90*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(14) when $35 is true 91*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $41..44 = matrix(0..3) 92*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $45..48 = matrix(4..7) 93*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $49 = matrix(8) 94*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $50..53 = testMatrix3x3(0..3) 95*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $54..57 = testMatrix3x3(4..7) 96*c8dee2aaSAndroid Build Coastguard Workercopy_uniform $58 = testMatrix3x3(8) 97*c8dee2aaSAndroid Build Coastguard Workercmpeq_n_floats $41..49 = equal($41..49, $50..58) 98*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $42..45 &= $46..49 99*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints $42..43 &= $44..45 100*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $42 &= $43 101*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $41 &= $42 102*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test3x3].result = Mask($41) 103*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([test3x3].result) when $35 is true 104*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $40 is true 105*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(bool test3x3()) when $35 is true 106*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $40 = [test3x3].result 107*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000002 108*c8dee2aaSAndroid Build Coastguard Workercopy_constant $1 = 0 109*c8dee2aaSAndroid Build Coastguard Workermerge_condition_mask CondMask = $39 & $40 110*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +74 (label 1 at #173) 111*c8dee2aaSAndroid Build Coastguard Workertrace_enter TraceEnter(bool test4x4()) when $35 is true 112*c8dee2aaSAndroid Build Coastguard Workercopy_constant $2 = 0 113*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $3 = $35 114*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $2 = Mask($3) 115*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $2 is true 116*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(18) when $35 is true 117*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix₁(0..3) = 0 118*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix₁(4..7) = 0 119*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix₁(8..11) = 0 120*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants matrix₁(12..15) = 0 121*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(matrix₁) when $35 is true 122*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(19) when $35 is true 123*c8dee2aaSAndroid Build Coastguard Workercopy_4_immutables_unmasked values₁ = i3..6 [0x3F800000 (1.0), 0x40000000 (2.0), 0x40400000 (3.0), 0x40800000 (4.0)] 124*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(values₁) when $35 is true 125*c8dee2aaSAndroid Build Coastguard Workercopy_constant $3 = 0 126*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = $35 127*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $3 = Mask($4) 128*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $3 is true 129*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_lanes_active branch_if_no_lanes_active +31 (label 6 at #149) 130*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(20) when $35 is true 131*c8dee2aaSAndroid Build Coastguard Workercopy_constant index₁ = 0 132*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(index₁) when $35 is true 133*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000007 134*c8dee2aaSAndroid Build Coastguard Workercopy_constant $4 = 0 135*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $5 = $35 136*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $4 = Mask($5) 137*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(+1) when $4 is true 138*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(21) when $35 is true 139*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $59 = index₁ 140*c8dee2aaSAndroid Build Coastguard Workermul_imm_int $59 *= 0x00000004 141*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $5..8 = values₁ 142*c8dee2aaSAndroid Build Coastguard Workercopy_to_indirect_masked Indirect(matrix₁(0..3) + $59) = Mask($5..8) 143*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(matrix₁(0..3) + $59) when $35 is true 144*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(22) when $35 is true 145*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $5..8 = values₁ 146*c8dee2aaSAndroid Build Coastguard Workersplat_4_constants $9..12 = 0x40800000 (4.0) 147*c8dee2aaSAndroid Build Coastguard Workeradd_4_floats $5..8 += $9..12 148*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_masked values₁ = Mask($5..8) 149*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(values₁) when $35 is true 150*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $4 is true 151*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(20) when $35 is true 152*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = index₁ 153*c8dee2aaSAndroid Build Coastguard Workeradd_imm_int $4 += 0x00000001 154*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked index₁ = Mask($4) 155*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar(index₁) when $35 is true 156*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $4 = index₁ 157*c8dee2aaSAndroid Build Coastguard Workercmplt_imm_int $4 = lessThan($4, 0x00000004) 158*c8dee2aaSAndroid Build Coastguard Workerstack_rewind 159*c8dee2aaSAndroid Build Coastguard Workerbranch_if_no_active_lanes_eq branch -26 (label 7 at #122) if no lanes of $4 == 0 160*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000006 161*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $3 is true 162*c8dee2aaSAndroid Build Coastguard Workertrace_line TraceLine(24) when $35 is true 163*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $3..6 = matrix₁(0..3) 164*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $7..10 = matrix₁(4..7) 165*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $11..14 = matrix₁(8..11) 166*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked $15..18 = matrix₁(12..15) 167*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $19..22 = testMatrix4x4(0..3) 168*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $23..26 = testMatrix4x4(4..7) 169*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $27..30 = testMatrix4x4(8..11) 170*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $31..34 = testMatrix4x4(12..15) 171*c8dee2aaSAndroid Build Coastguard Workercmpeq_n_floats $3..18 = equal($3..18, $19..34) 172*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $11..14 &= $15..18 173*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $7..10 &= $11..14 174*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_4_ints $3..6 &= $7..10 175*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_2_ints $3..4 &= $5..6 176*c8dee2aaSAndroid Build Coastguard Workerbitwise_and_int $3 &= $4 177*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked [test4x4].result = Mask($3) 178*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([test4x4].result) when $35 is true 179*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $2 is true 180*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(bool test4x4()) when $35 is true 181*c8dee2aaSAndroid Build Coastguard Workercopy_slot_unmasked $2 = [test4x4].result 182*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000005 183*c8dee2aaSAndroid Build Coastguard Workercopy_slot_masked $1 = Mask($2) 184*c8dee2aaSAndroid Build Coastguard Workerlabel label 0x00000001 185*c8dee2aaSAndroid Build Coastguard Workerload_condition_mask CondMask = $39 186*c8dee2aaSAndroid Build Coastguard Workerswizzle_4 $1..4 = ($1..4).xxxx 187*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $5..8 = colorRed 188*c8dee2aaSAndroid Build Coastguard Workercopy_4_uniforms $9..12 = colorGreen 189*c8dee2aaSAndroid Build Coastguard Workermix_4_ints $1..4 = mix($5..8, $9..12, $1..4) 190*c8dee2aaSAndroid Build Coastguard Workercopy_4_slots_unmasked [main].result = $1..4 191*c8dee2aaSAndroid Build Coastguard Workertrace_var TraceVar([main].result) when $35 is true 192*c8dee2aaSAndroid Build Coastguard Workertrace_scope TraceScope(-1) when $0 is true 193*c8dee2aaSAndroid Build Coastguard Workertrace_exit TraceExit(half4 main(float2 coords)) when $35 is true 194*c8dee2aaSAndroid Build Coastguard Workerload_src src.rgba = [main].result 195