Advertisement
Guest User

98ce6baef2510e20-ps - Clean

a guest
Dec 5th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.06 KB | None | 0 0
  1. //
  2. // Generated by Microsoft (R) D3D Shader Disassembler
  3. //
  4. // using 3Dmigoto v1.3.16 on Thu Dec 05 14:33:23 2019
  5. //
  6. //
  7. // Input signature:
  8. //
  9. // Name Index Mask Register SysValue Format Used
  10. // -------------------- ----- ------ -------- -------- ------- ------
  11. // TEXCOORD 10 xyzw 0 NONE float xyz
  12. // TEXCOORD 11 xyzw 1 NONE float xyzw
  13. // TEXCOORD 4 xyzw 2 NONE float xy
  14. // TEXCOORD 7 xyzw 3 NONE float xyzw
  15. // TEXCOORD 9 xyz 4 NONE float xy
  16. // SV_Position 0 xyzw 5 POS float xyzw
  17. // SV_IsFrontFace 0 x 6 FFACE uint
  18. //
  19. //
  20. // Output signature:
  21. //
  22. // Name Index Mask Register SysValue Format Used
  23. // -------------------- ----- ------ -------- -------- ------- ------
  24. // SV_Target 0 xyzw 0 TARGET float xyzw
  25. //
  26. ps_5_0
  27. dcl_globalFlags refactoringAllowed
  28. dcl_constantbuffer cb0[29], dynamicIndexed
  29. dcl_constantbuffer cb1[180], immediateIndexed
  30. dcl_constantbuffer cb2[20], immediateIndexed
  31. dcl_constantbuffer cb3[118], immediateIndexed
  32. dcl_constantbuffer cb4[22], immediateIndexed
  33. dcl_constantbuffer cb5[3069], dynamicIndexed
  34. dcl_constantbuffer cb6[13], immediateIndexed
  35. dcl_sampler s0, mode_default
  36. dcl_sampler s1, mode_default
  37. dcl_sampler s2, mode_default
  38. dcl_sampler s3, mode_default
  39. dcl_sampler s4, mode_default
  40. dcl_sampler s5, mode_default
  41. dcl_sampler s6, mode_default
  42. dcl_sampler s7, mode_default
  43. dcl_sampler s8, mode_default
  44. dcl_sampler s9, mode_default
  45. dcl_sampler s10, mode_default
  46. dcl_sampler s11, mode_default
  47. dcl_resource_buffer (uint,uint,uint,uint) t0
  48. dcl_resource_buffer (uint,uint,uint,uint) t1
  49. dcl_resource_texturecube (float,float,float,float) t2
  50. dcl_resource_texturecubearray (float,float,float,float) t3
  51. dcl_resource_texture3d (float,float,float,float) t4
  52. dcl_resource_texture2d (float,float,float,float) t5
  53. dcl_resource_texture2d (float,float,float,float) t6
  54. dcl_resource_texture2d (float,float,float,float) t7
  55. dcl_resource_texture3d (float,float,float,float) t8
  56. dcl_resource_texture3d (float,float,float,float) t9
  57. dcl_resource_texture3d (float,float,float,float) t10
  58. dcl_resource_texture3d (float,float,float,float) t11
  59. dcl_resource_texture2d (float,float,float,float) t12
  60. dcl_resource_texture2d (float,float,float,float) t13
  61. dcl_resource_texture2d (float,float,float,float) t14
  62. dcl_resource_texture2d (float,float,float,float) t15
  63. dcl_resource_texture2d (float,float,float,float) t16
  64. dcl_resource_texture2d (float,float,float,float) t17
  65. dcl_resource_texture2d (float,float,float,float) t18
  66. dcl_resource_texture2d (float,float,float,float) t19
  67. dcl_resource_texture2d (float,float,float,float) t20
  68. dcl_resource_texture2d (float,float,float,float) t21
  69. dcl_resource_texture2d (float,float,float,float) t22
  70. dcl_resource_texture2d (float,float,float,float) t23
  71. dcl_input_ps linear centroid v0.xyz
  72. dcl_input_ps linear centroid v1.xyzw
  73. dcl_input_ps linear v2.xy
  74. dcl_input_ps linear v3.xyzw
  75. dcl_input_ps linear v4.xy
  76. dcl_input_ps_siv linear noperspective v5.xyzw, position
  77. dcl_output o0.xyzw
  78. dcl_temps 25
  79. mul [precise(xyz)] r0.xyz, v0.xyzx, v1.zxyz
  80. mul [precise(xyz)] r1.xyz, v0.zxyz, v1.xyzx
  81. add [precise(xyz)] r0.xyz, r0.xyzx, -r1.xyzx
  82. mul [precise(xyz)] r0.xyz, r0.xyzx, v1.wwww
  83. add [precise(xy)] r1.xy, v5.xyxx, -cb1[121].xyxx
  84. mul [precise(zw)] r1.zw, r1.xxxy, cb1[122].zzzw
  85. add [precise(zw)] r1.zw, r1.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
  86. mul [precise(xy)] r2.xy, r1.zwzz, l(2.000000, -2.000000, 0.000000, 0.000000)
  87. mov [precise(z)] r2.z, l(1.000000)
  88. mul [precise(xyz)] r2.xyz, r2.xyzx, v5.wwww
  89. mul [precise] r3.xyzw, v5.xxxx, cb1[40].xyzw
  90. mul [precise] r4.xyzw, v5.yyyy, cb1[41].xyzw
  91. add [precise] r3.xyzw, r3.xyzw, r4.xyzw
  92. mul [precise] r4.xyzw, v5.zzzz, cb1[42].xyzw
  93. add [precise] r3.xyzw, r3.xyzw, r4.xyzw
  94. add [precise] r3.xyzw, r3.xyzw, cb1[43].xyzw
  95. div [precise(xyz)] r3.xyz, r3.xyzx, r3.wwww
  96. add [precise(xyz)] r4.xyz, r3.xyzx, -cb1[62].xyzx
  97. add [precise(zw)] r1.zw, v4.xxxy, -cb1[62].xxxy
  98. dp3 [precise(w)] r0.w, -r3.xyzx, -r3.xyzx
  99. rsq [precise(w)] r0.w, r0.w
  100. mul [precise(xyz)] r5.xyz, r0.wwww, -r3.xyzx
  101. div [precise(zw)] r1.zw, r1.zzzw, cb6[9].xxxx
  102. mul [precise(w)] r0.w, cb1[133].z, cb6[9].z
  103. div [precise(w)] r2.w, cb1[133].z, l(40.000000)
  104. mul [precise] r6.xyzw, r1.zwzw, cb6[9].yyww
  105. add [precise(zw)] r6.zw, r2.wwww, r6.zzzw
  106. sample_indexable [precise(w)](texture2d)(float,float,float,float) r2.w, r6.zwzz, t15.yzwx, s0
  107. div [precise(w)] r2.w, r2.w, l(2.000000)
  108. div [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, 16.000000, 16.000000)
  109. sample_indexable [precise(w)](texture2d)(float,float,float,float) r3.w, r6.zwzz, t15.yzwx, s0
  110. add [precise(w)] r2.w, r2.w, r3.w
  111. mul [precise(w)] r2.w, r2.w, cb6[10].x
  112. add [precise(w)] r0.w, r0.w, r2.w
  113. add [precise(w)] r2.w, r0.w, l(-0.500000)
  114. frc [precise(w)] r2.w, r2.w
  115. sample_indexable [precise(zw)](texture2d)(float,float,float,float) r6.zw, r1.zwzz, t16.zwxy, s0
  116. add [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
  117. mul [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
  118. mul [precise(zw)] r6.zw, r6.zzzw, cb6[10].yyyy
  119. mul [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, -1.000000, 1.000000)
  120. mul [precise(xy)] r7.xy, r2.wwww, r6.zwzz
  121. add [precise(xy)] r7.xy, r6.xyxx, r7.xyxx
  122. add [precise(xy)] r7.xy, r7.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  123. sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r7.zw, r7.xyxx, t17.zwxy, s9, cb1[134].x
  124. mul [precise(zw)] r7.zw, r7.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
  125. add [precise(xy)] r8.xy, r7.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
  126. dp2 [precise(w)] r2.w, r8.xyxx, r8.xyxx
  127. add [precise(w)] r2.w, -r2.w, l(1.000000)
  128. max [precise(w)] r2.w, r2.w, l(0.000000)
  129. sqrt [precise(z)] r8.z, r2.w
  130. frc [precise(w)] r0.w, r0.w
  131. mul [precise(zw)] r6.zw, r0.wwww, r6.zzzw
  132. add [precise(xy)] r6.xy, r6.xyxx, r6.zwzz
  133. sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r6.zw, r6.xyxx, t17.zwxy, s9, cb1[134].x
  134. mul [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
  135. add [precise(xy)] r9.xy, r6.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
  136. dp2 [precise(w)] r2.w, r9.xyxx, r9.xyxx
  137. add [precise(w)] r2.w, -r2.w, l(1.000000)
  138. max [precise(w)] r2.w, r2.w, l(0.000000)
  139. sqrt [precise(z)] r9.z, r2.w
  140. div [precise(w)] r0.w, r0.w, l(1.000000)
  141. frc [precise(w)] r0.w, r0.w
  142. mul [precise(w)] r2.w, r0.w, l(2.000000)
  143. add [precise(w)] r0.w, -r0.w, l(1.000000)
  144. mul [precise(w)] r0.w, r0.w, l(2.000000)
  145. round_ni [precise(w)] r3.w, r2.w
  146. add [precise(w)] r0.w, -r2.w, r0.w
  147. mul [precise(w)] r0.w, r0.w, r3.w
  148. add [precise(w)] r0.w, r0.w, r2.w
  149. add [precise(xyz)] r9.xyz, -r8.xyzx, r9.xyzx
  150. mul [precise(xyz)] r9.xyz, r0.wwww, r9.xyzx
  151. add [precise(xyz)] r8.xyz, r8.xyzx, r9.xyzx
  152. mul [precise(zw)] r6.zw, r1.zzzw, cb6[10].zzzz
  153. sample_indexable [precise(w)](texture2d)(float,float,float,float) r2.w, r6.zwzz, t18.xzwy, s0
  154. mul_sat [precise(w)] r3.w, r2.w, cb6[10].w
  155. add [precise(xyz)] r9.xyz, r4.xyzx, -cb1[59].xyzx
  156. dp3 [precise(w)] r5.w, r9.xyzx, r9.xyzx
  157. sqrt [precise(z)] r6.z, r5.w
  158. div_sat [precise(z)] r6.z, r6.z, cb6[11].x
  159. add [precise(w)] r6.w, -r6.z, l(1.000000)
  160. mul [precise(w)] r3.w, r3.w, r6.w
  161. add [precise(xyz)] r8.xyz, r8.xyzx, l(-0.000000, -0.000000, -1.000000, 0.000000)
  162. mul [precise(xyz)] r8.xyz, r3.wwww, r8.xyzx
  163. add [precise(xyz)] r8.xyz, r8.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
  164. add [precise(w)] r8.w, r8.z, l(1.000000)
  165. add [precise(zw)] r7.zw, r4.xxxy, -cb0[0].xxxy
  166. mul [precise(w)] r3.w, cb0[1].x, l(0.500000)
  167. add [precise(zw)] r7.zw, r3.wwww, r7.zzzw
  168. div [precise(zw)] r7.zw, r7.zzzw, cb0[1].xxxx
  169. sample_l_indexable [precise(xyz)](texture2d)(float,float,float,float) r10.xyz, r7.zwzz, t22.xyzw, s11, l(0.000000)
  170. add [precise(xy)] r11.xy, -r7.zwzz, l(1.000000, 1.000000, 0.000000, 0.000000)
  171. mul_sat [precise(xy)] r11.xy, r11.xyxx, cb0[1].yyyy
  172. mul_sat [precise(zw)] r11.zw, r7.zzzw, cb0[1].yyyy
  173. mul [precise(xy)] r11.xy, r11.zwzz, r11.xyxx
  174. mul [precise(w)] r3.w, r11.y, r11.x
  175. add [precise(xyz)] r10.xyz, r10.xyzx, l(-0.000000, -0.000000, -1.000000, 0.000000)
  176. mul [precise(xyz)] r10.xyz, r3.wwww, r10.xyzx
  177. add [precise(xyz)] r10.xyz, r10.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
  178. dp3 [precise(w)] r6.w, r10.xyzx, r10.xyzx
  179. sqrt [precise(w)] r6.w, r6.w
  180. div [precise(xyz)] r10.xyz, r10.xyzx, r6.wwww
  181. mul [precise(xy)] r10.xy, r10.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
  182. dp3 [precise(w)] r6.w, r8.xywx, r10.xyzx
  183. mul [precise(xyz)] r8.xyz, r6.wwww, r8.xywx
  184. mul [precise(xyz)] r10.xyz, r8.wwww, r10.xyzx
  185. add [precise(xyz)] r8.xyz, r8.xyzx, -r10.xyzx
  186. mul [precise(xyz)] r8.xyz, r8.xyzx, cb1[128].wwww
  187. add [precise(xyz)] r8.xyz, r8.xyzx, cb1[128].xyzx
  188. dp3 [precise(w)] r6.w, r8.xyzx, r8.xyzx
  189. rsq [precise(w)] r6.w, r6.w
  190. mul [precise(xyz)] r8.xyz, r6.wwww, r8.xyzx
  191. mul [precise(xyz)] r10.xyz, r8.xxxx, v0.yzxy
  192. mul [precise(xyz)] r0.xyz, r0.xyzx, r8.yyyy
  193. add [precise(xyz)] r0.xyz, r0.xyzx, r10.xyzx
  194. mul [precise(xyz)] r8.xyz, r8.zzzz, v1.yzxy
  195. add [precise(xyz)] r0.xyz, r0.xyzx, r8.xyzx
  196. dp3 [precise(w)] r6.w, r0.zxyz, r0.zxyz
  197. rsq [precise(w)] r6.w, r6.w
  198. mul [precise(xyz)] r8.xyz, r0.xyzx, r6.wwww
  199. dp3 r8.w, cb1[14].xyzx, v1.xyzx
  200. add r8.w, -|r8.w|, l(1.000000)
  201. max r8.w, r8.w, l(0.000000)
  202. mul r8.w, r8.w, r8.w
  203. dp3 [precise(w)] r9.w, r8.zxyz, r5.xyzx
  204. max r10.x, r9.w, l(0.000000)
  205. add r10.y, -r10.x, l(1.000000)
  206. log r10.y, |r10.y|
  207. mul r10.y, r10.y, cb6[11].y
  208. exp r10.y, r10.y
  209. add r10.y, -r10.y, l(1.000000)
  210. mul r8.w, r8.w, r10.y
  211. add r10.yzw, cb6[5].xxyz, -cb6[6].xxyz
  212. mad r10.yzw, r8.wwww, r10.yyzw, cb6[6].xxyz
  213. sample_b_indexable [precise(x)](texture2d)(float,float,float,float) r7.x, r7.xyxx, t19.xyzw, s10, cb1[134].x
  214. sample_b_indexable [precise(x)](texture2d)(float,float,float,float) r6.x, r6.xyxx, t19.xyzw, s10, cb1[134].x
  215. add [precise(x)] r6.x, -r7.x, r6.x
  216. mul [precise(w)] r0.w, r0.w, r6.x
  217. add [precise(w)] r0.w, r0.w, r7.x
  218. sample_indexable [precise(z)](texture2d)(float,float,float,float) r1.z, r1.zwzz, t20.yzxw, s0
  219. sample_l_indexable [precise(w)](texture2d)(float,float,float,float) r1.w, r7.zwzz, t21.xyzw, s11, l(0.000000)
  220. add [precise(w)] r1.w, -r1.w, l(1.000000)
  221. mul [precise(w)] r1.w, r3.w, r1.w
  222. max [precise(z)] r1.z, r1.w, r1.z
  223. mul [precise(w)] r0.w, r0.w, r1.z
  224. add r7.xyz, -r10.yzwy, cb6[8].xyzx
  225. mad_sat r7.xyz, r0.wwww, r7.xyzx, r10.yzwy
  226. add [precise(z)] r1.z, -r2.w, l(1.000000)
  227. max [precise(z)] r1.z, r1.z, l(0.000000)
  228. mul [precise(z)] r1.z, r1.z, r1.z
  229. add [precise(z)] r1.z, r1.z, l(1.000000)
  230. mul [precise(z)] r1.z, r1.z, l(0.500000)
  231. mul [precise(z)] r1.z, r1.z, r6.z
  232. mul [precise(z)] r1.z, r1.z, l(0.200000)
  233. add [precise(z)] r1.z, r1.z, l(0.050000)
  234. add [precise(w)] r1.w, -r1.z, cb6[11].w
  235. mul [precise(w)] r0.w, r0.w, r1.w
  236. add_sat [precise(w)] r0.w, r0.w, r1.z
  237. div [precise(zw)] r1.zw, r2.xxxy, r2.zzzz
  238. mul [precise(zw)] r1.zw, r1.zzzw, cb1[58].xxxy
  239. add [precise(zw)] r1.zw, r1.zzzw, cb1[58].wwwz
  240. sample_l_indexable [precise(z)](texture2d)(float,float,float,float) r1.z, r1.zwzz, t5.yzxw, s4, l(0.000000)
  241. mul [precise(zw)] r1.zw, r1.zzzz, cb1[57].xxxz
  242. add [precise(z)] r1.z, r1.z, cb1[57].y
  243. add [precise(w)] r1.w, r1.w, -cb1[57].w
  244. div [precise(w)] r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
  245. add [precise(z)] r1.z, r1.w, r1.z
  246. add [precise(z)] r1.z, -r2.z, r1.z
  247. div_sat [precise(z)] r1.z, r1.z, cb6[12].y
  248. mul [precise(z)] r1.z, r1.z, cb6[12].z
  249. add [precise(w)] r1.w, r2.z, l(-12.000000)
  250. mul_sat [precise(w)] r1.w, r1.w, l(0.250000)
  251. mul_sat [precise(w)] r11.w, r1.w, r1.z
  252. mov_sat r1.z, cb6[11].z
  253. mul [precise(w)] r0.w, r0.w, cb1[129].y
  254. add [precise(w)] r0.w, r0.w, cb1[129].x
  255. add r2.xyw, r7.xyxz, l(-0.0203999989, -0.0203999989, 0.000000, -0.0203999989)
  256. mad r2.xyw, r1.zzzz, r2.xyxw, l(0.0203999989, 0.0203999989, 0.000000, 0.0203999989)
  257. mad r6.xyz, -r7.xyzx, r1.zzzz, r7.xyzx
  258. mad r6.xyz, r6.xyzx, cb1[126].wwww, cb1[126].xyzx
  259. mad r2.xyw, r2.xyxw, cb1[127].wwww, cb1[127].xyxz
  260. mul r1.zw, v2.xxxy, l(0.000000, 0.000000, 1.000000, 0.500000)
  261. mad r10.yz, v2.xxyx, l(0.000000, 1.000000, 0.500000, 0.000000), l(0.000000, 0.000000, 0.500000, 0.000000)
  262. mul r12.xyz, r8.zxyz, cb2[11].yzxy
  263. mad r12.xyz, cb2[11].xyzx, r8.xyzx, -r12.xyzx
  264. mul r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  265. mad r13.xyz, cb2[11].wwww, r12.zxyz, r8.xyzx
  266. mul r14.xyz, r12.xyzx, cb2[11].xyzx
  267. mad r12.xyz, cb2[11].zxyz, r12.yzxy, -r14.xyzx
  268. add r12.xyz, r12.xyzx, r13.xyzx
  269. sample_indexable(texture2d)(float,float,float,float) r13.xyzw, r1.zwzz, t13.xyzw, s8
  270. sample_indexable(texture2d)(float,float,float,float) r14.xyzw, r10.yzyy, t13.xyzw, s8
  271. mad r1.z, r14.w, l(0.00392156886), r13.w
  272. add r1.z, r1.z, l(-0.00196078443)
  273. mad r1.z, r1.z, cb4[18].w, cb4[20].w
  274. mul r10.yzw, r13.xxyz, r13.xxyz
  275. mad r10.yzw, r10.yyzw, cb4[18].xxyz, cb4[20].xxyz
  276. exp r1.z, r1.z
  277. add r1.z, r1.z, l(-0.0185813606)
  278. mad r13.xyzw, r14.xyzw, cb4[19].xyzw, cb4[21].xyzw
  279. mov r12.w, l(1.000000)
  280. dp4 r1.w, r13.xyzw, r12.xyzw
  281. max r1.w, r1.w, l(0.000000)
  282. mul r1.z, r1.w, r1.z
  283. mul r10.yzw, r10.yyzw, r1.zzzz
  284. mul r10.yzw, r10.yyzw, cb1[147].xxyz
  285. lt r1.z, l(0.000000), cb1[156].y
  286. if_nz r1.z
  287. sample_indexable(texture2d)(float,float,float,float) r12.xyzw, v2.xyxx, t14.xyzw, s8
  288. mad r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  289. mul r13.x, r12.w, r12.w
  290. dp3 r1.z, r12.xyzx, r12.xyzx
  291. rsq r1.z, r1.z
  292. mul r12.xyz, r1.zzzz, r12.xyzx
  293. mad r1.z, -r12.w, r12.w, l(1.000000)
  294. mad r1.z, -r1.z, r1.z, l(1.000000)
  295. mad r0.xyz, r0.zxyz, r6.wwww, -r12.xyzx
  296. mad r14.xyz, r1.zzzz, r0.xyzx, r12.xyzx
  297. dp3_sat r0.x, r12.yzxy, r8.xyzx
  298. add r0.y, -r0.x, l(1.000000)
  299. mad r13.y, r1.z, r0.y, r0.x
  300. else
  301. mov r14.xyz, r8.zxyz
  302. mov r13.xy, l(1.000000,1.000000,0,0)
  303. endif
  304. mov r14.w, l(1.000000)
  305. dp4 r0.x, cb1[158].xyzw, r14.xyzw
  306. dp4 r0.y, cb1[159].xyzw, r14.xyzw
  307. dp4 r0.z, cb1[160].xyzw, r14.xyzw
  308. mul r12.xyzw, r14.yzzx, r14.xyzz
  309. dp4 r15.x, cb1[161].xyzw, r12.xyzw
  310. dp4 r15.y, cb1[162].xyzw, r12.xyzw
  311. dp4 r15.z, cb1[163].xyzw, r12.xyzw
  312. mul r1.z, r14.y, r14.y
  313. mad r1.z, r14.x, r14.x, -r1.z
  314. add r0.xyz, r0.xyzx, r15.xyzx
  315. mad r0.xyz, cb1[164].xyzx, r1.zzzz, r0.xyzx
  316. max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  317. mul r0.xyz, r0.xyzx, cb1[157].xyzx
  318. mul r1.z, r13.y, r13.x
  319. mul r1.z, r1.z, cb2[19].z
  320. mul r0.xyz, r0.xyzx, r1.zzzz
  321. mad r0.xyz, r10.yzwy, cb2[19].yyyy, r0.xyzx
  322. dp3 r1.z, r0.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  323. mul r0.xyz, r6.xyzx, r0.xyzx
  324. mad r10.yzw, r7.xxyz, l(0.000000, 2.040400, 2.040400, 2.040400), l(0.000000, -0.332400, -0.332400, -0.332400)
  325. mad r10.yzw, r7.xxyz, l(0.000000, -4.795100, -4.795100, -4.795100), r10.yyzw
  326. mad r7.xyz, r7.xyzx, l(2.755200, 2.755200, 2.755200, 0.000000), r10.yzwy
  327. add r7.xyz, r7.xyzx, l(1.332000, 1.332000, 1.332000, 0.000000)
  328. max r7.xyz, r7.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  329. mul [precise(w)] r1.w, v5.w, cb3[3].x
  330. add [precise(w)] r1.w, r1.w, cb3[3].y
  331. log [precise(w)] r1.w, r1.w
  332. mul [precise(w)] r1.w, r1.w, cb3[3].z
  333. max [precise(w)] r1.w, r1.w, l(0.000000)
  334. ftou [precise(xyw)] r1.xyw, r1.xyxw
  335. iadd [precise(w)] r3.w, cb3[1].z, l(-1)
  336. umin [precise(w)] r1.w, r1.w, r3.w
  337. ushr [precise(xy)] r1.xy, r1.xyxx, cb3[2].xxxx
  338. imad [precise(y)] r1.y, r1.w, cb3[1].y, r1.y
  339. imad [precise(x)] r1.x, r1.y, cb3[1].x, r1.x
  340. mul [precise(y)] r1.y, r9.w, l(2.000000)
  341. mul [precise(yzw)] r10.yzw, r8.zzxy, r1.yyyy
  342. add [precise(xyz)] r5.xyz, -r5.xyzx, r10.yzwy
  343. min r1.y, r10.x, l(1.000000)
  344. iadd [precise(x)] r1.x, r1.x, cb3[0].w
  345. ishl [precise(w)] r1.w, r1.x, l(1)
  346. ld_indexable [precise(w)](buffer)(uint,uint,uint,uint) r1.w, r1.wwww, t0.yzwx
  347. umin [precise(w)] r1.w, r1.w, cb3[0].y
  348. bfi [precise(x)] r1.x, l(31), l(1), r1.x, l(1)
  349. ld_indexable [precise(x)](buffer)(uint,uint,uint,uint) r1.x, r1.xxxx, t0.xyzw
  350. log [precise(w)] r3.w, r0.w
  351. mul [precise(w)] r3.w, r3.w, l(1.200000)
  352. add [precise(w)] r3.w, -r3.w, l(1.000000)
  353. add [precise(w)] r6.w, cb1[165].z, l(-1.000000)
  354. add [precise(w)] r6.w, -r3.w, r6.w
  355. mov [precise(x)] r10.x, l(0)
  356. mov [precise(w)] r7.w, l(1.000000)
  357. mov [precise(w)] r8.w, l(0)
  358. mov [precise(w)] r9.w, l(1.000000)
  359. mov [precise] r12.xyzw, l(0,0,0,0)
  360. loop
  361. uge [precise(x)] r13.x, r12.w, r1.w
  362. breakc_nz r13.x
  363. lt [precise(x)] r13.x, r7.w, l(0.001000)
  364. lt [precise(y)] r13.y, r9.w, l(0.001000)
  365. or [precise(x)] r13.x, r13.y, r13.x
  366. if_nz r13.x
  367. break
  368. endif
  369. iadd [precise(x)] r13.x, r1.x, r12.w
  370. ld_indexable [precise(x)](buffer)(uint,uint,uint,uint) r13.x, r13.xxxx, t1.xyzw
  371. add [precise(yzw)] r13.yzw, r4.xxyz, -cb5[r13.x + 0].xxyz
  372. dp3 [precise(x)] r14.x, r13.yzwy, r13.yzwy
  373. sqrt [precise(x)] r14.x, r14.x
  374. and [precise(y)] r14.y, l(0x0000ffff), cb5[r13.x + 341].w
  375. lt [precise(z)] r14.z, r14.x, cb5[r13.x + 0].w
  376. ine [precise(y)] r14.y, r14.y, l(0)
  377. and [precise(y)] r14.y, r14.y, r14.z
  378. if_nz r14.y
  379. ushr [precise(y)] r14.y, cb5[r13.x + 341].w, l(16)
  380. ishl [precise(z)] r14.z, r13.x, l(2)
  381. if_nz r14.y
  382. mul [precise(xyz)] r15.xyz, r4.xxxx, cb5[r14.z + 1023].xyzx
  383. mul [precise(xyz)] r16.xyz, r4.yyyy, cb5[r14.z + 1024].xyzx
  384. add [precise(xyz)] r15.xyz, r15.xyzx, r16.xyzx
  385. mul [precise(xyz)] r16.xyz, r4.zzzz, cb5[r14.z + 1025].xyzx
  386. add [precise(xyz)] r15.xyz, r15.xyzx, r16.xyzx
  387. add [precise(xyz)] r15.xyz, r15.xyzx, cb5[r14.z + 1026].xyzx
  388. mul [precise(xyz)] r16.xyz, r5.xxxx, cb5[r14.z + 1023].xyzx
  389. mul [precise(xyz)] r17.xyz, r5.yyyy, cb5[r14.z + 1024].xyzx
  390. add [precise(xyz)] r16.xyz, r16.xyzx, r17.xyzx
  391. mul [precise(xyz)] r17.xyz, r5.zzzz, cb5[r14.z + 1025].xyzx
  392. add [precise(xyz)] r16.xyz, r16.xyzx, r17.xyzx
  393. rcp [precise(xyz)] r16.xyz, r16.xyzx
  394. mul [precise(xyz)] r17.xyz, r15.xyzx, r16.xyzx
  395. add [precise(xyz)] r18.xyz, -r16.xyzx, -r17.xyzx
  396. add [precise(xyz)] r16.xyz, r16.xyzx, -r17.xyzx
  397. max [precise(xyz)] r16.xyz, r16.xyzx, r18.xyzx
  398. min [precise(y)] r14.y, r16.z, r16.y
  399. min [precise(y)] r14.y, r14.y, r16.x
  400. mul [precise(xyz)] r16.xyz, r5.xyzx, r14.yyyy
  401. add [precise(xyz)] r16.xyz, r4.xyzx, r16.xyzx
  402. add [precise(xyz)] r17.xyz, cb5[r13.x + 0].xyzx, cb5[r13.x + 682].xyzx
  403. add [precise(xyz)] r16.xyz, r16.xyzx, -r17.xyzx
  404. f16tof32 [precise(xyz)] r17.xyz, cb5[r13.x + 2728].xyzx
  405. ushr [precise(xyz)] r18.xyz, cb5[r13.x + 2728].xyzx, l(16, 16, 16, 0)
  406. f16tof32 [precise(xyz)] r18.xyz, r18.xyzx
  407. mul [precise(xyz)] r17.xyz, r17.xyzx, cb5[r13.x + 2387].xyzx
  408. mul [precise(xyz)] r18.xyz, r18.xyzx, cb5[r13.x + 2387].xyzx
  409. mul [precise(xyz)] r15.xyz, r15.xyzx, cb5[r13.x + 2387].xyzx
  410. add [precise(xyz)] r19.xyz, r17.xyzx, -cb5[r13.x + 2387].xyzx
  411. add [precise(xyz)] r20.xyz, -r18.xyzx, cb5[r13.x + 2387].xyzx
  412. add [precise(xyz)] r19.xyz, -r15.xyzx, r19.xyzx
  413. div_sat [precise(xyz)] r17.xyz, r19.xyzx, r17.xyzx
  414. add [precise(xyz)] r15.xyz, r15.xyzx, -r20.xyzx
  415. div_sat [precise(xyz)] r15.xyz, r15.xyzx, r18.xyzx
  416. max [precise(xyz)] r15.xyz, r15.xyzx, r17.xyzx
  417. add [precise(xyz)] r15.xyz, -r15.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  418. mul [precise(y)] r14.y, r15.y, r15.x
  419. mul [precise(y)] r14.y, r15.z, r14.y
  420. add [precise(y)] r14.y, -r14.y, l(1.000000)
  421. mul [precise(y)] r14.y, r14.y, l(1.42857146)
  422. min [precise(y)] r14.y, r14.y, l(1.000000)
  423. mul [precise(w)] r14.w, r14.y, l(-2.000000)
  424. add [precise(w)] r14.w, r14.w, l(3.000000)
  425. mul [precise(y)] r14.y, r14.y, r14.y
  426. mul [precise(y)] r14.y, r14.y, r14.w
  427. add [precise(w)] r16.w, -r14.y, l(1.000000)
  428. else
  429. div_sat [precise(x)] r14.x, r14.x, cb5[r13.x + 0].w
  430. mul [precise(xyz)] r15.xyz, r5.xxxx, cb5[r14.z + 1023].xyzx
  431. mul [precise(xyz)] r17.xyz, r5.yyyy, cb5[r14.z + 1024].xyzx
  432. add [precise(xyz)] r15.xyz, r15.xyzx, r17.xyzx
  433. mul [precise(xyz)] r17.xyz, r5.zzzz, cb5[r14.z + 1025].xyzx
  434. add [precise(yzw)] r10.yzw, r15.xxyz, r17.xxyz
  435. mul [precise(y)] r14.y, cb5[r13.x + 0].w, cb5[r13.x + 0].w
  436. mul [precise(xyz)] r15.xyz, r13.yyyy, cb5[r14.z + 1023].xyzx
  437. mul [precise(xyz)] r17.xyz, r13.zzzz, cb5[r14.z + 1024].xyzx
  438. add [precise(xyz)] r15.xyz, r15.xyzx, r17.xyzx
  439. mul [precise(yzw)] r13.yzw, r13.wwww, cb5[r14.z + 1025].xxyz
  440. add [precise(yzw)] r13.yzw, r13.yyzw, r15.xxyz
  441. dp3 [precise(z)] r14.z, r13.yzwy, r13.yzwy
  442. dp3 [precise(w)] r14.w, r10.yzwy, r13.yzwy
  443. add [precise(y)] r14.y, -r14.y, r14.z
  444. mul [precise(z)] r14.z, r14.w, r14.w
  445. add [precise(y)] r14.y, -r14.y, r14.z
  446. ge [precise(z)] r14.z, r14.y, l(0.000000)
  447. sqrt [precise(y)] r14.y, r14.y
  448. add [precise(y)] r14.y, -r14.w, r14.y
  449. mul [precise(xyz)] r15.xyz, r10.yzwy, r14.yyyy
  450. add [precise(yzw)] r13.yzw, r13.yyzw, r15.xxyz
  451. add [precise(yzw)] r15.yzw, r13.yyzw, -cb5[r13.x + 682].xxyz
  452. mul [precise(y)] r13.y, r14.x, l(2.500000)
  453. add [precise(y)] r13.y, r13.y, l(-1.500000)
  454. max [precise(y)] r13.y, r13.y, l(0.000000)
  455. mul [precise(z)] r13.z, r13.y, r13.y
  456. mul [precise(y)] r13.y, r13.y, l(2.000000)
  457. add [precise(y)] r13.y, -r13.y, l(3.000000)
  458. mul [precise(y)] r13.y, r13.y, r13.z
  459. add [precise(x)] r15.x, -r13.y, l(1.000000)
  460. movc [precise] r16.xyzw, r14.zzzz, r15.yzwx, r10.yzwx
  461. endif
  462. mul [precise(y)] r10.y, r16.w, cb5[r13.x + 341].z
  463. mov [precise(w)] r16.w, cb5[r13.x + 341].y
  464. sample_l_indexable [precise](texturecubearray)(float,float,float,float) r14.xyzw, r16.xyzw, t3.xyzw, s3, r6.w
  465. add [precise(yzw)] r13.yzw, r14.xxyz, l(0.000000, -1.000000, -1.000000, -1.000000)
  466. div [precise(yzw)] r13.yzw, -r14.xxyz, r13.yyzw
  467. mul [precise(z)] r10.z, cb5[r13.x + 341].x, cb5[r13.x + 682].w
  468. mul [precise(xyz)] r14.xyz, r10.zzzz, r13.yzwy
  469. mul [precise] r14.xyzw, r10.yyyy, r14.xyzw
  470. mul [precise(yzw)] r13.yzw, r7.wwww, r14.xxyz
  471. add [precise(xyz)] r12.xyz, r12.xyzx, r13.yzwy
  472. add [precise(z)] r10.z, -r14.w, l(1.000000)
  473. mul [precise(w)] r7.w, r7.w, r10.z
  474. mul [precise(z)] r10.z, r10.y, cb5[r13.x + 682].w
  475. mul [precise(z)] r10.z, r9.w, r10.z
  476. add [precise(w)] r8.w, r8.w, r10.z
  477. add [precise(y)] r10.y, -r10.y, l(1.000000)
  478. mul [precise(w)] r9.w, r9.w, r10.y
  479. endif
  480. iadd [precise(w)] r12.w, r12.w, l(1)
  481. endloop
  482. mul r10.xyz, r12.xyzx, cb1[147].xyzx
  483. dp3 r1.x, cb1[147].xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  484. mul r10.w, r1.x, r8.w
  485. lt [precise(x)] r1.x, l(0.000000), cb3[80].y
  486. if_nz r1.x
  487. add [precise(x)] r1.x, cb3[80].x, l(-1.000000)
  488. add [precise(x)] r1.x, -r3.w, r1.x
  489. sample_l_indexable [precise(xyz)](texturecube)(float,float,float,float) r12.xyz, r5.xyzx, t2.xyzw, s2, r1.x
  490. dp3 r1.x, cb1[157].xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  491. mul r1.x, r1.x, cb3[81].x
  492. mul [precise(xyz)] r12.xyz, r12.xyzx, cb1[157].xyzx
  493. lt [precise(w)] r1.w, cb3[80].z, l(1.000000)
  494. mad r13.xyz, r7.wwww, r12.xyzx, r10.xyzx
  495. mad r13.w, r1.x, r9.w, r10.w
  496. movc [precise(xyz)] r12.xyz, r1.wwww, l(0,0,0,0), r12.xyzx
  497. movc r10.xyzw, r1.wwww, r13.xyzw, r10.xyzw
  498. else
  499. mov r12.xyz, l(0,0,0,0)
  500. endif
  501. mad_sat r1.x, r0.w, cb1[167].x, cb1[167].y
  502. mad r1.w, r1.x, l(-2.000000), l(3.000000)
  503. mul r1.x, r1.x, r1.x
  504. mul r1.x, r1.x, r1.w
  505. max r1.w, r10.w, l(0.000100)
  506. div r1.w, r1.z, r1.w
  507. min r1.w, r1.w, cb1[167].z
  508. add r1.w, r1.w, l(-1.000000)
  509. mad r1.x, r1.x, r1.w, l(1.000000)
  510. mul r12.xyz, r7.wwww, r12.xyzx
  511. mad r10.xyz, r10.xyzx, r1.xxxx, r12.xyzx
  512. mul r12.xyzw, r2.yxyw, l(50.000000, 0.450000, 0.450000, 0.450000)
  513. mad r1.xzw, r12.yyzw, r1.zzzz, -r10.xxyz
  514. mad r1.xzw, cb1[154].wwww, r1.xxzw, r10.xxyz
  515. lt [precise(w)] r3.w, l(0.000000), cb1[146].y
  516. eq [precise(w)] r6.w, cb1[135].y, l(0.000000)
  517. and [precise(w)] r3.w, r3.w, r6.w
  518. if_nz r3.w
  519. utof [precise(w)] r3.w, cb1[135].x
  520. mul [precise(xy)] r10.xy, r3.wwww, l(32.665001, 11.815000, 0.000000, 0.000000)
  521. add [precise(xy)] r10.xy, r10.xyxx, v5.xyxx
  522. dp2 [precise(w)] r3.w, r10.xyxx, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
  523. frc [precise(w)] r3.w, r3.w
  524. mul [precise(w)] r3.w, r3.w, l(52.982918)
  525. frc [precise(w)] r3.w, r3.w
  526. add [precise(w)] r3.w, r3.w, l(-0.500000)
  527. mul [precise] r10.xyzw, r3.xxxx, cb1[8].xyzw
  528. mul [precise] r13.xyzw, r3.yyyy, cb1[9].xyzw
  529. add [precise] r10.xyzw, r10.xyzw, r13.xyzw
  530. mul [precise] r13.xyzw, r3.zzzz, cb1[10].xyzw
  531. add [precise] r10.xyzw, r10.xyzw, r13.xyzw
  532. add [precise] r10.xyzw, r10.xyzw, cb1[11].xyzw
  533. mul [precise(xyz)] r3.xyz, r2.zzzz, r5.xyzx
  534. mul [precise] r13.xyzw, r3.xxxx, cb1[8].xyzw
  535. mul [precise] r14.xyzw, r3.yyyy, cb1[9].xyzw
  536. add [precise] r13.xyzw, r13.xyzw, r14.xyzw
  537. mul [precise] r14.xyzw, r3.zzzz, cb1[10].xyzw
  538. add [precise] r13.xyzw, r13.xyzw, r14.xyzw
  539. mul [precise] r14.xyzw, cb1[11].xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  540. add [precise] r13.xyzw, r13.xyzw, r14.xyzw
  541. add [precise] r13.xyzw, r10.xyzw, r13.xyzw
  542. mul [precise] r14.xyzw, r10.xxxx, cb1[24].xyzw
  543. mul [precise] r15.xyzw, r10.yyyy, cb1[25].xyzw
  544. add [precise] r14.xyzw, r14.xyzw, r15.xyzw
  545. mul [precise] r15.xyzw, r10.zzzz, cb1[26].xyzw
  546. add [precise] r14.xyzw, r14.xyzw, r15.xyzw
  547. mul [precise] r10.xyzw, r10.wwww, cb1[27].xyzw
  548. add [precise] r10.xyzw, r10.xyzw, r14.xyzw
  549. mul [precise] r14.xyzw, r13.xxxx, cb1[24].xyzw
  550. mul [precise] r15.xyzw, r13.yyyy, cb1[25].xyzw
  551. add [precise] r14.xyzw, r14.xyzw, r15.xyzw
  552. mul [precise] r15.xyzw, r13.zzzz, cb1[26].xyzw
  553. add [precise] r14.xyzw, r14.xyzw, r15.xyzw
  554. mul [precise] r13.xyzw, r13.wwww, cb1[27].xyzw
  555. add [precise] r13.xyzw, r13.xyzw, r14.xyzw
  556. div [precise(xyz)] r3.xyz, r10.xyzx, r10.wwww
  557. div [precise(xyz)] r5.xyz, r13.xyzx, r13.wwww
  558. mul [precise(xy)] r10.xy, cb1[24].zwzz, l(0.000000, 0.000000, 0.000000, 0.000000)
  559. mul [precise(yz)] r12.yz, cb1[25].zzwz, l(0.000000, 0.000000, 0.000000, 0.000000)
  560. add [precise(xy)] r10.xy, r10.xyxx, r12.yzyy
  561. mul [precise(yz)] r12.yz, r2.zzzz, cb1[26].zzwz
  562. add [precise(xy)] r10.xy, r10.xyxx, r12.yzyy
  563. mul [precise(yz)] r12.yz, cb1[27].zzwz, l(0.000000, 0.000000, 0.000000, 0.000000)
  564. add [precise(xy)] r10.xy, r10.xyxx, r12.yzyy
  565. add [precise(xy)] r10.xy, r10.xyxx, r10.zwzz
  566. div [precise(z)] r2.z, r10.x, r10.y
  567. add [precise(xyz)] r5.xyz, -r3.xyzx, r5.xyzx
  568. dp2 [precise(w)] r6.w, r5.xyxx, r5.xyxx
  569. sqrt [precise(w)] r6.w, r6.w
  570. mul [precise(w)] r6.w, r6.w, l(0.500000)
  571. mul [precise(xy)] r10.xy, r3.xyxx, r6.wwww
  572. add [precise(xy)] r10.xy, r5.xyxx, r10.xyxx
  573. add [precise(xy)] r10.xy, -r6.wwww, |r10.xyxx|
  574. max [precise(xy)] r10.xy, r10.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
  575. add [precise(xy)] r10.xy, |r5.xyxx|, -r10.xyxx
  576. div [precise(xy)] r10.xy, r10.xyxx, |r5.xyxx|
  577. min [precise(w)] r7.w, r10.y, r10.x
  578. div [precise(w)] r6.w, r7.w, r6.w
  579. mul [precise(xyz)] r5.xyz, r5.xyzx, r6.wwww
  580. mul [precise(xy)] r10.xy, r3.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
  581. add [precise(xy)] r10.xy, r10.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
  582. mul [precise(xy)] r3.xy, r10.xyxx, cb3[113].xyxx
  583. mul [precise(xy)] r10.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
  584. mul [precise(xy)] r5.xy, r10.xyxx, cb3[113].xyxx
  585. add [precise(z)] r2.z, -r2.z, r3.z
  586. mul [precise(z)] r2.z, r2.z, l(4.000000)
  587. max [precise(z)] r2.z, r2.z, |r5.z|
  588. mul [precise(z)] r2.z, r2.z, l(0.0833333358)
  589. mul [precise(xyz)] r5.xyz, r5.xyzx, l(0.0833333358, 0.0833333358, 0.0833333358, 0.000000)
  590. mul [precise(xyz)] r10.xyz, r3.wwww, r5.xyzx
  591. add [precise(xyz)] r3.xyz, r3.xyzx, r10.xyzx
  592. mul [precise] r10.xyzw, r5.xyxy, l(1.000000, 1.000000, 2.000000, 2.000000)
  593. mul [precise] r13.xyzw, r5.xyxy, l(3.000000, 3.000000, 4.000000, 4.000000)
  594. mul [precise] r14.xyzw, r5.zzzz, l(1.000000, 2.000000, 3.000000, 4.000000)
  595. mul [precise(yzw)] r12.yzw, r5.xxyz, l(0.000000, 4.000000, 4.000000, 4.000000)
  596. mov [precise(z)] r15.z, l(2.000000)
  597. mov [precise(z)] r16.z, l(3.000000)
  598. mov [precise(z)] r17.z, l(1.000000)
  599. mov [precise(z)] r18.z, l(0)
  600. mov [precise(xyz)] r19.xyz, l(0,0,0,0)
  601. mov [precise(w)] r3.w, l(1.000000)
  602. mov [precise(x)] r18.x, l(0)
  603. mov [precise(xyz)] r20.xyz, r3.xyzx
  604. mov [precise(w)] r6.w, l(0)
  605. loop
  606. ige [precise(w)] r7.w, r6.w, l(12)
  607. breakc_nz r7.w
  608. add [precise] r21.xyzw, r10.xyzw, r20.xyxy
  609. add [precise] r22.xyzw, r13.xyzw, r20.xyxy
  610. add [precise] r23.xyzw, r14.xyzw, r20.zzzz
  611. sample_l_indexable [precise(x)](texture2d)(float,float,float,float) r24.x, r21.xyxx, t6.xyzw, s5, l(1.000000)
  612. sample_l_indexable [precise(y)](texture2d)(float,float,float,float) r24.y, r21.zwzz, t6.yxzw, s5, l(1.000000)
  613. sample_l_indexable [precise(z)](texture2d)(float,float,float,float) r24.z, r22.xyxx, t6.yzxw, s5, l(1.000000)
  614. sample_l_indexable [precise(w)](texture2d)(float,float,float,float) r24.w, r22.zwzz, t6.yzwx, s5, l(1.000000)
  615. add [precise] r21.xyzw, r23.xyzw, -r24.xyzw
  616. add [precise] r22.xyzw, -r2.zzzz, -r21.xyzw
  617. lt [precise] r22.xyzw, |r22.xyzw|, r2.zzzz
  618. or [precise(xy)] r23.xy, r22.zwzz, r22.xyxx
  619. or [precise(w)] r7.w, r23.y, r23.x
  620. if_nz r7.w
  621. mov [precise(xy)] r15.xy, r21.yzyy
  622. mov [precise(xy)] r16.xy, r21.zwzz
  623. movc [precise(xyw)] r15.xyw, r22.zzzz, r15.xyxz, r16.xyxz
  624. mov [precise(xy)] r17.xy, r21.xyxx
  625. movc [precise(xyw)] r15.xyw, r22.yyyy, r17.xyxz, r15.xyxw
  626. mov [precise(y)] r18.y, r17.x
  627. movc [precise(xyw)] r15.xyw, r22.xxxx, r18.xyxz, r15.xyxw
  628. add [precise(w)] r7.w, -r15.y, r15.x
  629. div_sat [precise(w)] r7.w, r15.x, r7.w
  630. add [precise(w)] r7.w, r7.w, r15.w
  631. mul [precise(xyw)] r15.xyw, r5.xyxz, r7.wwww
  632. add [precise(xyz)] r19.xyz, r15.xywx, r20.xyzx
  633. mov [precise(w)] r3.w, l(0.500000)
  634. break
  635. endif
  636. add [precise(xyz)] r20.xyz, r12.yzwy, r20.xyzx
  637. mov [precise(x)] r18.x, r21.w
  638. iadd [precise(w)] r6.w, r6.w, l(4)
  639. mov [precise(xyz)] r19.xyz, l(0,0,0,0)
  640. mov [precise(w)] r3.w, l(1.000000)
  641. endloop
  642. lt [precise(z)] r2.z, r3.w, l(1.000000)
  643. if_nz r2.z
  644. mul [precise(xy)] r3.xy, r19.xyxx, cb3[113].zwzz
  645. mul [precise(xy)] r3.xy, r3.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000)
  646. add [precise(xy)] r3.xy, r3.xyxx, l(-1.000000, 1.000000, 0.000000, 0.000000)
  647. mul [precise(xy)] r3.xy, r3.xyxx, cb1[58].xyxx
  648. add [precise(xy)] r3.xy, r3.xyxx, cb1[58].wzww
  649. add [precise(xy)] r3.xy, r3.xyxx, -cb1[58].wzww
  650. div [precise(xy)] r3.xy, r3.xyxx, cb1[58].xyxx
  651. mul [precise(xyz)] r5.xyz, r3.xxxx, cb1[114].xywx
  652. mul [precise(xyz)] r10.xyz, r3.yyyy, cb1[115].xywx
  653. add [precise(xyz)] r5.xyz, r5.xyzx, r10.xyzx
  654. mul [precise(xyz)] r10.xyz, r19.zzzz, cb1[116].xywx
  655. add [precise(xyz)] r5.xyz, r5.xyzx, r10.xyzx
  656. add [precise(xyz)] r5.xyz, r5.xyzx, cb1[117].xywx
  657. div [precise(zw)] r3.zw, r5.xxxy, r5.zzzz
  658. mad r5.xy, r3.zwzz, cb3[114].xyxx, cb3[114].zwzz
  659. mul [precise(xy)] r3.xy, |r3.xyxx|, l(5.000000, 5.000000, 0.000000, 0.000000)
  660. add_sat [precise(xy)] r3.xy, r3.xyxx, l(-4.000000, -4.000000, 0.000000, 0.000000)
  661. dp2 [precise(z)] r2.z, r3.xyxx, r3.xyxx
  662. add [precise(z)] r2.z, -r2.z, l(1.000000)
  663. max [precise(z)] r2.z, r2.z, l(0.000000)
  664. mul [precise(xy)] r3.xy, |r3.zwzz|, l(5.000000, 5.000000, 0.000000, 0.000000)
  665. add_sat [precise(xy)] r3.xy, r3.xyxx, l(-4.000000, -4.000000, 0.000000, 0.000000)
  666. dp2 [precise(x)] r3.x, r3.xyxx, r3.xyxx
  667. add [precise(x)] r3.x, -r3.x, l(1.000000)
  668. max [precise(x)] r3.x, r3.x, l(0.000000)
  669. min r2.z, r2.z, r3.x
  670. mul r3.xy, r5.xyxx, cb3[116].xyxx
  671. sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t12.xyzw, s7, l(0.000000)
  672. lt r3.x, l(0.000000), r3.x
  673. if_nz r3.x
  674. sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r5.xyxx, t7.xyzw, s6, l(0.000000)
  675. min r3.xyz, -r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  676. mad_sat r3.w, l(-6.600000), r0.w, l(2.000000)
  677. mul r2.z, r2.z, r3.w
  678. mov r3.w, l(1.000000)
  679. mul r3.xyz, r2.zzzz, -r3.xyzx
  680. mul r3.xyz, r3.xyzx, cb3[117].xxxx
  681. mad r2.z, -r3.w, r2.z, l(1.000000)
  682. mad r1.xzw, r1.xxzw, r2.zzzz, r3.xxyz
  683. endif
  684. endif
  685. endif
  686. mad r3.xyzw, r0.wwww, l(-1.000000, -0.027500, -0.572000, 0.022000), l(1.000000, 0.042500, 1.040000, -0.040000)
  687. mul r2.z, r3.x, r3.x
  688. mul r1.y, r1.y, l(-9.280000)
  689. exp r1.y, r1.y
  690. min r1.y, r1.y, r2.z
  691. mad r1.y, r1.y, r3.x, r3.y
  692. mad r3.xy, r1.yyyy, l(-1.040000, 1.040000, 0.000000, 0.000000), r3.zwzz
  693. mov_sat r12.x, r12.x
  694. mul r1.y, r3.y, r12.x
  695. mad r3.xyz, r2.xywx, r3.xxxx, r1.yyyy
  696. dp3 r1.y, cb0[9].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  697. lt r1.y, l(0.000100), |r1.y|
  698. if_nz r1.y
  699. mov r4.w, l(-1.000000)
  700. dp4 r1.y, cb0[9].xyzw, r4.xyzw
  701. mad_sat r1.y, |r1.y|, cb0[16].x, cb0[16].y
  702. add r1.y, -r1.y, l(1.000000)
  703. add r5.xyz, r4.xyzx, -cb0[10].xyzx
  704. dp3 r2.z, r5.xyzx, cb0[11].xyzx
  705. add r2.z, -|r2.z|, cb0[11].w
  706. mul_sat r2.z, r2.z, cb0[16].x
  707. dp3 r3.w, r5.xyzx, cb0[12].xyzx
  708. add r3.w, -|r3.w|, cb0[12].w
  709. mul_sat r3.w, r3.w, cb0[16].x
  710. mul r2.z, r2.z, r3.w
  711. mul r1.y, r1.y, r2.z
  712. lt r2.z, l(0.000000), r1.y
  713. if_nz r2.z
  714. rsq r2.z, r5.w
  715. mul r5.xyz, r2.zzzz, r9.xyzx
  716. dp3 r2.z, r5.xyzx, -cb0[9].xyzx
  717. add r2.z, r2.z, r2.z
  718. mad r5.xyz, cb0[9].xyzx, r2.zzzz, r5.xyzx
  719. mul r9.xyz, r8.xxxx, cb0[14].xyzx
  720. mad r9.xyz, r8.zzzz, cb0[13].xyzx, r9.xyzx
  721. mad r9.xyz, r8.yyyy, cb0[15].xyzx, r9.xyzx
  722. dp3 r2.z, r5.xyzx, r9.xyzx
  723. add r2.z, r2.z, r2.z
  724. mad r5.xyz, r9.xyzx, -r2.zzzz, r5.xyzx
  725. mad r5.xyz, r5.xyzx, cb0[16].zzzz, r4.xyzx
  726. add r5.xyz, r5.xyzx, cb1[62].xyzx
  727. mul r9.xyz, r5.yyyy, cb1[9].xyzx
  728. mad r5.xyw, r5.xxxx, cb1[8].xyxz, r9.xyxz
  729. mad r5.xyz, r5.zzzz, cb1[10].xyzx, r5.xywx
  730. add r5.xyz, r5.xyzx, cb1[11].xyzx
  731. ishl r2.z, cb1[167].w, l(2)
  732. mul r9.xyz, r5.yyyy, cb0[r2.z + 19].xywx
  733. mad r5.xyw, r5.xxxx, cb0[r2.z + 18].xyxw, r9.xyxz
  734. mad r5.xyz, r5.zzzz, cb0[r2.z + 20].xywx, r5.xywx
  735. add r5.xyz, r5.xyzx, cb0[r2.z + 21].xywx
  736. movc r2.z, cb0[28].z, cb1[167].w, l(0)
  737. div r5.xy, r5.xyxx, r5.zzzz
  738. max r5.xy, r5.xyxx, -cb0[28].xyxx
  739. min r5.xy, r5.xyxx, cb0[28].xyxx
  740. mad r5.xy, r5.xyxx, cb0[r2.z + 26].xyxx, cb0[r2.z + 26].zwzz
  741. dp3 r2.z, cb0[9].yzxy, r8.xyzx
  742. mad_sat r2.z, r2.z, cb0[17].x, cb0[17].y
  743. add r0.w, r0.w, l(-0.200000)
  744. mul_sat r0.w, r0.w, l(10.000000)
  745. add r0.w, -r0.w, l(1.000000)
  746. mul r1.y, r1.y, r2.z
  747. mul r0.w, r0.w, r1.y
  748. sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r5.xyxx, t23.xyzw, s3, l(0.000000)
  749. mul r0.w, r0.w, r5.w
  750. mul r5.xyz, r0.wwww, r5.xyzx
  751. else
  752. mov r5.xyz, l(0,0,0,0)
  753. mov r0.w, l(0)
  754. endif
  755. add r0.w, -r0.w, l(1.000000)
  756. mad r1.xzw, r0.wwww, r1.xxzw, r5.xxyz
  757. endif
  758. mul r1.xyz, r3.xyzx, r1.xzwx
  759. mad r3.xyz, r2.xywx, l(2.040400, 2.040400, 2.040400, 0.000000), l(-0.332400, -0.332400, -0.332400, 0.000000)
  760. mad r3.xyz, r2.xywx, l(-4.795100, -4.795100, -4.795100, 0.000000), r3.xyzx
  761. mad r3.xyz, r2.xywx, l(2.755200, 2.755200, 2.755200, 0.000000), r3.xyzx
  762. add r3.xyz, r3.xyzx, l(1.332000, 1.332000, 1.332000, 0.000000)
  763. max r3.xyz, r3.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  764. lt r0.w, l(0.000000), cb3[91].w
  765. if_nz r0.w
  766. mul r5.xyz, r4.yyyy, cb1[5].xywx
  767. mad r5.xyz, r4.xxxx, cb1[4].xywx, r5.xyzx
  768. mad r5.xyz, r4.zzzz, cb1[6].xywx, r5.xyzx
  769. add r5.xyz, r5.xyzx, cb1[7].xywx
  770. div r5.xy, r5.xyxx, r5.zzzz
  771. mad r9.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
  772. mad r0.w, r5.z, cb1[178].x, cb1[178].y
  773. log r0.w, r0.w
  774. mul r0.w, r0.w, cb1[178].z
  775. mul r9.z, r0.w, cb1[177].z
  776. sample_l_indexable(texture3d)(float,float,float,float) r5.xyzw, r9.xyzx, t4.xyzw, s1, l(0.000000)
  777. mul r9.x, r5.w, v3.w
  778. mad r5.xyz, v3.xyzx, r5.wwww, r5.xyzx
  779. else
  780. mov r5.xyz, v3.xyzx
  781. mov r9.x, v3.w
  782. endif
  783. resinfo_indexable [precise(w)](texture3d)(float,float,float,float)_uint r0.w, l(0), t9.yzwx
  784. uge [precise(w)] r0.w, l(1), r0.w
  785. mul r9.yzw, r4.yyyy, cb1[5].xxyw
  786. mad r9.yzw, r4.xxxx, cb1[4].xxyw, r9.yyzw
  787. mad r9.yzw, r4.zzzz, cb1[6].xxyw, r9.yyzw
  788. add r9.yzw, r9.yyzw, cb1[7].xxyw
  789. div r9.yz, r9.yyzy, r9.wwww
  790. mad r9.yz, r9.yyzy, l(0.000000, 0.500000, -0.500000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
  791. mad r1.w, r9.w, cb1[178].x, cb1[178].y
  792. log r1.w, r1.w
  793. mul r1.w, r1.w, cb1[178].z
  794. mul r10.z, r1.w, cb1[177].z
  795. mad r9.yz, r9.yyzy, cb1[122].xxyx, -cb1[121].xxyx
  796. mul r10.xy, r9.yzyy, cb1[179].xyxx
  797. add [precise(yzw)] r9.yzw, r4.xxyz, -cb1[138].xxyz
  798. mul [precise(yzw)] r9.yzw, r9.yyzw, cb1[140].xxyz
  799. add [precise(xyz)] r12.xyz, r4.xyzx, -cb1[139].xyzx
  800. mul [precise(xyz)] r12.xyz, r12.xyzx, cb1[141].xyzx
  801. add [precise(xyz)] r13.xyz, r9.yzwy, l(-0.500000, -0.500000, -0.500000, 0.000000)
  802. add [precise(xyz)] r13.xyz, -|r13.xyzx|, l(0.500000, 0.500000, 0.500000, 0.000000)
  803. mul_sat [precise(xyz)] r13.xyz, r13.xyzx, l(6.000000, 6.000000, 6.000000, 0.000000)
  804. mul [precise(w)] r1.w, r13.y, r13.x
  805. mul [precise(w)] r12.w, r13.z, r1.w
  806. movc r9.yzw, r0.wwww, r10.xxyz, r9.yyzw
  807. movc [precise] r10.xyzw, r0.wwww, l(0,0,0,1.000000), r12.xyzw
  808. sample_l_indexable(texture3d)(float,float,float,float) r12.xyz, r9.yzwy, t8.xyzw, s1, l(0.000000)
  809. sample_l_indexable(texture3d)(float,float,float,float) r13.xyz, r10.xyzx, t9.xyzw, s1, l(0.000000)
  810. add r12.xyz, r12.xyzx, -r13.xyzx
  811. mad r12.xyz, r10.wwww, r12.xyzx, r13.xyzx
  812. sample_l_indexable(texture3d)(float,float,float,float) r9.yzw, r9.yzwy, t10.wxyz, s1, l(0.000000)
  813. sample_l_indexable(texture3d)(float,float,float,float) r10.xyz, r10.xyzx, t11.xyzw, s1, l(0.000000)
  814. add r9.yzw, r9.yyzw, -r10.xxyz
  815. mad r9.yzw, r10.wwww, r9.yyzw, r10.xxyz
  816. dp3 r0.w, r12.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
  817. add r0.w, r0.w, l(0.000010)
  818. div r10.xyz, r12.xyzx, r0.wwww
  819. mul r13.yzw, r9.yyzw, r10.xxxx
  820. mul r14.yzw, r9.yyzw, r10.yyyy
  821. mul r10.yzw, r9.yyzw, r10.zzzz
  822. mul r8.yzw, r8.xxyz, l(0.000000, -1.02332771, 1.02332771, -1.02332771)
  823. mov r13.x, r12.x
  824. mov r8.x, l(0.886227548)
  825. dp4 r13.x, r13.xyzw, r8.xyzw
  826. mov r14.x, r12.y
  827. dp4 r13.y, r14.xyzw, r8.xyzw
  828. mov r10.x, r12.z
  829. dp4 r13.z, r10.xyzw, r8.xyzw
  830. max r8.xyz, r13.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  831. mul r8.xyz, r6.xyzx, r8.xyzx
  832. mad r1.xyz, r1.xyzx, r3.xyzx, r8.xyzx
  833. mad r2.xyz, r2.xywx, l(0.450000, 0.450000, 0.450000, 0.000000), r6.xyzx
  834. add r2.xyz, -r1.xyzx, r2.xyzx
  835. mad r1.xyz, cb1[135].zzzz, r2.xyzx, r1.xyzx
  836. max [precise(xyz)] r2.xyz, cb6[2].xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  837. mul [precise(xyz)] r11.xyz, r2.xyzx, l(250.000000, 250.000000, 250.000000, 0.000000)
  838. lt [precise(w)] r0.w, l(0.000000), cb1[131].z
  839. if_nz r0.w
  840. add [precise(xyz)] r2.xyz, r4.xyzx, -cb2[5].xyzx
  841. add [precise(xyz)] r3.xyz, cb2[13].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  842. lt [precise(xyz)] r2.xyz, r3.xyzx, |r2.xyzx|
  843. or [precise(w)] r0.w, r2.y, r2.x
  844. or [precise(w)] r0.w, r2.z, r0.w
  845. dp3 [precise(w)] r1.w, r4.xyzx, l(0.577000, 0.577000, 0.577000, 0.000000)
  846. mul [precise(w)] r1.w, r1.w, l(0.002000)
  847. frc [precise(w)] r1.w, r1.w
  848. lt [precise(w)] r1.w, l(0.500000), r1.w
  849. movc [precise(yzw)] r2.yzw, r1.wwww, l(0,0,1.000000,1.000000), l(0,1.000000,1.000000,0)
  850. mov [precise(x)] r2.x, l(1.000000)
  851. movc [precise] r11.xyzw, r0.wwww, r2.yzwx, r11.xyzw
  852. mov [precise(w)] o0.w, r11.w
  853. else
  854. mov [precise(w)] o0.w, r11.w
  855. endif
  856. mad r0.xyz, r0.xyzx, r7.xyzx, r1.xyzx
  857. add r0.xyz, r11.xyzx, r0.xyzx
  858. mad r0.xyz, r0.xyzx, r9.xxxx, r5.xyzx
  859. mul o0.xyz, r0.xyzx, cb1[125].yyyy
  860. ret
  861. // Approximately 0 instruction slots used
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement