1 1. store_src_rg coords = src.rg 2 2. init_lane_masks CondMask = LoopMask = RetMask = true 3 3. zero_slot_unmasked $0 = 0 4 4. copy_constant $1 = unknownInput 5 5. cmplt_float $0 = lessThan($0, $1) 6 6. copy_slot_unmasked _0_expr = $0 7 7. zero_2_slots_unmasked _1_ok, _2_bad = 0 8 8. store_condition_mask $0 = CondMask 9 9. copy_slot_unmasked $1 = _0_expr 10 10. merge_condition_mask CondMask = $0 & $1 11 11. copy_slot_unmasked $2 = _1_ok 12 12. copy_constant $3 = 0x00000001 (1.401298e-45) 13 13. add_int $2 += $3 14 14. copy_slot_masked _1_ok = Mask($2) 15 15. bitwise_not_int $1 = ~$1 16 16. merge_condition_mask CondMask = $0 & $1 17 17. copy_slot_unmasked $2 = _2_bad 18 18. copy_constant $3 = 0x00000001 (1.401298e-45) 19 19. add_int $2 += $3 20 20. copy_slot_masked _2_bad = Mask($2) 21 21. load_condition_mask CondMask = $0 22 22. copy_slot_unmasked $0 = _1_ok 23 23. copy_constant $1 = 0x00000001 (1.401298e-45) 24 24. add_int $0 += $1 25 25. copy_slot_unmasked _1_ok = $0 26 26. store_condition_mask $0 = CondMask 27 27. copy_constant $1 = 0xFFFFFFFF 28 28. copy_slot_unmasked $2 = _0_expr 29 29. bitwise_xor_int $1 ^= $2 30 30. merge_condition_mask CondMask = $0 & $1 31 31. copy_slot_unmasked $2 = _2_bad 32 32. copy_constant $3 = 0x00000001 (1.401298e-45) 33 33. add_int $2 += $3 34 34. copy_slot_masked _2_bad = Mask($2) 35 35. bitwise_not_int $1 = ~$1 36 36. merge_condition_mask CondMask = $0 & $1 37 37. copy_slot_unmasked $2 = _1_ok 38 38. copy_constant $3 = 0x00000001 (1.401298e-45) 39 39. add_int $2 += $3 40 40. copy_slot_masked _1_ok = Mask($2) 41 41. load_condition_mask CondMask = $0 42 42. store_condition_mask $0 = CondMask 43 43. copy_slot_unmasked $1 = _0_expr 44 44. merge_condition_mask CondMask = $0 & $1 45 45. copy_slot_unmasked $2 = _1_ok 46 46. copy_constant $3 = 0x00000001 (1.401298e-45) 47 47. add_int $2 += $3 48 48. copy_slot_masked _1_ok = Mask($2) 49 49. bitwise_not_int $1 = ~$1 50 50. merge_condition_mask CondMask = $0 & $1 51 51. copy_slot_unmasked $2 = _2_bad 52 52. copy_constant $3 = 0x00000001 (1.401298e-45) 53 53. add_int $2 += $3 54 54. copy_slot_masked _2_bad = Mask($2) 55 55. load_condition_mask CondMask = $0 56 56. copy_slot_unmasked $0 = _1_ok 57 57. copy_constant $1 = 0x00000001 (1.401298e-45) 58 58. add_int $0 += $1 59 59. copy_slot_unmasked _1_ok = $0 60 60. store_condition_mask $0 = CondMask 61 61. copy_slot_unmasked $1 = _0_expr 62 62. merge_condition_mask CondMask = $0 & $1 63 63. copy_slot_unmasked $2 = _1_ok 64 64. copy_constant $3 = 0x00000001 (1.401298e-45) 65 65. add_int $2 += $3 66 66. copy_slot_masked _1_ok = Mask($2) 67 67. bitwise_not_int $1 = ~$1 68 68. merge_condition_mask CondMask = $0 & $1 69 69. copy_slot_unmasked $2 = _2_bad 70 70. copy_constant $3 = 0x00000001 (1.401298e-45) 71 71. add_int $2 += $3 72 72. copy_slot_masked _2_bad = Mask($2) 73 73. load_condition_mask CondMask = $0 74 74. store_condition_mask $0 = CondMask 75 75. copy_slot_unmasked $1 = _0_expr 76 76. merge_condition_mask CondMask = $0 & $1 77 77. copy_slot_unmasked $2 = _1_ok 78 78. copy_constant $3 = 0x00000001 (1.401298e-45) 79 79. add_int $2 += $3 80 80. copy_slot_masked _1_ok = Mask($2) 81 81. bitwise_not_int $1 = ~$1 82 82. merge_condition_mask CondMask = $0 & $1 83 83. copy_slot_unmasked $2 = _2_bad 84 84. copy_constant $3 = 0x00000001 (1.401298e-45) 85 85. add_int $2 += $3 86 86. copy_slot_masked _2_bad = Mask($2) 87 87. load_condition_mask CondMask = $0 88 88. store_condition_mask $0 = CondMask 89 89. zero_slot_unmasked $1 = 0 90 90. copy_slot_unmasked $2 = _0_expr 91 91. cmpeq_int $1 = equal($1, $2) 92 92. merge_condition_mask CondMask = $0 & $1 93 93. copy_slot_unmasked $2 = _2_bad 94 94. copy_constant $3 = 0x00000001 (1.401298e-45) 95 95. add_int $2 += $3 96 96. copy_slot_masked _2_bad = Mask($2) 97 97. bitwise_not_int $1 = ~$1 98 98. merge_condition_mask CondMask = $0 & $1 99 99. copy_slot_unmasked $2 = _1_ok 100 100. copy_constant $3 = 0x00000001 (1.401298e-45) 101 101. add_int $2 += $3 102 102. copy_slot_masked _1_ok = Mask($2) 103 103. load_condition_mask CondMask = $0 104 104. store_condition_mask $0 = CondMask 105 105. copy_constant $1 = 0xFFFFFFFF 106 106. copy_slot_unmasked $2 = _0_expr 107 107. cmpne_int $1 = notEqual($1, $2) 108 108. merge_condition_mask CondMask = $0 & $1 109 109. copy_slot_unmasked $2 = _2_bad 110 110. copy_constant $3 = 0x00000001 (1.401298e-45) 111 111. add_int $2 += $3 112 112. copy_slot_masked _2_bad = Mask($2) 113 113. bitwise_not_int $1 = ~$1 114 114. merge_condition_mask CondMask = $0 & $1 115 115. copy_slot_unmasked $2 = _1_ok 116 116. copy_constant $3 = 0x00000001 (1.401298e-45) 117 117. add_int $2 += $3 118 118. copy_slot_masked _1_ok = Mask($2) 119 119. load_condition_mask CondMask = $0 120 120. store_condition_mask $0 = CondMask 121 121. copy_slot_unmasked $1 = _0_expr 122 122. merge_condition_mask CondMask = $0 & $1 123 123. copy_slot_unmasked $2 = _1_ok 124 124. copy_constant $3 = 0x00000001 (1.401298e-45) 125 125. add_int $2 += $3 126 126. copy_slot_masked _1_ok = Mask($2) 127 127. bitwise_not_int $1 = ~$1 128 128. merge_condition_mask CondMask = $0 & $1 129 129. copy_slot_unmasked $2 = _2_bad 130 130. copy_constant $3 = 0x00000001 (1.401298e-45) 131 131. add_int $2 += $3 132 132. copy_slot_masked _2_bad = Mask($2) 133 133. load_condition_mask CondMask = $0 134 134. store_condition_mask $0 = CondMask 135 135. copy_slot_unmasked $1 = _0_expr 136 136. merge_condition_mask CondMask = $0 & $1 137 137. copy_slot_unmasked $2 = _1_ok 138 138. copy_constant $3 = 0x00000001 (1.401298e-45) 139 139. add_int $2 += $3 140 140. copy_slot_masked _1_ok = Mask($2) 141 141. bitwise_not_int $1 = ~$1 142 142. merge_condition_mask CondMask = $0 & $1 143 143. copy_slot_unmasked $2 = _2_bad 144 144. copy_constant $3 = 0x00000001 (1.401298e-45) 145 145. add_int $2 += $3 146 146. copy_slot_masked _2_bad = Mask($2) 147 147. load_condition_mask CondMask = $0 148 148. copy_slot_unmasked $0 = _1_ok 149 149. copy_constant $1 = 0x00000001 (1.401298e-45) 150 150. add_int $0 += $1 151 151. copy_slot_unmasked _1_ok = $0 152 152. store_condition_mask $0 = CondMask 153 153. copy_slot_unmasked $1 = _0_expr 154 154. copy_constant $2 = 0xFFFFFFFF 155 155. bitwise_xor_int $1 ^= $2 156 156. merge_condition_mask CondMask = $0 & $1 157 157. copy_slot_unmasked $2 = _2_bad 158 158. copy_constant $3 = 0x00000001 (1.401298e-45) 159 159. add_int $2 += $3 160 160. copy_slot_masked _2_bad = Mask($2) 161 161. bitwise_not_int $1 = ~$1 162 162. merge_condition_mask CondMask = $0 & $1 163 163. copy_slot_unmasked $2 = _1_ok 164 164. copy_constant $3 = 0x00000001 (1.401298e-45) 165 165. add_int $2 += $3 166 166. copy_slot_masked _1_ok = Mask($2) 167 167. load_condition_mask CondMask = $0 168 168. store_condition_mask $0 = CondMask 169 169. copy_slot_unmasked $1 = _0_expr 170 170. merge_condition_mask CondMask = $0 & $1 171 171. copy_slot_unmasked $2 = _1_ok 172 172. copy_constant $3 = 0x00000001 (1.401298e-45) 173 173. add_int $2 += $3 174 174. copy_slot_masked _1_ok = Mask($2) 175 175. bitwise_not_int $1 = ~$1 176 176. merge_condition_mask CondMask = $0 & $1 177 177. copy_slot_unmasked $2 = _2_bad 178 178. copy_constant $3 = 0x00000001 (1.401298e-45) 179 179. add_int $2 += $3 180 180. copy_slot_masked _2_bad = Mask($2) 181 181. load_condition_mask CondMask = $0 182 182. copy_slot_unmasked $0 = _1_ok 183 183. copy_constant $1 = 0x00000001 (1.401298e-45) 184 184. add_int $0 += $1 185 185. copy_slot_unmasked _1_ok = $0 186 186. store_condition_mask $0 = CondMask 187 187. copy_slot_unmasked $1 = _0_expr 188 188. merge_condition_mask CondMask = $0 & $1 189 189. copy_slot_unmasked $2 = _1_ok 190 190. copy_constant $3 = 0x00000001 (1.401298e-45) 191 191. add_int $2 += $3 192 192. copy_slot_masked _1_ok = Mask($2) 193 193. bitwise_not_int $1 = ~$1 194 194. merge_condition_mask CondMask = $0 & $1 195 195. copy_slot_unmasked $2 = _2_bad 196 196. copy_constant $3 = 0x00000001 (1.401298e-45) 197 197. add_int $2 += $3 198 198. copy_slot_masked _2_bad = Mask($2) 199 199. load_condition_mask CondMask = $0 200 200. store_condition_mask $0 = CondMask 201 201. copy_slot_unmasked $1 = _0_expr 202 202. merge_condition_mask CondMask = $0 & $1 203 203. copy_slot_unmasked $2 = _1_ok 204 204. copy_constant $3 = 0x00000001 (1.401298e-45) 205 205. add_int $2 += $3 206 206. copy_slot_masked _1_ok = Mask($2) 207 207. bitwise_not_int $1 = ~$1 208 208. merge_condition_mask CondMask = $0 & $1 209 209. copy_slot_unmasked $2 = _2_bad 210 210. copy_constant $3 = 0x00000001 (1.401298e-45) 211 211. add_int $2 += $3 212 212. copy_slot_masked _2_bad = Mask($2) 213 213. load_condition_mask CondMask = $0 214 214. store_condition_mask $0 = CondMask 215 215. copy_slot_unmasked $1 = _0_expr 216 216. zero_slot_unmasked $2 = 0 217 217. cmpeq_int $1 = equal($1, $2) 218 218. merge_condition_mask CondMask = $0 & $1 219 219. copy_slot_unmasked $2 = _2_bad 220 220. copy_constant $3 = 0x00000001 (1.401298e-45) 221 221. add_int $2 += $3 222 222. copy_slot_masked _2_bad = Mask($2) 223 223. bitwise_not_int $1 = ~$1 224 224. merge_condition_mask CondMask = $0 & $1 225 225. copy_slot_unmasked $2 = _1_ok 226 226. copy_constant $3 = 0x00000001 (1.401298e-45) 227 227. add_int $2 += $3 228 228. copy_slot_masked _1_ok = Mask($2) 229 229. load_condition_mask CondMask = $0 230 230. store_condition_mask $0 = CondMask 231 231. copy_slot_unmasked $1 = _0_expr 232 232. copy_constant $2 = 0xFFFFFFFF 233 233. cmpne_int $1 = notEqual($1, $2) 234 234. merge_condition_mask CondMask = $0 & $1 235 235. copy_slot_unmasked $2 = _2_bad 236 236. copy_constant $3 = 0x00000001 (1.401298e-45) 237 237. add_int $2 += $3 238 238. copy_slot_masked _2_bad = Mask($2) 239 239. bitwise_not_int $1 = ~$1 240 240. merge_condition_mask CondMask = $0 & $1 241 241. copy_slot_unmasked $2 = _1_ok 242 242. copy_constant $3 = 0x00000001 (1.401298e-45) 243 243. add_int $2 += $3 244 244. copy_slot_masked _1_ok = Mask($2) 245 245. load_condition_mask CondMask = $0 246 246. store_condition_mask $0 = CondMask 247 247. copy_slot_unmasked $1 = _0_expr 248 248. merge_condition_mask CondMask = $0 & $1 249 249. copy_slot_unmasked $2 = _1_ok 250 250. copy_constant $3 = 0x00000001 (1.401298e-45) 251 251. add_int $2 += $3 252 252. copy_slot_masked _1_ok = Mask($2) 253 253. bitwise_not_int $1 = ~$1 254 254. merge_condition_mask CondMask = $0 & $1 255 255. copy_slot_unmasked $2 = _2_bad 256 256. copy_constant $3 = 0x00000001 (1.401298e-45) 257 257. add_int $2 += $3 258 258. copy_slot_masked _2_bad = Mask($2) 259 259. load_condition_mask CondMask = $0 260 260. copy_constant $0 = unknownInput 261 261. copy_constant $1 = 0x40000000 (2.0) 262 262. add_float $0 += $1 263 263. copy_slot_unmasked _3_a = $0 264 264. copy_constant $0 = unknownInput 265 265. copy_constant $1 = 0x40000000 (2.0) 266 266. mul_float $0 *= $1 267 267. copy_slot_unmasked _4_b = $0 268 268. store_condition_mask $0 = CondMask 269 269. copy_2_slots_unmasked $1..2 = _3_a, _4_b 270 270. cmpeq_float $1 = equal($1, $2) 271 271. merge_condition_mask CondMask = $0 & $1 272 272. copy_slot_unmasked $2 = _2_bad 273 273. copy_constant $3 = 0x00000001 (1.401298e-45) 274 274. add_int $2 += $3 275 275. copy_slot_masked _2_bad = Mask($2) 276 276. bitwise_not_int $1 = ~$1 277 277. merge_condition_mask CondMask = $0 & $1 278 278. copy_slot_unmasked $2 = _1_ok 279 279. copy_constant $3 = 0x00000001 (1.401298e-45) 280 280. add_int $2 += $3 281 281. copy_slot_masked _1_ok = Mask($2) 282 282. load_condition_mask CondMask = $0 283 283. copy_slot_unmasked $0 = _4_b 284 284. copy_slot_unmasked _3_a = $0 285 285. zero_slot_unmasked $1 = 0 286 286. cmpne_float $0 = notEqual($0, $1) 287 287. copy_constant $1 = 0xFFFFFFFF 288 288. bitwise_or_int $0 |= $1 289 289. store_condition_mask $0 = CondMask 290 290. copy_2_slots_unmasked $1..2 = _3_a, _4_b 291 291. cmpeq_float $1 = equal($1, $2) 292 292. merge_condition_mask CondMask = $0 & $1 293 293. copy_slot_unmasked $2 = _1_ok 294 294. copy_constant $3 = 0x00000001 (1.401298e-45) 295 295. add_int $2 += $3 296 296. copy_slot_masked _1_ok = Mask($2) 297 297. bitwise_not_int $1 = ~$1 298 298. merge_condition_mask CondMask = $0 & $1 299 299. copy_slot_unmasked $2 = _2_bad 300 300. copy_constant $3 = 0x00000001 (1.401298e-45) 301 301. add_int $2 += $3 302 302. copy_slot_masked _2_bad = Mask($2) 303 303. load_condition_mask CondMask = $0 304 304. copy_slot_unmasked $0 = _1_ok 305 305. copy_constant $1 = 0x00000016 (3.082857e-44) 306 306. cmpeq_int $0 = equal($0, $1) 307 307. copy_slot_unmasked $1 = _2_bad 308 308. zero_slot_unmasked $2 = 0 309 309. cmpeq_int $1 = equal($1, $2) 310 310. bitwise_and_int $0 &= $1 311 311. swizzle_4 $0..3 = ($0..3).xxxx 312 312. copy_4_constants $4..7 = colorRed 313 313. copy_4_constants $8..11 = colorGreen 314 314. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 315 315. copy_4_slots_unmasked [main].result = $0..3 316 316. load_src src.rgba = [main].result 317