194 instructions 2 3store_src_rg xy = src.rg 4init_lane_masks CondMask = LoopMask = RetMask = true 5copy_constant scratchVar = 0 6store_condition_mask $12 = CondMask 7store_condition_mask $17 = CondMask 8store_condition_mask $22 = CondMask 9branch_if_no_lanes_active branch_if_no_lanes_active +6 (label 4 at #13) 10store_return_mask $23 = RetMask 11copy_constant $24 = 0xFFFFFFFF 12copy_slot_masked [test_flat].result = Mask($24) 13load_return_mask RetMask = $23 14copy_slot_unmasked $23 = [test_flat].result 15label label 0x00000004 16copy_constant $18 = 0 17merge_condition_mask CondMask = $22 & $23 18branch_if_no_lanes_active branch_if_no_lanes_active +24 (label 3 at #40) 19store_return_mask $19 = RetMask 20copy_constant $20 = 0 21copy_uniform $21 = colorGreen(1) 22cmplt_float $20 = lessThan($20, $21) 23branch_if_no_active_lanes_eq branch +5 (label 6 at #26) if no lanes of $20 == 0xFFFFFFFF 24copy_constant $21 = 0xFFFFFFFF 25copy_slot_masked [test_if].result = Mask($21) 26mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 27jump jump +5 (label 7 at #30) 28label label 0x00000006 29copy_slot_unmasked $21 = scratchVar 30add_imm_int $21 += 0x00000001 31copy_slot_masked scratchVar = Mask($21) 32label label 0x00000007 33copy_slot_unmasked $20 = scratchVar 34add_imm_int $20 += 0x00000001 35copy_slot_masked scratchVar = Mask($20) 36copy_constant $20 = 0 37copy_slot_masked [test_if].result = Mask($20) 38load_return_mask RetMask = $19 39copy_slot_unmasked $19 = [test_if].result 40label label 0x00000005 41copy_slot_masked $18 = Mask($19) 42label label 0x00000003 43load_condition_mask CondMask = $22 44copy_constant $13 = 0 45merge_condition_mask CondMask = $17 & $18 46branch_if_no_lanes_active branch_if_no_lanes_active +18 (label 2 at #62) 47store_return_mask $14 = RetMask 48copy_uniform $15 = colorGreen(1) 49cmpeq_imm_float $15 = equal($15, 0) 50branch_if_no_active_lanes_eq branch +5 (label 9 at #53) if no lanes of $15 == 0xFFFFFFFF 51copy_constant $16 = 0 52copy_slot_masked [test_else].result = Mask($16) 53mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 54jump jump +5 (label 10 at #57) 55label label 0x00000009 56copy_constant $16 = 0xFFFFFFFF 57copy_slot_masked [test_else].result = Mask($16) 58mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 59label label 0x0000000A 60load_return_mask RetMask = $14 61copy_slot_unmasked $14 = [test_else].result 62label label 0x00000008 63copy_slot_masked $13 = Mask($14) 64label label 0x00000002 65load_condition_mask CondMask = $17 66copy_constant $0 = 0 67merge_condition_mask CondMask = $12 & $13 68branch_if_no_lanes_active branch_if_no_lanes_active +38 (label 1 at #104) 69store_return_mask $1 = RetMask 70copy_constant x = 0 71store_loop_mask $2 = LoopMask 72jump jump +17 (label 13 at #87) 73label label 0x0000000E 74copy_uniform $3 = colorGreen(1) 75cmpeq_imm_float $3 = equal($3, 0) 76branch_if_no_active_lanes_eq branch +5 (label 15 at #79) if no lanes of $3 == 0xFFFFFFFF 77copy_constant $4 = 0 78copy_slot_masked [test_loop_if].result = Mask($4) 79mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 80jump jump +5 (label 16 at #83) 81label label 0x0000000F 82copy_constant $4 = 0xFFFFFFFF 83copy_slot_masked [test_loop_if].result = Mask($4) 84mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) 85label label 0x00000010 86copy_slot_unmasked $3 = x 87add_imm_int $3 += 0x00000001 88copy_slot_masked x = Mask($3) 89label label 0x0000000D 90copy_slot_unmasked $3 = x 91cmple_imm_int $3 = lessThanEqual($3, 0x00000001) 92merge_loop_mask LoopMask &= $3 93stack_rewind 94branch_if_any_lanes_active branch_if_any_lanes_active -21 (label 14 at #71) 95label label 0x0000000C 96load_loop_mask LoopMask = $2 97copy_slot_unmasked $2 = scratchVar 98add_imm_int $2 += 0x00000001 99copy_slot_masked scratchVar = Mask($2) 100copy_constant $2 = 0xFFFFFFFF 101copy_slot_masked [test_loop_if].result = Mask($2) 102load_return_mask RetMask = $1 103copy_slot_unmasked $1 = [test_loop_if].result 104label label 0x0000000B 105copy_slot_masked $0 = Mask($1) 106label label 0x00000001 107load_condition_mask CondMask = $12 108swizzle_4 $0..3 = ($0..3).xxxx 109copy_4_uniforms $4..7 = colorRed 110copy_4_uniforms $8..11 = colorGreen 111mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 112load_src src.rgba = $0..3 113