184 instructions 2 3store_src_rg v0..1 = src.rg 4init_lane_masks CondMask = LoopMask = RetMask = true 5splat_2_constants colorBlue(0..1) = 0 6copy_uniform colorBlue(2) = colorWhite(2) 7copy_constant colorBlue(3) = 0x3F800000 (1.0) 8copy_constant colorGreen(0) = 0 9copy_uniform colorGreen(1) = colorWhite(1) 10copy_constant colorGreen(2) = 0 11copy_constant colorGreen(3) = 0x3F800000 (1.0) 12copy_uniform colorRed(0) = colorWhite(0) 13splat_2_constants colorRed(1..2) = 0 14copy_constant colorRed(3) = 0x3F800000 (1.0) 15store_return_mask $0 = RetMask 16splat_4_constants result = 0 17store_condition_mask $1 = CondMask 18copy_4_uniforms $2..5 = colorWhite 19copy_4_slots_unmasked $6..9 = colorBlue 20cmpne_4_floats $2..5 = notEqual($2..5, $6..9) 21bitwise_or_2_ints $2..3 |= $4..5 22bitwise_or_int $2 |= $3 23merge_condition_mask CondMask = $1 & $2 24store_condition_mask $3 = CondMask 25copy_4_slots_unmasked $4..7 = colorGreen 26copy_4_slots_unmasked $8..11 = colorRed 27cmpeq_4_floats $4..7 = equal($4..7, $8..11) 28bitwise_and_2_ints $4..5 &= $6..7 29bitwise_and_int $4 &= $5 30merge_condition_mask CondMask = $3 & $4 31copy_4_slots_unmasked $5..8 = colorRed 32copy_4_slots_masked result = Mask($5..8) 33merge_inv_condition_mask CondMask = $3 & ~$4 34copy_4_slots_unmasked $5..8 = colorGreen 35copy_4_slots_masked result = Mask($5..8) 36load_condition_mask CondMask = $3 37merge_inv_condition_mask CondMask = $1 & ~$2 38store_condition_mask $3 = CondMask 39copy_4_slots_unmasked $4..7 = colorRed 40copy_4_slots_unmasked $8..11 = colorGreen 41cmpne_4_floats $4..7 = notEqual($4..7, $8..11) 42bitwise_or_2_ints $4..5 |= $6..7 43bitwise_or_int $4 |= $5 44merge_condition_mask CondMask = $3 & $4 45copy_4_slots_unmasked $5..8 = colorBlue 46copy_4_slots_masked result = Mask($5..8) 47merge_inv_condition_mask CondMask = $3 & ~$4 48copy_4_uniforms $5..8 = colorWhite 49copy_4_slots_masked result = Mask($5..8) 50load_condition_mask CondMask = $3 51load_condition_mask CondMask = $1 52copy_4_slots_unmasked $2..5 = colorRed 53copy_4_slots_unmasked $6..9 = colorBlue 54cmpeq_4_floats $2..5 = equal($2..5, $6..9) 55bitwise_and_2_ints $2..3 &= $4..5 56bitwise_and_int $2 &= $3 57merge_condition_mask CondMask = $1 & $2 58copy_4_uniforms $3..6 = colorWhite 59copy_4_slots_masked [ifElseTest].result = Mask($3..6) 60mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 61load_condition_mask CondMask = $1 62copy_4_slots_unmasked $2..5 = colorRed 63copy_4_slots_unmasked $6..9 = colorGreen 64cmpne_4_floats $2..5 = notEqual($2..5, $6..9) 65bitwise_or_2_ints $2..3 |= $4..5 66bitwise_or_int $2 |= $3 67merge_condition_mask CondMask = $1 & $2 68copy_4_slots_unmasked $3..6 = result 69copy_4_slots_masked [ifElseTest].result = Mask($3..6) 70mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 71load_condition_mask CondMask = $1 72copy_4_slots_unmasked $2..5 = colorRed 73copy_4_uniforms $6..9 = colorWhite 74cmpeq_4_floats $2..5 = equal($2..5, $6..9) 75bitwise_and_2_ints $2..3 &= $4..5 76bitwise_and_int $2 &= $3 77merge_condition_mask CondMask = $1 & $2 78copy_4_slots_unmasked $3..6 = colorBlue 79copy_4_slots_masked [ifElseTest].result = Mask($3..6) 80mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 81load_condition_mask CondMask = $1 82copy_4_slots_unmasked $1..4 = colorRed 83copy_4_slots_masked [ifElseTest].result = Mask($1..4) 84load_return_mask RetMask = $0 85copy_4_slots_unmasked $0..3 = [ifElseTest].result 86label label 0 87load_src src.rgba = $0..3 88