1. store_src_rg xy = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. copy_constant ok = 0xFFFFFFFF | |
4. copy_constant $0 = testMatrix2x2(0) | |
5. cast_to_int_from_float $0 = FloatToInt($0) | |
6. copy_slot_unmasked a = $0 | |
7. copy_2_constants $0..1 = testMatrix2x2(0..1) | |
8. swizzle_1 $0 = ($0..1).y | |
9. cast_to_int_from_float $0 = FloatToInt($0) | |
10. copy_slot_unmasked b = $0 | |
11. copy_constant $0 = testMatrix2x2(2) | |
12. copy_slot_unmasked c = $0 | |
13. copy_2_constants $0..1 = testMatrix2x2(2..3) | |
14. swizzle_1 $0 = ($0..1).y | |
15. copy_slot_unmasked d = $0 | |
16. copy_2_slots_unmasked $0..1 = a(0..1) | |
17. bitwise_and_int $0 &= $1 | |
18. copy_slot_unmasked a_and_b = $0 | |
19. copy_slot_unmasked $0 = b | |
20. copy_slot_unmasked $1 = a | |
21. bitwise_and_int $0 &= $1 | |
22. copy_slot_unmasked b_and_a = $0 | |
23. copy_slot_unmasked $0 = ok | |
24. copy_2_slots_unmasked $1..2 = a_and_b(0..1) | |
25. cmpeq_int $1 = equal($1, $2) | |
26. bitwise_and_int $0 &= $1 | |
27. copy_slot_unmasked ok = $0 | |
28. copy_2_slots_unmasked $0..1 = a(0..1) | |
29. bitwise_and_int $0 &= $1 | |
30. copy_slot_unmasked a_or_b = $0 | |
31. copy_slot_unmasked $0 = b | |
32. copy_slot_unmasked $1 = a | |
33. bitwise_and_int $0 &= $1 | |
34. copy_slot_unmasked b_or_a = $0 | |
35. copy_slot_unmasked $0 = ok | |
36. copy_2_slots_unmasked $1..2 = a_or_b(0..1) | |
37. cmpeq_int $1 = equal($1, $2) | |
38. bitwise_and_int $0 &= $1 | |
39. copy_slot_unmasked ok = $0 | |
40. copy_2_slots_unmasked $0..1 = a(0..1) | |
41. bitwise_xor_int $0 ^= $1 | |
42. copy_slot_unmasked a_xor_b = $0 | |
43. copy_slot_unmasked $0 = b | |
44. copy_slot_unmasked $1 = a | |
45. bitwise_xor_int $0 ^= $1 | |
46. copy_slot_unmasked b_xor_a = $0 | |
47. copy_slot_unmasked $0 = ok | |
48. copy_2_slots_unmasked $1..2 = a_xor_b(0..1) | |
49. cmpeq_int $1 = equal($1, $2) | |
50. bitwise_and_int $0 &= $1 | |
51. copy_slot_unmasked ok = $0 | |
52. copy_2_slots_unmasked $0..1 = a(0..1) | |
53. cmpeq_int $0 = equal($0, $1) | |
54. copy_slot_unmasked a_eq_b = $0 | |
55. copy_slot_unmasked $0 = b | |
56. copy_slot_unmasked $1 = a | |
57. cmpeq_int $0 = equal($0, $1) | |
58. copy_slot_unmasked b_eq_a = $0 | |
59. copy_slot_unmasked $0 = ok | |
60. copy_2_slots_unmasked $1..2 = a_eq_b(0..1) | |
61. cmpeq_int $1 = equal($1, $2) | |
62. bitwise_and_int $0 &= $1 | |
63. copy_slot_unmasked ok = $0 | |
64. copy_2_slots_unmasked $0..1 = a(0..1) | |
65. cmpne_int $0 = notEqual($0, $1) | |
66. copy_slot_unmasked a_neq_b = $0 | |
67. copy_slot_unmasked $0 = b | |
68. copy_slot_unmasked $1 = a | |
69. cmpne_int $0 = notEqual($0, $1) | |
70. copy_slot_unmasked b_neq_a = $0 | |
71. copy_slot_unmasked $0 = ok | |
72. copy_2_slots_unmasked $1..2 = a_neq_b(0..1) | |
73. cmpeq_int $1 = equal($1, $2) | |
74. bitwise_and_int $0 &= $1 | |
75. copy_slot_unmasked ok = $0 | |
76. copy_2_slots_unmasked $0..1 = a(0..1) | |
77. add_int $0 += $1 | |
78. copy_slot_unmasked a_add_b = $0 | |
79. copy_slot_unmasked $0 = b | |
80. copy_slot_unmasked $1 = a | |
81. add_int $0 += $1 | |
82. copy_slot_unmasked b_add_a = $0 | |
83. copy_slot_unmasked $0 = ok | |
84. copy_2_slots_unmasked $1..2 = a_add_b(0..1) | |
85. cmpeq_int $1 = equal($1, $2) | |
86. bitwise_and_int $0 &= $1 | |
87. copy_slot_unmasked ok = $0 | |
88. copy_2_slots_unmasked $0..1 = c(0..1) | |
89. add_float $0 += $1 | |
90. copy_slot_unmasked c_add_d = $0 | |
91. copy_slot_unmasked $0 = d | |
92. copy_slot_unmasked $1 = c | |
93. add_float $0 += $1 | |
94. copy_slot_unmasked d_add_c = $0 | |
95. copy_slot_unmasked $0 = ok | |
96. copy_2_slots_unmasked $1..2 = c_add_d(0..1) | |
97. cmpeq_float $1 = equal($1, $2) | |
98. bitwise_and_int $0 &= $1 | |
99. copy_slot_unmasked ok = $0 | |
100. copy_2_slots_unmasked $0..1 = a(0..1) | |
101. mul_int $0 *= $1 | |
102. copy_slot_unmasked a_mul_b = $0 | |
103. copy_slot_unmasked $0 = b | |
104. copy_slot_unmasked $1 = a | |
105. mul_int $0 *= $1 | |
106. copy_slot_unmasked b_mul_a = $0 | |
107. copy_slot_unmasked $0 = ok | |
108. copy_2_slots_unmasked $1..2 = a_mul_b(0..1) | |
109. cmpeq_int $1 = equal($1, $2) | |
110. bitwise_and_int $0 &= $1 | |
111. copy_slot_unmasked ok = $0 | |
112. copy_2_slots_unmasked $0..1 = c(0..1) | |
113. mul_float $0 *= $1 | |
114. copy_slot_unmasked c_mul_d = $0 | |
115. copy_slot_unmasked $0 = d | |
116. copy_slot_unmasked $1 = c | |
117. mul_float $0 *= $1 | |
118. copy_slot_unmasked d_mul_c = $0 | |
119. copy_slot_unmasked $0 = ok | |
120. copy_2_slots_unmasked $1..2 = c_mul_d(0..1) | |
121. cmpeq_float $1 = equal($1, $2) | |
122. bitwise_and_int $0 &= $1 | |
123. copy_slot_unmasked ok = $0 | |
124. store_condition_mask $8 = CondMask | |
125. copy_slot_unmasked $9 = ok | |
126. copy_4_constants $0..3 = colorRed | |
127. merge_condition_mask CondMask = $8 & $9 | |
128. copy_4_constants $4..7 = colorGreen | |
129. copy_4_slots_masked $0..3 = Mask($4..7) | |
130. load_condition_mask CondMask = $8 | |
131. copy_4_slots_unmasked [main].result = $0..3 | |
132. load_src src.rgba = [main].result |