• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1    1. store_src_rg                   coords = src.rg
2    2. init_lane_masks                CondMask = LoopMask = RetMask = true
3    3. copy_constant                  $0 = colorGreen(1)
4    4. cast_to_int_from_float         $0 = FloatToInt($0)
5    5. copy_slot_unmasked             x = $0
6    6. zero_slot_unmasked             _0_ok = 0
7    7. store_loop_mask                $0 = LoopMask
8    8. copy_slot_unmasked             $1 = x
9    9. store_loop_mask                $2 = LoopMask
10   10. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
11   11. case_op                        if ($1 == 0x00000002) { LoopMask = true; $2 = false; }
12   12. branch_if_no_active_lanes      branch_if_no_active_lanes +2 (label 0 at #14)
13   13. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
14   14. label                          label 0x00000000
15   15. case_op                        if ($1 == 0x00000001) { LoopMask = true; $2 = false; }
16   16. label                          label 0x00000001
17   17. case_op                        if ($1 == 0x00000000) { LoopMask = true; $2 = false; }
18   18. branch_if_no_active_lanes      branch_if_no_active_lanes +4 (label 2 at #22)
19   19. copy_constant                  $3 = 0xFFFFFFFF
20   20. copy_slot_masked               _0_ok = Mask($3)
21   21. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
22   22. label                          label 0x00000002
23   23. reenable_loop_mask             LoopMask |= $2
24   24. branch_if_no_active_lanes      branch_if_no_active_lanes +2 (label 3 at #26)
25   25. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
26   26. label                          label 0x00000003
27   27. load_loop_mask                 LoopMask = $0
28   28. store_condition_mask           $12 = CondMask
29   29. copy_slot_unmasked             $13 = _0_ok
30   30. zero_slot_unmasked             $0 = 0
31   31. merge_condition_mask           CondMask = $12 & $13
32   32. branch_if_no_active_lanes      branch_if_no_active_lanes +30 (label 5 at #62)
33   33. copy_slot_unmasked             value = x
34   34. zero_slot_unmasked             ok = 0
35   35. store_loop_mask                $1 = LoopMask
36   36. copy_slot_unmasked             $2 = value
37   37. store_loop_mask                $3 = LoopMask
38   38. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
39   39. case_op                        if ($2 == 0x00000000) { LoopMask = true; $3 = false; }
40   40. branch_if_no_active_lanes      branch_if_no_active_lanes +2 (label 7 at #42)
41   41. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
42   42. label                          label 0x00000007
43   43. case_op                        if ($2 == 0x00000001) { LoopMask = true; $3 = false; }
44   44. label                          label 0x00000008
45   45. case_op                        if ($2 == 0x00000002) { LoopMask = true; $3 = false; }
46   46. label                          label 0x00000009
47   47. case_op                        if ($2 == 0x00000003) { LoopMask = true; $3 = false; }
48   48. branch_if_no_active_lanes      branch_if_no_active_lanes +4 (label 10 at #52)
49   49. copy_constant                  $4 = 0xFFFFFFFF
50   50. copy_slot_masked               ok = Mask($4)
51   51. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
52   52. label                          label 0x0000000A
53   53. reenable_loop_mask             LoopMask |= $3
54   54. branch_if_no_active_lanes      branch_if_no_active_lanes +2 (label 11 at #56)
55   55. mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
56   56. label                          label 0x0000000B
57   57. load_loop_mask                 LoopMask = $1
58   58. copy_slot_unmasked             $1 = ok
59   59. copy_slot_masked               [switch_fallthrough_twice].result = Mask($1)
60   60. label                          label 0x00000006
61   61. copy_slot_masked               $0 = Mask($1)
62   62. label                          label 0x00000005
63   63. load_condition_mask            CondMask = $12
64   64. swizzle_4                      $0..3 = ($0..3).xxxx
65   65. copy_4_constants               $4..7 = colorRed
66   66. copy_4_constants               $8..11 = colorGreen
67   67. mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
68   68. copy_4_slots_unmasked          [main].result = $0..3
69   69. load_src                       src.rgba = [main].result
70