1. store_src_rg xy = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. zero_slot_unmasked scratchVar = 0 | |
4. store_condition_mask $24 = CondMask | |
5. store_condition_mask $18 = CondMask | |
6. store_condition_mask $11 = CondMask | |
7. store_condition_mask $8 = CondMask | |
8. branch_if_no_active_lanes branch_if_no_active_lanes +6 (#14) | |
9. store_return_mask $9 = RetMask | |
10. copy_constant $10 = 0xFFFFFFFF | |
11. copy_slot_masked [test_flat].result = Mask($10) | |
12. load_return_mask RetMask = $9 | |
13. copy_slot_unmasked $9 = [test_flat].result | |
14. zero_slot_unmasked $12 = 0 | |
15. merge_condition_mask CondMask = $8 & $9 | |
16. branch_if_no_active_lanes branch_if_no_active_lanes +26 (#42) | |
17. store_return_mask $13 = RetMask | |
18. store_condition_mask $14 = CondMask | |
19. zero_slot_unmasked $15 = 0 | |
20. copy_constant $16 = colorGreen(1) | |
21. cmplt_float $15 = lessThan($15, $16) | |
22. merge_condition_mask CondMask = $14 & $15 | |
23. copy_constant $16 = 0xFFFFFFFF | |
24. copy_slot_masked [test_if].result = Mask($16) | |
25. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
26. bitwise_not_int $15 = ~$15 | |
27. merge_condition_mask CondMask = $14 & $15 | |
28. copy_slot_unmasked $16 = scratchVar | |
29. copy_constant $17 = 0x00000001 (1.401298e-45) | |
30. add_int $16 += $17 | |
31. copy_slot_masked scratchVar = Mask($16) | |
32. load_condition_mask CondMask = $14 | |
33. copy_slot_unmasked $14 = scratchVar | |
34. copy_constant $15 = 0x00000001 (1.401298e-45) | |
35. add_int $14 += $15 | |
36. copy_slot_masked scratchVar = Mask($14) | |
37. zero_slot_unmasked $14 = 0 | |
38. copy_slot_masked [test_if].result = Mask($14) | |
39. load_return_mask RetMask = $13 | |
40. copy_slot_unmasked $13 = [test_if].result | |
41. copy_slot_masked $12 = Mask($13) | |
42. load_condition_mask CondMask = $8 | |
43. zero_slot_unmasked $19 = 0 | |
44. merge_condition_mask CondMask = $11 & $12 | |
45. branch_if_no_active_lanes branch_if_no_active_lanes +19 (#64) | |
46. store_return_mask $20 = RetMask | |
47. store_condition_mask $21 = CondMask | |
48. copy_constant $22 = colorGreen(1) | |
49. zero_slot_unmasked $23 = 0 | |
50. cmpeq_float $22 = equal($22, $23) | |
51. merge_condition_mask CondMask = $21 & $22 | |
52. zero_slot_unmasked $23 = 0 | |
53. copy_slot_masked [test_else].result = Mask($23) | |
54. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
55. bitwise_not_int $22 = ~$22 | |
56. merge_condition_mask CondMask = $21 & $22 | |
57. copy_constant $23 = 0xFFFFFFFF | |
58. copy_slot_masked [test_else].result = Mask($23) | |
59. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
60. load_condition_mask CondMask = $21 | |
61. load_return_mask RetMask = $20 | |
62. copy_slot_unmasked $20 = [test_else].result | |
63. copy_slot_masked $19 = Mask($20) | |
64. load_condition_mask CondMask = $11 | |
65. zero_slot_unmasked $25 = 0 | |
66. merge_condition_mask CondMask = $18 & $19 | |
67. branch_if_no_active_lanes branch_if_no_active_lanes +41 (#108) | |
68. store_return_mask $26 = RetMask | |
69. zero_slot_unmasked x = 0 | |
70. store_loop_mask $27 = LoopMask | |
71. jump jump +21 (#92) | |
72. zero_slot_unmasked [for-loop continue mask 0] = 0 | |
73. store_condition_mask $28 = CondMask | |
74. copy_constant $29 = colorGreen(1) | |
75. zero_slot_unmasked $30 = 0 | |
76. cmpeq_float $29 = equal($29, $30) | |
77. merge_condition_mask CondMask = $28 & $29 | |
78. zero_slot_unmasked $30 = 0 | |
79. copy_slot_masked [test_loop_if].result = Mask($30) | |
80. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
81. bitwise_not_int $29 = ~$29 | |
82. merge_condition_mask CondMask = $28 & $29 | |
83. copy_constant $30 = 0xFFFFFFFF | |
84. copy_slot_masked [test_loop_if].result = Mask($30) | |
85. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
86. load_condition_mask CondMask = $28 | |
87. reenable_loop_mask LoopMask |= [for-loop continue mask 0] | |
88. copy_slot_unmasked $28 = x | |
89. copy_constant $29 = 0x00000001 (1.401298e-45) | |
90. add_int $28 += $29 | |
91. copy_slot_masked x = Mask($28) | |
92. copy_slot_unmasked $28 = x | |
93. copy_constant $29 = 0x00000001 (1.401298e-45) | |
94. cmple_int $28 = lessThanEqual($28, $29) | |
95. merge_loop_mask LoopMask &= $28 | |
96. stack_rewind | |
97. branch_if_any_active_lanes branch_if_any_active_lanes -25 (#72) | |
98. load_loop_mask LoopMask = $27 | |
99. copy_slot_unmasked $27 = scratchVar | |
100. copy_constant $28 = 0x00000001 (1.401298e-45) | |
101. add_int $27 += $28 | |
102. copy_slot_masked scratchVar = Mask($27) | |
103. copy_constant $27 = 0xFFFFFFFF | |
104. copy_slot_masked [test_loop_if].result = Mask($27) | |
105. load_return_mask RetMask = $26 | |
106. copy_slot_unmasked $26 = [test_loop_if].result | |
107. copy_slot_masked $25 = Mask($26) | |
108. load_condition_mask CondMask = $18 | |
109. copy_4_constants $0..3 = colorRed | |
110. merge_condition_mask CondMask = $24 & $25 | |
111. copy_4_constants $4..7 = colorGreen | |
112. copy_4_slots_masked $0..3 = Mask($4..7) | |
113. load_condition_mask CondMask = $24 | |
114. copy_4_slots_unmasked [main].result = $0..3 | |
115. load_src src.rgba = [main].result |