1 1. store_src_rg coords = src.rg 2 2. init_lane_masks CondMask = LoopMask = RetMask = true 3 3. copy_constant expectedBW(0) = 0x3F000000 (0.5) 4 4. copy_constant expectedBW(1) = 0x3F000000 (0.5) 5 5. copy_constant expectedBW(2) = 0x3F000000 (0.5) 6 6. copy_constant expectedBW(3) = 0x3F800000 (1.0) 7 7. copy_constant expectedWT(0) = 0x3F800000 (1.0) 8 8. copy_constant expectedWT(1) = 0x3F000000 (0.5) 9 9. copy_constant expectedWT(2) = 0x3F800000 (1.0) 10 10. copy_constant expectedWT(3) = 0x40100000 (2.25) 11 11. zero_4_slots_unmasked $0..3 = 0 12 12. copy_4_constants $4..7 = colorGreen 13 13. copy_4_constants $8..11 = colorRed 14 14. mix_4_floats $0..3 = mix($4..7, $8..11, $0..3) 15 15. zero_slot_unmasked $4 = 0 16 16. copy_constant $5 = 0x3F800000 (1.0) 17 17. zero_slot_unmasked $6 = 0 18 18. copy_constant $7 = 0x3F800000 (1.0) 19 19. cmpeq_4_floats $0..3 = equal($0..3, $4..7) 20 20. bitwise_and_2_ints $0..1 &= $2..3 21 21. bitwise_and_int $0 &= $1 22 22. copy_constant $1 = 0x3E800000 (0.25) 23 23. swizzle_4 $1..4 = ($1..4).xxxx 24 24. copy_4_constants $5..8 = colorGreen 25 25. copy_4_constants $9..12 = colorRed 26 26. mix_4_floats $1..4 = mix($5..8, $9..12, $1..4) 27 27. copy_constant $5 = 0x3E800000 (0.25) 28 28. copy_constant $6 = 0x3F400000 (0.75) 29 29. zero_slot_unmasked $7 = 0 30 30. copy_constant $8 = 0x3F800000 (1.0) 31 31. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 32 32. bitwise_and_2_ints $1..2 &= $3..4 33 33. bitwise_and_int $1 &= $2 34 34. bitwise_and_int $0 &= $1 35 35. copy_constant $1 = 0x3F400000 (0.75) 36 36. swizzle_4 $1..4 = ($1..4).xxxx 37 37. copy_4_constants $5..8 = colorGreen 38 38. copy_4_constants $9..12 = colorRed 39 39. mix_4_floats $1..4 = mix($5..8, $9..12, $1..4) 40 40. copy_constant $5 = 0x3F400000 (0.75) 41 41. copy_constant $6 = 0x3E800000 (0.25) 42 42. zero_slot_unmasked $7 = 0 43 43. copy_constant $8 = 0x3F800000 (1.0) 44 44. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 45 45. bitwise_and_2_ints $1..2 &= $3..4 46 46. bitwise_and_int $1 &= $2 47 47. bitwise_and_int $0 &= $1 48 48. copy_constant $1 = 0x3F800000 (1.0) 49 49. swizzle_4 $1..4 = ($1..4).xxxx 50 50. copy_4_constants $5..8 = colorGreen 51 51. copy_4_constants $9..12 = colorRed 52 52. mix_4_floats $1..4 = mix($5..8, $9..12, $1..4) 53 53. copy_constant $5 = 0x3F800000 (1.0) 54 54. zero_2_slots_unmasked $6..7 = 0 55 55. copy_constant $8 = 0x3F800000 (1.0) 56 56. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 57 57. bitwise_and_2_ints $1..2 &= $3..4 58 58. bitwise_and_int $1 &= $2 59 59. bitwise_and_int $0 &= $1 60 60. copy_constant $1 = 0x3F000000 (0.5) 61 61. copy_constant $2 = colorBlack(0) 62 62. copy_constant $3 = colorWhite(0) 63 63. mix_float $1 = mix($2, $3, $1) 64 64. copy_slot_unmasked $2 = expectedBW(0) 65 65. cmpeq_float $1 = equal($1, $2) 66 66. bitwise_and_int $0 &= $1 67 67. copy_constant $1 = 0x3F000000 (0.5) 68 68. copy_slot_unmasked $2 = $1 69 69. copy_2_constants $3..4 = colorBlack(0..1) 70 70. copy_2_constants $5..6 = colorWhite(0..1) 71 71. mix_2_floats $1..2 = mix($3..4, $5..6, $1..2) 72 72. copy_2_slots_unmasked $3..4 = expectedBW(0..1) 73 73. cmpeq_2_floats $1..2 = equal($1..2, $3..4) 74 74. bitwise_and_int $1 &= $2 75 75. bitwise_and_int $0 &= $1 76 76. copy_constant $1 = 0x3F000000 (0.5) 77 77. swizzle_3 $1..3 = ($1..3).xxx 78 78. copy_3_constants $4..6 = colorBlack(0..2) 79 79. copy_3_constants $7..9 = colorWhite(0..2) 80 80. mix_3_floats $1..3 = mix($4..6, $7..9, $1..3) 81 81. copy_3_slots_unmasked $4..6 = expectedBW(0..2) 82 82. cmpeq_3_floats $1..3 = equal($1..3, $4..6) 83 83. bitwise_and_int $2 &= $3 84 84. bitwise_and_int $1 &= $2 85 85. bitwise_and_int $0 &= $1 86 86. copy_constant $1 = 0x3F000000 (0.5) 87 87. swizzle_4 $1..4 = ($1..4).xxxx 88 88. copy_4_constants $5..8 = colorBlack 89 89. copy_4_constants $9..12 = colorWhite 90 90. mix_4_floats $1..4 = mix($5..8, $9..12, $1..4) 91 91. copy_4_slots_unmasked $5..8 = expectedBW 92 92. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 93 93. bitwise_and_2_ints $1..2 &= $3..4 94 94. bitwise_and_int $1 &= $2 95 95. bitwise_and_int $0 &= $1 96 96. copy_constant $1 = 0x3F000000 (0.5) 97 97. copy_slot_unmasked $2 = expectedBW(0) 98 98. cmpeq_float $1 = equal($1, $2) 99 99. bitwise_and_int $0 &= $1 100 100. copy_constant $1 = 0x3F000000 (0.5) 101 101. copy_slot_unmasked $2 = $1 102 102. copy_2_slots_unmasked $3..4 = expectedBW(0..1) 103 103. cmpeq_2_floats $1..2 = equal($1..2, $3..4) 104 104. bitwise_and_int $1 &= $2 105 105. bitwise_and_int $0 &= $1 106 106. copy_constant $1 = 0x3F000000 (0.5) 107 107. swizzle_3 $1..3 = ($1..3).xxx 108 108. copy_3_slots_unmasked $4..6 = expectedBW(0..2) 109 109. cmpeq_3_floats $1..3 = equal($1..3, $4..6) 110 110. bitwise_and_int $2 &= $3 111 111. bitwise_and_int $1 &= $2 112 112. bitwise_and_int $0 &= $1 113 113. copy_constant $1 = 0x3F000000 (0.5) 114 114. copy_constant $2 = 0x3F000000 (0.5) 115 115. copy_constant $3 = 0x3F000000 (0.5) 116 116. copy_constant $4 = 0x3F800000 (1.0) 117 117. copy_4_slots_unmasked $5..8 = expectedBW 118 118. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 119 119. bitwise_and_2_ints $1..2 &= $3..4 120 120. bitwise_and_int $1 &= $2 121 121. bitwise_and_int $0 &= $1 122 122. zero_slot_unmasked $1 = 0 123 123. copy_constant $2 = colorWhite(0) 124 124. copy_constant $3 = testInputs(0) 125 125. mix_float $1 = mix($2, $3, $1) 126 126. copy_slot_unmasked $2 = expectedWT(0) 127 127. cmpeq_float $1 = equal($1, $2) 128 128. bitwise_and_int $0 &= $1 129 129. zero_slot_unmasked $1 = 0 130 130. copy_constant $2 = 0x3F000000 (0.5) 131 131. copy_2_constants $3..4 = colorWhite(0..1) 132 132. copy_2_constants $5..6 = testInputs(0..1) 133 133. mix_2_floats $1..2 = mix($3..4, $5..6, $1..2) 134 134. copy_2_slots_unmasked $3..4 = expectedWT(0..1) 135 135. cmpeq_2_floats $1..2 = equal($1..2, $3..4) 136 136. bitwise_and_int $1 &= $2 137 137. bitwise_and_int $0 &= $1 138 138. zero_slot_unmasked $1 = 0 139 139. copy_constant $2 = 0x3F000000 (0.5) 140 140. zero_slot_unmasked $3 = 0 141 141. copy_3_constants $4..6 = colorWhite(0..2) 142 142. copy_3_constants $7..9 = testInputs(0..2) 143 143. mix_3_floats $1..3 = mix($4..6, $7..9, $1..3) 144 144. copy_3_slots_unmasked $4..6 = expectedWT(0..2) 145 145. cmpeq_3_floats $1..3 = equal($1..3, $4..6) 146 146. bitwise_and_int $2 &= $3 147 147. bitwise_and_int $1 &= $2 148 148. bitwise_and_int $0 &= $1 149 149. zero_slot_unmasked $1 = 0 150 150. copy_constant $2 = 0x3F000000 (0.5) 151 151. zero_slot_unmasked $3 = 0 152 152. copy_constant $4 = 0x3F800000 (1.0) 153 153. copy_4_constants $5..8 = colorWhite 154 154. copy_4_constants $9..12 = testInputs 155 155. mix_4_floats $1..4 = mix($5..8, $9..12, $1..4) 156 156. copy_4_slots_unmasked $5..8 = expectedWT 157 157. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 158 158. bitwise_and_2_ints $1..2 &= $3..4 159 159. bitwise_and_int $1 &= $2 160 160. bitwise_and_int $0 &= $1 161 161. copy_constant $1 = 0x3F800000 (1.0) 162 162. copy_slot_unmasked $2 = expectedWT(0) 163 163. cmpeq_float $1 = equal($1, $2) 164 164. bitwise_and_int $0 &= $1 165 165. copy_constant $1 = 0x3F800000 (1.0) 166 166. copy_constant $2 = 0x3F000000 (0.5) 167 167. copy_2_slots_unmasked $3..4 = expectedWT(0..1) 168 168. cmpeq_2_floats $1..2 = equal($1..2, $3..4) 169 169. bitwise_and_int $1 &= $2 170 170. bitwise_and_int $0 &= $1 171 171. copy_constant $1 = 0x3F800000 (1.0) 172 172. copy_constant $2 = 0x3F000000 (0.5) 173 173. copy_constant $3 = 0x3F800000 (1.0) 174 174. copy_3_slots_unmasked $4..6 = expectedWT(0..2) 175 175. cmpeq_3_floats $1..3 = equal($1..3, $4..6) 176 176. bitwise_and_int $2 &= $3 177 177. bitwise_and_int $1 &= $2 178 178. bitwise_and_int $0 &= $1 179 179. copy_constant $1 = 0x3F800000 (1.0) 180 180. copy_constant $2 = 0x3F000000 (0.5) 181 181. copy_constant $3 = 0x3F800000 (1.0) 182 182. copy_constant $4 = 0x40100000 (2.25) 183 183. copy_4_slots_unmasked $5..8 = expectedWT 184 184. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 185 185. bitwise_and_2_ints $1..2 &= $3..4 186 186. bitwise_and_int $1 &= $2 187 187. bitwise_and_int $0 &= $1 188 188. swizzle_4 $0..3 = ($0..3).xxxx 189 189. copy_4_constants $4..7 = colorRed 190 190. copy_4_constants $8..11 = colorGreen 191 191. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 192 192. copy_4_slots_unmasked [main].result = $0..3 193 193. load_src src.rgba = [main].result 194