1 1. store_src_rg coords = src.rg 2 2. init_lane_masks CondMask = LoopMask = RetMask = true 3 3. copy_constant $0 = unknownInput 4 4. copy_slot_unmasked _0_unknown = $0 5 5. copy_constant _1_ok = 0xFFFFFFFF 6 6. copy_slot_unmasked $0 = _1_ok 7 7. zero_4_slots_unmasked $1..4 = 0 8 8. copy_slot_unmasked $5 = _0_unknown 9 9. swizzle_4 $5..8 = ($5..8).xxxx 10 10. div_4_floats $1..4 /= $5..8 11 11. zero_4_slots_unmasked $5..8 = 0 12 12. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 13 13. bitwise_and_2_ints $1..2 &= $3..4 14 14. bitwise_and_int $1 &= $2 15 15. bitwise_and_int $0 &= $1 16 16. copy_slot_unmasked _1_ok = $0 17 17. copy_slot_unmasked $0 = _0_unknown 18 18. swizzle_4 $0..3 = ($0..3).xxxx 19 19. copy_4_slots_unmasked _2_val = $0..3 20 20. copy_constant $4 = 0x3F800000 (1.0) 21 21. swizzle_4 $4..7 = ($4..7).xxxx 22 22. add_4_floats $0..3 += $4..7 23 23. copy_4_slots_unmasked _2_val = $0..3 24 24. copy_constant $4 = 0x3F800000 (1.0) 25 25. swizzle_4 $4..7 = ($4..7).xxxx 26 26. sub_4_floats $0..3 -= $4..7 27 27. copy_4_slots_unmasked _2_val = $0..3 28 28. copy_constant $4 = 0x3F800000 (1.0) 29 29. swizzle_4 $4..7 = ($4..7).xxxx 30 30. add_4_floats $0..3 += $4..7 31 31. copy_4_slots_unmasked _2_val = $0..3 32 32. copy_constant $4 = 0x3F800000 (1.0) 33 33. swizzle_4 $4..7 = ($4..7).xxxx 34 34. sub_4_floats $0..3 -= $4..7 35 35. copy_4_slots_unmasked _2_val = $0..3 36 36. copy_4_slots_unmasked $0..3 = _1_ok, _2_val(0..2) 37 37. copy_slot_unmasked $4 = _2_val(3) 38 38. copy_slot_unmasked $5 = _0_unknown 39 39. swizzle_4 $5..8 = ($5..8).xxxx 40 40. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 41 41. bitwise_and_2_ints $1..2 &= $3..4 42 42. bitwise_and_int $1 &= $2 43 43. bitwise_and_int $0 &= $1 44 44. copy_slot_unmasked _1_ok = $0 45 45. copy_4_slots_unmasked $0..3 = _2_val 46 46. copy_constant $4 = 0x40000000 (2.0) 47 47. swizzle_4 $4..7 = ($4..7).xxxx 48 48. mul_4_floats $0..3 *= $4..7 49 49. copy_4_slots_unmasked _2_val = $0..3 50 50. copy_constant $4 = 0x3F000000 (0.5) 51 51. swizzle_4 $4..7 = ($4..7).xxxx 52 52. mul_4_floats $0..3 *= $4..7 53 53. copy_4_slots_unmasked _2_val = $0..3 54 54. copy_constant $4 = 0x40000000 (2.0) 55 55. swizzle_4 $4..7 = ($4..7).xxxx 56 56. mul_4_floats $0..3 *= $4..7 57 57. copy_4_slots_unmasked _2_val = $0..3 58 58. copy_constant $4 = 0x3F000000 (0.5) 59 59. swizzle_4 $4..7 = ($4..7).xxxx 60 60. mul_4_floats $0..3 *= $4..7 61 61. copy_4_slots_unmasked _2_val = $0..3 62 62. copy_4_slots_unmasked $0..3 = _1_ok, _2_val(0..2) 63 63. copy_slot_unmasked $4 = _2_val(3) 64 64. copy_slot_unmasked $5 = _0_unknown 65 65. swizzle_4 $5..8 = ($5..8).xxxx 66 66. cmpeq_4_floats $1..4 = equal($1..4, $5..8) 67 67. bitwise_and_2_ints $1..2 &= $3..4 68 68. bitwise_and_int $1 &= $2 69 69. bitwise_and_int $0 &= $1 70 70. copy_slot_unmasked _1_ok = $0 71 71. store_condition_mask $12 = CondMask 72 72. copy_slot_unmasked $13 = _1_ok 73 73. zero_slot_unmasked $0 = 0 74 74. merge_condition_mask CondMask = $12 & $13 75 75. branch_if_no_active_lanes branch_if_no_active_lanes +73 (label 1 at #148) 76 76. copy_constant $1 = unknownInput 77 77. cast_to_int_from_float $1 = FloatToInt($1) 78 78. copy_slot_unmasked unknown = $1 79 79. copy_constant ok = 0xFFFFFFFF 80 80. copy_slot_unmasked $1 = ok 81 81. zero_4_slots_unmasked $2..5 = 0 82 82. copy_slot_unmasked $6 = unknown 83 83. swizzle_4 $6..9 = ($6..9).xxxx 84 84. div_4_ints $2..5 /= $6..9 85 85. zero_4_slots_unmasked $6..9 = 0 86 86. cmpeq_4_ints $2..5 = equal($2..5, $6..9) 87 87. bitwise_and_2_ints $2..3 &= $4..5 88 88. bitwise_and_int $2 &= $3 89 89. bitwise_and_int $1 &= $2 90 90. copy_slot_masked ok = Mask($1) 91 91. copy_slot_unmasked $1 = unknown 92 92. swizzle_4 $1..4 = ($1..4).xxxx 93 93. copy_4_slots_unmasked val = $1..4 94 94. copy_constant $5 = 0x00000001 (1.401298e-45) 95 95. swizzle_4 $5..8 = ($5..8).xxxx 96 96. add_4_ints $1..4 += $5..8 97 97. copy_4_slots_masked val = Mask($1..4) 98 98. copy_constant $5 = 0x00000001 (1.401298e-45) 99 99. swizzle_4 $5..8 = ($5..8).xxxx 100 100. sub_4_ints $1..4 -= $5..8 101 101. copy_4_slots_masked val = Mask($1..4) 102 102. copy_constant $5 = 0x00000001 (1.401298e-45) 103 103. swizzle_4 $5..8 = ($5..8).xxxx 104 104. add_4_ints $1..4 += $5..8 105 105. copy_4_slots_masked val = Mask($1..4) 106 106. copy_constant $5 = 0x00000001 (1.401298e-45) 107 107. swizzle_4 $5..8 = ($5..8).xxxx 108 108. sub_4_ints $1..4 -= $5..8 109 109. copy_4_slots_masked val = Mask($1..4) 110 110. copy_4_slots_unmasked $1..4 = ok, val(0..2) 111 111. copy_slot_unmasked $5 = val(3) 112 112. copy_slot_unmasked $6 = unknown 113 113. swizzle_4 $6..9 = ($6..9).xxxx 114 114. cmpeq_4_ints $2..5 = equal($2..5, $6..9) 115 115. bitwise_and_2_ints $2..3 &= $4..5 116 116. bitwise_and_int $2 &= $3 117 117. bitwise_and_int $1 &= $2 118 118. copy_slot_masked ok = Mask($1) 119 119. copy_4_slots_unmasked $1..4 = val 120 120. copy_constant $5 = 0x00000002 (2.802597e-45) 121 121. swizzle_4 $5..8 = ($5..8).xxxx 122 122. mul_4_ints $1..4 *= $5..8 123 123. copy_4_slots_masked val = Mask($1..4) 124 124. copy_constant $5 = 0x00000002 (2.802597e-45) 125 125. swizzle_4 $5..8 = ($5..8).xxxx 126 126. div_4_ints $1..4 /= $5..8 127 127. copy_4_slots_masked val = Mask($1..4) 128 128. copy_constant $5 = 0x00000002 (2.802597e-45) 129 129. swizzle_4 $5..8 = ($5..8).xxxx 130 130. mul_4_ints $1..4 *= $5..8 131 131. copy_4_slots_masked val = Mask($1..4) 132 132. copy_constant $5 = 0x00000002 (2.802597e-45) 133 133. swizzle_4 $5..8 = ($5..8).xxxx 134 134. div_4_ints $1..4 /= $5..8 135 135. copy_4_slots_masked val = Mask($1..4) 136 136. copy_4_slots_unmasked $1..4 = ok, val(0..2) 137 137. copy_slot_unmasked $5 = val(3) 138 138. copy_slot_unmasked $6 = unknown 139 139. swizzle_4 $6..9 = ($6..9).xxxx 140 140. cmpeq_4_ints $2..5 = equal($2..5, $6..9) 141 141. bitwise_and_2_ints $2..3 &= $4..5 142 142. bitwise_and_int $2 &= $3 143 143. bitwise_and_int $1 &= $2 144 144. copy_slot_masked ok = Mask($1) 145 145. copy_slot_masked [test_int].result = Mask($1) 146 146. label label 0x00000002 147 147. copy_slot_masked $0 = Mask($1) 148 148. label label 0x00000001 149 149. load_condition_mask CondMask = $12 150 150. swizzle_4 $0..3 = ($0..3).xxxx 151 151. copy_4_constants $4..7 = colorRed 152 152. copy_4_constants $8..11 = colorGreen 153 153. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) 154 154. copy_4_slots_unmasked [main].result = $0..3 155 155. load_src src.rgba = [main].result 156