Guest User

The Witcher 3 - Light shafts - radial blur shader (assembly)

a guest
Jan 25th, 2020
184
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.75 KB | None | 0 0
  1. ps_5_0
  2. dcl_globalFlags refactoringAllowed
  3. dcl_constantbuffer cb3[8], immediateIndexed
  4. dcl_sampler s0, mode_default
  5. dcl_resource_texture2d (float,float,float,float) t0
  6. dcl_input_ps_siv v0.xy, position
  7. dcl_output o0.xyzw
  8. dcl_temps 7
  9. 0: round_z r0.xyzw, cb3[3].zwxy
  10. 1: add r0.xy, -r0.xyxx, v0.xyxx
  11. 2: add r1.xy, r0.zwzz, l(0.500000, 0.500000, 0.000000, 0.000000)
  12. 3: add r1.zw, r0.zzzw, cb3[2].xxxy
  13. 4: add r1.zw, r1.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
  14. 5: div r1.xyzw, r1.xyzw, cb3[0].xyxy
  15. 6: round_z r0.xy, r0.xyxx
  16. 7: add r0.xy, r0.zwzz, r0.xyxx
  17. 8: add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  18. 9: div r0.xy, r0.xyxx, cb3[0].xyxx
  19. 10: add r0.zw, -r1.xxxy, r1.zzzw
  20. 11: mad r2.xy, cb3[4].xyxx, r0.zwzz, r1.xyxx
  21. 12: div r3.x, cb3[0].x, cb3[0].y
  22. 13: add r2.zw, r0.xxxy, -r2.xxxy
  23. 14: mov r3.y, l(1.000000)
  24. 15: mul r2.zw, r2.zzzw, r3.xxxy
  25. 16: dp2 r0.z, r2.zwzz, r2.zwzz
  26. 17: sqrt r0.z, r0.z
  27. 18: div r0.z, r0.z, r0.w
  28. 19: div_sat r0.z, r0.z, cb3[5].x
  29. 20: lt r2.z, r0.z, l(1.000000)
  30. 21: if_nz r2.z
  31. 22: add r2.xy, -r0.xyxx, r2.xyxx
  32. 23: dp2 r2.z, r2.xyxx, r2.xyxx
  33. 24: sqrt r2.w, r2.z
  34. 25: rsq r2.z, r2.z
  35. 26: mul r2.xy, r2.zzzz, r2.xyxx
  36. 27: mul r4.xyzw, r2.xyxy, cb3[5].xxxx
  37. 28: mul r4.xyzw, r0.wwww, r4.xyzw
  38. 29: mul r2.xy, r3.xyxx, r2.xyxx
  39. 30: dp2 r0.w, r2.xyxx, r2.xyxx
  40. 31: sqrt r0.w, r0.w
  41. 32: div r3.xyzw, r4.xyzw, r0.wwww
  42. 33: mul r3.xyzw, r3.xyzw, l(0.062500, 0.062500, 0.003906, 0.003906)
  43. 34: dp2 r0.w, r3.xyxx, r3.xyxx
  44. 35: sqrt r0.w, r0.w
  45. 36: div r0.w, r2.w, r0.w
  46. 37: add r0.w, r0.w, l(1.000000)
  47. 38: ftoi r2.z, r0.w
  48. 39: ftoi r0.w, cb3[4].z
  49. 40: dp2 r4.x, r3.zwzz, r3.zwzz
  50. 41: sqrt r4.x, r4.x
  51. 42: div r2.w, r2.w, r4.x
  52. 43: add r2.w, r2.w, l(1.000000)
  53. 44: ftoi r4.z, r2.w
  54. 45: mov r4.xy, r3.zwzz
  55. 46: mov r2.xy, r3.xyxx
  56. 47: movc r2.xyz, r0.wwww, r4.xyzx, r2.xyzx
  57. 48: lt r3.xy, l(0, 0, 0, 0), r2.xyxx
  58. 49: add r1.zw, -r0.xxxy, r1.zzzw
  59. 50: add r1.xy, -r1.xyxx, r0.xyxx
  60. 51: movc r1.xy, r3.xyxx, r1.zwzz, r1.xyxx
  61. 52: div r1.xy, r1.xyxx, abs(r2.xyxx)
  62. 53: add r1.xy, r1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
  63. 54: ftoi r1.xy, r1.xyxx
  64. 55: imin r1.x, r1.x, r2.z
  65. 56: imin r1.x, r1.y, r1.x
  66. 57: if_nz r0.w
  67. 58: ilt r3.xyzw, l(0, 1, 2, 3), r1.xxxx
  68. 59: and r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  69. 60: sample_l(texture2d)(float,float,float,float) r1.yzw, r0.xyxx, t0.wxyz, s0, l(0)
  70. 61: add r2.zw, r0.xxxy, r2.xxxy
  71. 62: sample_l(texture2d)(float,float,float,float) r4.xyz, r2.zwzz, t0.xyzw, s0, l(0)
  72. 63: mul r4.xyz, r3.yyyy, r4.xyzx
  73. 64: mad r1.yzw, r3.xxxx, r1.yyzw, r4.xxyz
  74. 65: mad r2.zw, r2.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), r0.xxxy
  75. 66: sample_l(texture2d)(float,float,float,float) r4.xyz, r2.zwzz, t0.xyzw, s0, l(0)
  76. 67: mad r1.yzw, r3.zzzz, r4.xxyz, r1.yyzw
  77. 68: mad r4.xyzw, r2.xyxy, l(3.000000, 3.000000, 4.000000, 4.000000), r0.xyxy
  78. 69: sample_l(texture2d)(float,float,float,float) r3.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  79. 70: mad r1.yzw, r3.wwww, r3.xxyz, r1.yyzw
  80. 71: ilt r3.xyzw, l(4, 5, 6, 7), r1.xxxx
  81. 72: and r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  82. 73: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  83. 74: mad r1.yzw, r3.xxxx, r4.xxyz, r1.yyzw
  84. 75: mad r4.xyzw, r2.xyxy, l(5.000000, 5.000000, 6.000000, 6.000000), r0.xyxy
  85. 76: sample_l(texture2d)(float,float,float,float) r5.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  86. 77: mad r1.yzw, r3.yyyy, r5.xxyz, r1.yyzw
  87. 78: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  88. 79: mad r1.yzw, r3.zzzz, r4.xxyz, r1.yyzw
  89. 80: mad r4.xyzw, r2.xyxy, l(7.000000, 7.000000, 8.000000, 8.000000), r0.xyxy
  90. 81: sample_l(texture2d)(float,float,float,float) r3.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  91. 82: mad r1.yzw, r3.wwww, r3.xxyz, r1.yyzw
  92. 83: ilt r3.xyzw, l(8, 9, 10, 11), r1.xxxx
  93. 84: and r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  94. 85: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  95. 86: mad r1.yzw, r3.xxxx, r4.xxyz, r1.yyzw
  96. 87: mad r4.xyzw, r2.xyxy, l(9.000000, 9.000000, 10.000000, 10.000000), r0.xyxy
  97. 88: sample_l(texture2d)(float,float,float,float) r5.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  98. 89: mad r1.yzw, r3.yyyy, r5.xxyz, r1.yyzw
  99. 90: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  100. 91: mad r1.yzw, r3.zzzz, r4.xxyz, r1.yyzw
  101. 92: mad r4.xyzw, r2.xyxy, l(11.000000, 11.000000, 12.000000, 12.000000), r0.xyxy
  102. 93: sample_l(texture2d)(float,float,float,float) r3.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  103. 94: mad r1.yzw, r3.wwww, r3.xxyz, r1.yyzw
  104. 95: ilt r3.xyzw, l(12, 13, 14, 15), r1.xxxx
  105. 96: and r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  106. 97: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  107. 98: mad r1.yzw, r3.xxxx, r4.xxyz, r1.yyzw
  108. 99: mad r4.xyzw, r2.xyxy, l(13.000000, 13.000000, 14.000000, 14.000000), r0.xyxy
  109. 100: sample_l(texture2d)(float,float,float,float) r5.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  110. 101: mad r1.yzw, r3.yyyy, r5.xxyz, r1.yyzw
  111. 102: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  112. 103: mad r1.yzw, r3.zzzz, r4.xxyz, r1.yyzw
  113. 104: mad r2.zw, r2.xxxy, l(0.000000, 0.000000, 15.000000, 15.000000), r0.xxxy
  114. 105: sample_l(texture2d)(float,float,float,float) r3.xyz, r2.zwzz, t0.xyzw, s0, l(0)
  115. 106: mad r1.yzw, r3.wwww, r3.xxyz, r1.yyzw
  116. 107: mul r1.yzw, r1.yyzw, cb3[6].xxyz
  117. 108: else
  118. 109: ilt r3.xyzw, l(0, 1, 2, 3), r1.xxxx
  119. 110: and r3.xyzw, r3.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  120. 111: sample_l(texture2d)(float,float,float,float) r4.xyz, r0.xyxx, t0.xyzw, s0, l(0)
  121. 112: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  122. 113: add r2.w, r2.z, -cb3[7].x
  123. 114: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  124. 115: mul_sat r4.w, r2.w, cb3[7].y
  125. 116: mul r2.w, r2.w, r4.w
  126. 117: div r2.z, r2.w, r2.z
  127. 118: mul r4.xyz, r2.zzzz, r4.xyzx
  128. 119: add r2.zw, r0.xxxy, r2.xxxy
  129. 120: sample_l(texture2d)(float,float,float,float) r5.xyz, r2.zwzz, t0.xyzw, s0, l(0)
  130. 121: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r5.xyzx
  131. 122: add r2.w, r2.z, -cb3[7].x
  132. 123: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  133. 124: mul_sat r4.w, r2.w, cb3[7].y
  134. 125: mul r2.w, r2.w, r4.w
  135. 126: div r2.z, r2.w, r2.z
  136. 127: mul r5.xyz, r2.zzzz, r5.xyzx
  137. 128: mul r5.xyz, r3.yyyy, r5.xyzx
  138. 129: mad r4.xyz, r3.xxxx, r4.xyzx, r5.xyzx
  139. 130: mad r2.zw, r2.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), r0.xxxy
  140. 131: sample_l(texture2d)(float,float,float,float) r5.xyz, r2.zwzz, t0.xyzw, s0, l(0)
  141. 132: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r5.xyzx
  142. 133: add r2.w, r2.z, -cb3[7].x
  143. 134: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  144. 135: mul_sat r3.x, r2.w, cb3[7].y
  145. 136: mul r2.w, r2.w, r3.x
  146. 137: div r2.z, r2.w, r2.z
  147. 138: mul r5.xyz, r2.zzzz, r5.xyzx
  148. 139: mad r3.xyz, r3.zzzz, r5.xyzx, r4.xyzx
  149. 140: mad r4.xyzw, r2.xyxy, l(3.000000, 3.000000, 4.000000, 4.000000), r0.xyxy
  150. 141: sample_l(texture2d)(float,float,float,float) r5.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  151. 142: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r5.xyzx
  152. 143: add r2.w, r2.z, -cb3[7].x
  153. 144: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  154. 145: mul_sat r4.x, r2.w, cb3[7].y
  155. 146: mul r2.w, r2.w, r4.x
  156. 147: div r2.z, r2.w, r2.z
  157. 148: mul r5.xyz, r2.zzzz, r5.xyzx
  158. 149: mad r3.xyz, r3.wwww, r5.xyzx, r3.xyzx
  159. 150: ilt r5.xyzw, l(4, 5, 6, 7), r1.xxxx
  160. 151: and r5.xyzw, r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  161. 152: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  162. 153: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  163. 154: add r2.w, r2.z, -cb3[7].x
  164. 155: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  165. 156: mul_sat r3.w, r2.w, cb3[7].y
  166. 157: mul r2.w, r2.w, r3.w
  167. 158: div r2.z, r2.w, r2.z
  168. 159: mul r4.xyz, r2.zzzz, r4.xyzx
  169. 160: mad r3.xyz, r5.xxxx, r4.xyzx, r3.xyzx
  170. 161: mad r4.xyzw, r2.xyxy, l(5.000000, 5.000000, 6.000000, 6.000000), r0.xyxy
  171. 162: sample_l(texture2d)(float,float,float,float) r6.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  172. 163: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r6.xyzx
  173. 164: add r2.w, r2.z, -cb3[7].x
  174. 165: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  175. 166: mul_sat r3.w, r2.w, cb3[7].y
  176. 167: mul r2.w, r2.w, r3.w
  177. 168: div r2.z, r2.w, r2.z
  178. 169: mul r6.xyz, r2.zzzz, r6.xyzx
  179. 170: mad r3.xyz, r5.yyyy, r6.xyzx, r3.xyzx
  180. 171: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  181. 172: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  182. 173: add r2.w, r2.z, -cb3[7].x
  183. 174: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  184. 175: mul_sat r3.w, r2.w, cb3[7].y
  185. 176: mul r2.w, r2.w, r3.w
  186. 177: div r2.z, r2.w, r2.z
  187. 178: mul r4.xyz, r2.zzzz, r4.xyzx
  188. 179: mad r3.xyz, r5.zzzz, r4.xyzx, r3.xyzx
  189. 180: mad r4.xyzw, r2.xyxy, l(7.000000, 7.000000, 8.000000, 8.000000), r0.xyxy
  190. 181: sample_l(texture2d)(float,float,float,float) r5.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  191. 182: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r5.xyzx
  192. 183: add r2.w, r2.z, -cb3[7].x
  193. 184: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  194. 185: mul_sat r3.w, r2.w, cb3[7].y
  195. 186: mul r2.w, r2.w, r3.w
  196. 187: div r2.z, r2.w, r2.z
  197. 188: mul r5.xyz, r2.zzzz, r5.xyzx
  198. 189: mad r3.xyz, r5.wwww, r5.xyzx, r3.xyzx
  199. 190: ilt r5.xyzw, l(8, 9, 10, 11), r1.xxxx
  200. 191: and r5.xyzw, r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  201. 192: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  202. 193: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  203. 194: add r2.w, r2.z, -cb3[7].x
  204. 195: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  205. 196: mul_sat r3.w, r2.w, cb3[7].y
  206. 197: mul r2.w, r2.w, r3.w
  207. 198: div r2.z, r2.w, r2.z
  208. 199: mul r4.xyz, r2.zzzz, r4.xyzx
  209. 200: mad r3.xyz, r5.xxxx, r4.xyzx, r3.xyzx
  210. 201: mad r4.xyzw, r2.xyxy, l(9.000000, 9.000000, 10.000000, 10.000000), r0.xyxy
  211. 202: sample_l(texture2d)(float,float,float,float) r6.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  212. 203: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r6.xyzx
  213. 204: add r2.w, r2.z, -cb3[7].x
  214. 205: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  215. 206: mul_sat r3.w, r2.w, cb3[7].y
  216. 207: mul r2.w, r2.w, r3.w
  217. 208: div r2.z, r2.w, r2.z
  218. 209: mul r6.xyz, r2.zzzz, r6.xyzx
  219. 210: mad r3.xyz, r5.yyyy, r6.xyzx, r3.xyzx
  220. 211: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  221. 212: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  222. 213: add r2.w, r2.z, -cb3[7].x
  223. 214: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  224. 215: mul_sat r3.w, r2.w, cb3[7].y
  225. 216: mul r2.w, r2.w, r3.w
  226. 217: div r2.z, r2.w, r2.z
  227. 218: mul r4.xyz, r2.zzzz, r4.xyzx
  228. 219: mad r3.xyz, r5.zzzz, r4.xyzx, r3.xyzx
  229. 220: mad r4.xyzw, r2.xyxy, l(11.000000, 11.000000, 12.000000, 12.000000), r0.xyxy
  230. 221: sample_l(texture2d)(float,float,float,float) r5.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  231. 222: dp3 r2.z, l(0.212600, 0.715200, 0.072200, 0.000000), r5.xyzx
  232. 223: add r2.w, r2.z, -cb3[7].x
  233. 224: max r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.000100, 0.000000)
  234. 225: mul_sat r3.w, r2.w, cb3[7].y
  235. 226: mul r2.w, r2.w, r3.w
  236. 227: div r2.z, r2.w, r2.z
  237. 228: mul r5.xyz, r2.zzzz, r5.xyzx
  238. 229: mad r3.xyz, r5.wwww, r5.xyzx, r3.xyzx
  239. 230: ilt r5.xyzw, l(12, 13, 14, 15), r1.xxxx
  240. 231: and r5.xyzw, r5.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  241. 232: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  242. 233: dp3 r1.x, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  243. 234: add r2.z, r1.x, -cb3[7].x
  244. 235: max r2.z, r2.z, l(0)
  245. 236: mul_sat r2.w, r2.z, cb3[7].y
  246. 237: mul r2.z, r2.w, r2.z
  247. 238: max r1.x, r1.x, l(0.000100)
  248. 239: div r1.x, r2.z, r1.x
  249. 240: mul r4.xyz, r1.xxxx, r4.xyzx
  250. 241: mad r3.xyz, r5.xxxx, r4.xyzx, r3.xyzx
  251. 242: mad r4.xyzw, r2.xyxy, l(13.000000, 13.000000, 14.000000, 14.000000), r0.xyxy
  252. 243: sample_l(texture2d)(float,float,float,float) r6.xyz, r4.xyxx, t0.xyzw, s0, l(0)
  253. 244: dp3 r1.x, l(0.212600, 0.715200, 0.072200, 0.000000), r6.xyzx
  254. 245: add r2.z, r1.x, -cb3[7].x
  255. 246: max r2.z, r2.z, l(0)
  256. 247: mul_sat r2.w, r2.z, cb3[7].y
  257. 248: mul r2.z, r2.w, r2.z
  258. 249: max r1.x, r1.x, l(0.000100)
  259. 250: div r1.x, r2.z, r1.x
  260. 251: mul r6.xyz, r1.xxxx, r6.xyzx
  261. 252: mad r3.xyz, r5.yyyy, r6.xyzx, r3.xyzx
  262. 253: sample_l(texture2d)(float,float,float,float) r4.xyz, r4.zwzz, t0.xyzw, s0, l(0)
  263. 254: dp3 r1.x, l(0.212600, 0.715200, 0.072200, 0.000000), r4.xyzx
  264. 255: add r2.z, r1.x, -cb3[7].x
  265. 256: max r2.z, r2.z, l(0)
  266. 257: mul_sat r2.w, r2.z, cb3[7].y
  267. 258: mul r2.z, r2.w, r2.z
  268. 259: max r1.x, r1.x, l(0.000100)
  269. 260: div r1.x, r2.z, r1.x
  270. 261: mul r4.xyz, r1.xxxx, r4.xyzx
  271. 262: mad r3.xyz, r5.zzzz, r4.xyzx, r3.xyzx
  272. 263: mad r0.xy, r2.xyxx, l(15.000000, 15.000000, 0.000000, 0.000000), r0.xyxx
  273. 264: sample_l(texture2d)(float,float,float,float) r2.xyz, r0.xyxx, t0.xyzw, s0, l(0)
  274. 265: dp3 r0.x, l(0.212600, 0.715200, 0.072200, 0.000000), r2.xyzx
  275. 266: add r0.y, r0.x, -cb3[7].x
  276. 267: max r0.xy, r0.xyxx, l(0.000100, 0.000000, 0.000000, 0.000000)
  277. 268: mul_sat r1.x, r0.y, cb3[7].y
  278. 269: mul r0.y, r0.y, r1.x
  279. 270: div r0.x, r0.y, r0.x
  280. 271: mul r2.xyz, r0.xxxx, r2.xyzx
  281. 272: mad r1.yzw, r5.wwww, r2.xxyz, r3.xxyz
  282. 273: endif
  283. 274: mul r1.xyz, r1.yzwy, l(0.062500, 0.062500, 0.062500, 0.000000)
  284. 275: add r0.x, -r0.z, l(1.000000)
  285. 276: log r0.x, r0.x
  286. 277: mul r0.x, r0.x, cb3[5].y
  287. 278: exp r0.x, r0.x
  288. 279: mul r0.y, r0.z, r0.z
  289. 280: mad r0.y, r0.y, cb3[5].z, l(1.000000)
  290. 281: div r0.x, r0.x, r0.y
  291. 282: mul r0.xyz, r0.xxxx, r1.xyzx
  292. 283: movc r0.xyz, r0.wwww, r0.xyzx, r1.xyzx
  293. 284: else
  294. 285: mov r0.xyz, l(0, 0, 0, 0)
  295. 286: endif
  296. 287: mov o0.xyz, r0.xyzx
  297. 288: mov o0.w, l(1.000000)
  298. 289: ret
Add Comment
Please, Sign In to add comment