1 1. store_src_rg coords = src.rg 2 2. init_lane_masks CondMask = LoopMask = RetMask = true 3 3. copy_4_constants $0..3 = colorRed 4 4. copy_4_slots_unmasked color = $0..3 5 5. store_loop_mask $0 = LoopMask 6 6. copy_constant $1 = colorGreen(1) 7 7. cast_to_int_from_float $1 = FloatToInt($1) 8 8. store_loop_mask $2 = LoopMask 9 9. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 10 10. case_op if ($1 == 0x00000000) { LoopMask = true; $2 = false; } 11 11. branch_if_no_active_lanes branch_if_no_active_lanes +2 (label 0 at #13) 12 12. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 13 13. label label 0x00000000 14 14. case_op if ($1 == 0x00000001) { LoopMask = true; $2 = false; } 15 15. branch_if_no_active_lanes branch_if_no_active_lanes +4 (label 1 at #19) 16 16. copy_4_constants $3..6 = colorGreen 17 17. copy_4_slots_masked color = Mask($3..6) 18 18. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 19 19. label label 0x00000001 20 20. case_op if ($1 == 0x00000002) { LoopMask = true; $2 = false; } 21 21. branch_if_no_active_lanes branch_if_no_active_lanes +2 (label 2 at #23) 22 22. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 23 23. label label 0x00000002 24 24. case_op if ($1 == 0x00000003) { LoopMask = true; $2 = false; } 25 25. branch_if_no_active_lanes branch_if_no_active_lanes +2 (label 3 at #27) 26 26. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 27 27. label label 0x00000003 28 28. case_op if ($1 == 0x00000004) { LoopMask = true; $2 = false; } 29 29. branch_if_no_active_lanes branch_if_no_active_lanes +2 (label 4 at #31) 30 30. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 31 31. label label 0x00000004 32 32. case_op if ($1 == 0x00000005) { LoopMask = true; $2 = false; } 33 33. branch_if_no_active_lanes branch_if_no_active_lanes +2 (label 5 at #35) 34 34. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 35 35. label label 0x00000005 36 36. reenable_loop_mask LoopMask |= $2 37 37. branch_if_no_active_lanes branch_if_no_active_lanes +2 (label 6 at #39) 38 38. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) 39 39. label label 0x00000006 40 40. load_loop_mask LoopMask = $0 41 41. copy_4_slots_unmasked [main].result = color 42 42. load_src src.rgba = [main].result 43