Advertisement
Guest User

Untitled

a guest
Feb 7th, 2016
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 64.89 KB | None | 0 0
  1. //9a9f8579d3afc7c9-ps.txt MANUALLY FIXED
  2. //
  3. // Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.17672
  4. //
  5. // using 3Dmigoto v1.2.27 on Sat Feb 06 11:49:17 2016
  6. //
  7. //
  8. // Buffer Definitions:
  9. //
  10. // cbuffer cbTiledLighting
  11. // {
  12. //
  13. // uint g_uNumNonDirectionalLights; // Offset: 0 Size: 4
  14. // uint g_uNumDirectionalLights; // Offset: 4 Size: 4
  15. // uint g_uNumTilesX; // Offset: 8 Size: 4
  16. // uint g_uNumTilesY; // Offset: 12 Size: 4
  17. // row_major float4x4 g_mProjection; // Offset: 16 Size: 64 [unused]
  18. // row_major float4x4 g_mInvProjection;// Offset: 80 Size: 64 [unused]
  19. //
  20. // }
  21. //
  22. // cbuffer SceneBuffer
  23. // {
  24. //
  25. // row_major float4x4 View; // Offset: 0 Size: 64
  26. // row_major float4x4 ScreenMatrix; // Offset: 64 Size: 64 [unused]
  27. // float2 DepthExportScale; // Offset: 128 Size: 8 [unused]
  28. // float2 __padding0; // Offset: 136 Size: 8 [unused]
  29. // float4 FogParams; // Offset: 144 Size: 16 [unused]
  30. // float3 __CameraPosition; // Offset: 160 Size: 12 [unused]
  31. // float __padding12; // Offset: 172 Size: 4 [unused]
  32. // float3 CameraDirection; // Offset: 176 Size: 12 [unused]
  33. // float __padding9; // Offset: 188 Size: 4 [unused]
  34. // float3 DepthFactors; // Offset: 192 Size: 12 [unused]
  35. // float __padding10; // Offset: 204 Size: 4 [unused]
  36. // float3 ShadowDepthBiasAndLightType;// Offset: 208 Size: 12 [unused]
  37. // float __padding11; // Offset: 220 Size: 4 [unused]
  38. // float4 SubframeViewport; // Offset: 224 Size: 16 [unused]
  39. // row_major float3x4 DepthToWorld; // Offset: 240 Size: 48
  40. // float4 DepthToView; // Offset: 288 Size: 16
  41. // float4 OneOverDepthToView; // Offset: 304 Size: 16 [unused]
  42. // float4 DepthToW; // Offset: 320 Size: 16 [unused]
  43. // float4 ClipPlane; // Offset: 336 Size: 16 [unused]
  44. // float2 ViewportDepthScaleOffset; // Offset: 352 Size: 8 [unused]
  45. // float2 __padding1; // Offset: 360 Size: 8 [unused]
  46. // float2 ColorDOFDepthScaleOffset; // Offset: 368 Size: 8 [unused]
  47. // float2 __padding2; // Offset: 376 Size: 8 [unused]
  48. // float4 TimeVector; // Offset: 384 Size: 16
  49. // float4 FogParams2; // Offset: 400 Size: 16 [unused]
  50. // float4 FogParams3; // Offset: 416 Size: 16 [unused]
  51. // float3 GlobalAmbient; // Offset: 432 Size: 12
  52. // float __padding8; // Offset: 444 Size: 4 [unused]
  53. // float4 GlobalParams[16]; // Offset: 448 Size: 256
  54. // float4 ViewToFogH; // Offset: 704 Size: 16 [unused]
  55. // float4 ScreenExtents; // Offset: 720 Size: 16
  56. // float2 ScreenResolution; // Offset: 736 Size: 8 [unused]
  57. // float2 __padding3; // Offset: 744 Size: 8 [unused]
  58. // float4 PSSMToMap1Lin; // Offset: 752 Size: 16
  59. // float4 PSSMToMap1Const; // Offset: 768 Size: 16
  60. // float4 PSSMToMap2Lin; // Offset: 784 Size: 16
  61. // float4 PSSMToMap2Const; // Offset: 800 Size: 16
  62. // float4 PSSMToMap3Lin; // Offset: 816 Size: 16
  63. // float4 PSSMToMap3Const; // Offset: 832 Size: 16
  64. // float4 PSSMDistances; // Offset: 848 Size: 16
  65. // row_major float4x4 WorldToPSSM0; // Offset: 864 Size: 64 [unused]
  66. // row_major float4x4 PrevViewProject;// Offset: 928 Size: 64 [unused]
  67. // row_major float4x4 PrevWorld; // Offset: 992 Size: 64 [unused]
  68. // row_major float4x4 ViewT; // Offset: 1056 Size: 64 [unused]
  69. // float4 PSSMExtents; // Offset: 1120 Size: 16
  70. // float4 ShadowAtlasResolution; // Offset: 1136 Size: 16
  71. // float4 UnitRimData[3]; // Offset: 1152 Size: 48 [unused]
  72. // float3 __CameraPositionForCorrection;// Offset: 1200 Size: 12 [unused]
  73. // float __padding7; // Offset: 1212 Size: 4 [unused]
  74. // row_major float4x4 CameraViewProject;// Offset: 1216 Size: 64 [unused]
  75. // float4 BackBufferResolution; // Offset: 1280 Size: 16 [unused]
  76. // row_major float4x4 InverseProjection;// Offset: 1296 Size: 64 [unused]
  77. // float4 StereoOffset; // Offset: 1360 Size: 16 [unused]
  78. // row_major float4x4 Projection; // Offset: 1376 Size: 64 [unused]
  79. // row_major float4x4 ViewInv; // Offset: 1440 Size: 64 [unused]
  80. // float4 ColorSSAO; // Offset: 1504 Size: 16 [unused]
  81. // float4 GlobalFogColor; // Offset: 1520 Size: 16 [unused]
  82. // float4 VolumetricLightGlobalParams;// Offset: 1536 Size: 16 [unused]
  83. // float4 SnowParams01; // Offset: 1552 Size: 16 [unused]
  84. // float4 SnowParams02; // Offset: 1568 Size: 16 [unused]
  85. // float4 SnowParams03; // Offset: 1584 Size: 16 [unused]
  86. // int SSREnabled; // Offset: 1600 Size: 4 [unused]
  87. // int __padding4; // Offset: 1604 Size: 4 [unused]
  88. // int __padding5; // Offset: 1608 Size: 4 [unused]
  89. // int __padding6; // Offset: 1612 Size: 4 [unused]
  90. //
  91. // }
  92. //
  93. // cbuffer MaterialBuffer
  94. // {
  95. //
  96. // float4 MaterialParams[512]; // Offset: 0 Size: 8192
  97. //
  98. // }
  99. //
  100. // cbuffer IrradianceBuffer
  101. // {
  102. //
  103. // float4 IrradianceStateRed0; // Offset: 0 Size: 16
  104. // float4 IrradianceStateRed1; // Offset: 16 Size: 16
  105. // float4 IrradianceStateGreen0; // Offset: 32 Size: 16
  106. // float4 IrradianceStateGreen1; // Offset: 48 Size: 16
  107. // float4 IrradianceStateBlue0; // Offset: 64 Size: 16
  108. // float4 IrradianceStateBlue1; // Offset: 80 Size: 16
  109. // float4 IrradianceStateBase; // Offset: 96 Size: 16
  110. // float4 IrradianceConstantData; // Offset: 112 Size: 16
  111. //
  112. // }
  113. //
  114. // Resource bind info for LightDataBuffer
  115. // {
  116. //
  117. // struct STiledLightData
  118. // {
  119. //
  120. // float3 vPosition; // Offset: 0
  121. // float fSegmentLength; // Offset: 12
  122. // float3 vDirection; // Offset: 16
  123. // float fMinShadowSpec; // Offset: 28
  124. // float4 vAttParams; // Offset: 32
  125. // float3 vSpotParams; // Offset: 48
  126. // float fIntensity; // Offset: 60
  127. // float4 vDiffuseColor; // Offset: 64
  128. // float4 vShadowFadeParams; // Offset: 80
  129. // uint uRelCen; // Offset: 96
  130. // uint uFxSpecificIdx; // Offset: 100
  131. // uint uFxType; // Offset: 104
  132. // float fRadiusSquared; // Offset: 108
  133. // float3 vLambertWeights; // Offset: 112
  134. // float fSpecularStrength; // Offset: 124
  135. // float3 vBoxAxisX; // Offset: 128
  136. // uint uLightType; // Offset: 140
  137. // float3 vBoxAxisZ; // Offset: 144
  138. // uint bShadowEnabled; // Offset: 156
  139. // float3 vBoxInnerDistance; // Offset: 160
  140. // uint bModulationMapEnabled; // Offset: 172
  141. // float3 vBoxInvRange; // Offset: 176
  142. // uint uModulationMapIndex; // Offset: 188
  143. // row_major float4x4 mViewToShadowMap;// Offset: 192
  144. // row_major float4x4 mViewToModulationMap;// Offset: 256
  145. // float3 vRecipOuterColiProxy; // Offset: 320
  146. // uint uProbeFlags; // Offset: 332
  147. // float3 vColixProxyCen; // Offset: 336
  148. // uint bForwardOnly; // Offset: 348
  149. // uint uShadowType; // Offset: 352
  150. // uint uNumSoftShadowSamples; // Offset: 356
  151. // float fSoftShadowRadius; // Offset: 360
  152. // float fSoftShadowDepthBias; // Offset: 364
  153. // float fSoftShadowExponent; // Offset: 368
  154. // float fProbePriority; // Offset: 372
  155. // float fUnusedParam[2]; // Offset: 376
  156. //
  157. // } $Element; // Offset: 0 Size: 384
  158. //
  159. // }
  160. //
  161. //
  162. // Resource Bindings:
  163. //
  164. // Name Type Format Dim Slot Elements
  165. // ------------------------------ ---------- ------- ----------- ---- --------
  166. // SamplerGenericPointClamp sampler NA NA 10 1
  167. // SamplerGenericTrilinearWrap sampler NA NA 11 1
  168. // SamplerGenericBilinearWrap sampler NA NA 12 1
  169. // SamplerGenericBilinearClamp sampler NA NA 13 1
  170. // SamplerGenericShadowCompare sampler_c NA NA 14 1
  171. // p_default_Material_n255_n300_n304_661830C016465534_cp0_Param_texture texture float4 2d 0 1
  172. // p_default_Setup_n15_n95_Texture_texture texture float4 2d 1 1
  173. // p_default_Setup_n15_n158_Texture_texture texture float4 2d 2 1
  174. // p_default_Setup_F10FEF204491676_cp0_Param_texture texture float4 2d 3 1
  175. // p_default_Setup_n15_9B7F2E9016830540_cp10_Param_texture texture float4 2d 4 1
  176. // p_default_Setup_n9_8B09DF1018700059_cp0_Param_texture texture float4 2d 5 1
  177. // p_default_Setup_n30_NormalBufferTexture_texture texture float4 2d 6 1
  178. // p_default_Setup_8CD6AD409878073_cp6_Param_texture texture float4 2d 7 1
  179. // p_default_Setup_n15_1BB3530022408697_cp0_Param_texture texture float4 2d 9 1
  180. // p_default_Setup_n9_1BB3530022408697_cp0_Param_texture texture float4 2d 10 1
  181. // p_default_Setup_n15_8B09DF1018700059_cp0_Param_texture texture float4 2d 11 1
  182. // p_default_Setup_n9_n158_Texture_texture texture float4 2d 12 1
  183. // p_default_Setup_n6_n123_458FBB301198422_cp2_Param_texture texture float4 2d 13 1
  184. // p_default_Setup_n9_n99_Texture_texture texture float4 2d 14 1
  185. // p_default_Setup_n6_n95_Texture_texture texture float4 2d 15 1
  186. // p_default_Setup_n6_n99_Texture_texture texture float4 2d 16 1
  187. // p_default_Setup_n6_9075B4F026705685_cp2_Param_texture texture float4 2d 17 1
  188. // p_default_Setup_n6_1BB3530022408697_cp0_Param_texture texture float4 2d 18 1
  189. // p_default_Setup_n9_n95_Texture_texture texture float4 2d 19 1
  190. // p_default_Setup_n3_n95_Texture_texture texture float4 2d 20 1
  191. // p_default_Setup_n6_8B09DC7019763283_cp1_Param_texture texture float4 2d 21 1
  192. // p_default_Setup_n3_1BB3530022408697_cp0_Param_texture texture float4 2d 22 1
  193. // p_default_Setup_n3_n99_Texture_texture texture float4 2d 23 1
  194. // p_default_Setup_n15_n99_Texture_texture texture float4 2d 24 1
  195. // GlobalModulationMapTextures[0] texture float4 2d 40 1
  196. // ShadowMapSampler_texture texture float4 2d 43 1
  197. // AttenuationSampler_texture texture float4 2d 44 1
  198. // AmbientAccumulation_texture texture float4 2d 53 1
  199. // LightDataBuffer texture struct r/o 54 1
  200. // LightIndexBuffer texture uint4 buf 55 1
  201. // ModulationMaps texture float4 2darray 56 1
  202. // ReflCubeMaps texture float4 cubearray 57 1
  203. // SceneBuffer cbuffer NA NA 2 1
  204. // MaterialBuffer cbuffer NA NA 3 1
  205. // IrradianceBuffer cbuffer NA NA 6 1
  206. // cbTiledLighting cbuffer NA NA 7 1
  207. //
  208. //
  209. //
  210. // Input signature:
  211. //
  212. // Name Index Mask Register SysValue Format Used
  213. // -------------------- ----- ------ -------- -------- ------- ------
  214. // SV_POSITION 0 xyzw 0 POS float xy w
  215. // TEXCOORD 0 xyzw 1 NONE float xyzw
  216. // TEXCOORD 2 xyz 2 NONE float xyz
  217. // PSIZE 0 x 3 NONE uint
  218. //
  219. //
  220. // Output signature:
  221. //
  222. // Name Index Mask Register SysValue Format Used
  223. // -------------------- ----- ------ -------- -------- ------- ------
  224. // SV_TARGET 0 xyzw 0 TARGET float xyzw
  225. // SV_TARGET 1 x 1 TARGET float x
  226. //
  227. ps_5_0
  228. dcl_globalFlags refactoringAllowed
  229. dcl_constantbuffer cb7[1], immediateIndexed
  230. // dcl_constantbuffer cb2[72], immediateIndexed
  231. dcl_constantbuffer cb2[82], immediateIndexed
  232. dcl_constantbuffer cb3[41], immediateIndexed
  233. dcl_constantbuffer cb6[8], immediateIndexed
  234. dcl_sampler s10, mode_default
  235. dcl_sampler s11, mode_default
  236. dcl_sampler s12, mode_default
  237. dcl_sampler s13, mode_default
  238. dcl_sampler s14, mode_comparison
  239. dcl_resource_texture2d (float,float,float,float) t0
  240. dcl_resource_texture2d (float,float,float,float) t1
  241. dcl_resource_texture2d (float,float,float,float) t2
  242. dcl_resource_texture2d (float,float,float,float) t3
  243. dcl_resource_texture2d (float,float,float,float) t4
  244. dcl_resource_texture2d (float,float,float,float) t5
  245. dcl_resource_texture2d (float,float,float,float) t6
  246. dcl_resource_texture2d (float,float,float,float) t7
  247. dcl_resource_texture2d (float,float,float,float) t9
  248. dcl_resource_texture2d (float,float,float,float) t10
  249. dcl_resource_texture2d (float,float,float,float) t11
  250. dcl_resource_texture2d (float,float,float,float) t12
  251. dcl_resource_texture2d (float,float,float,float) t13
  252. dcl_resource_texture2d (float,float,float,float) t14
  253. dcl_resource_texture2d (float,float,float,float) t15
  254. dcl_resource_texture2d (float,float,float,float) t16
  255. dcl_resource_texture2d (float,float,float,float) t17
  256. dcl_resource_texture2d (float,float,float,float) t18
  257. dcl_resource_texture2d (float,float,float,float) t19
  258. dcl_resource_texture2d (float,float,float,float) t20
  259. dcl_resource_texture2d (float,float,float,float) t21
  260. dcl_resource_texture2d (float,float,float,float) t22
  261. dcl_resource_texture2d (float,float,float,float) t23
  262. dcl_resource_texture2d (float,float,float,float) t24
  263. dcl_resource_texture2d (float,float,float,float) t40
  264. dcl_resource_texture2d (float,float,float,float) t43
  265. dcl_resource_texture2d (float,float,float,float) t44
  266. dcl_resource_texture2d (float,float,float,float) t53
  267. dcl_resource_structured t54, 384
  268. dcl_resource_buffer (uint,uint,uint,uint) t55
  269. dcl_resource_texture2darray (float,float,float,float) t56
  270. dcl_resource_texturecubearray (float,float,float,float) t57
  271. dcl_input_ps_siv linear noperspective v0.xyw, position
  272. dcl_input_ps linear v1.xyzw
  273. dcl_input_ps linear v2.xyz
  274. dcl_output o0.xyzw
  275. dcl_output o1.x
  276. // dcl_temps 38
  277. dcl_temps 40
  278. dcl_resource_texture2d (float,float,float,float) t125
  279. dp3 r0.x, v2.xyzx, v2.xyzx
  280. rsq r0.x, r0.x
  281. mul r0.yzw, r0.xxxx, v2.xxyz
  282. mad r1.xy, v0.xyxx, cb2[45].zwzz, cb2[45].xyxx
  283. mad r1.zw, r1.xxxy, cb2[18].xxxy, cb2[18].zzzw
  284. mul r2.xy, r1.zwzz, v0.wwww
  285. mov r2.z, v0.w
  286.  
  287. //View space correction, therefore need the InvProj._m00
  288. ld_indexable(texture2d)(float,float,float,float) r39.xyzw, l(0, 0, 0, 0), t125.xyzw
  289. add r39.w, v0.w, -r39.y
  290. mul r39.w, r39.w, r39.x
  291. mul r39.w, r39.w, cb2[81].x
  292. add r2.x, r2.x, -r39.w
  293.  
  294.  
  295. dp3 r1.z, -r2.xyzx, -r2.xyzx
  296. rsq r1.z, r1.z
  297. mul r3.xyz, r1.zzzz, -r2.xyzx
  298. dp3 r4.x, r3.xyzx, cb2[0].xyzx
  299. dp3 r4.y, r3.xyzx, cb2[1].xyzx
  300. dp3 r4.z, r3.xyzx, cb2[2].xyzx
  301. deriv_rty_fine r3.xyzw, v1.yxwz
  302. deriv_rtx_fine r5.xyzw, v1.xyzw
  303. mul r6.xy, r1.xyxx, v0.wwww
  304. mov r6.z, v0.w
  305. mov r6.w, l(1.000000)
  306.  
  307.  
  308. ld_indexable(texture2d)(float,float,float,float) r39.xyzw, l(0, 0, 0, 0), t125.xyzw
  309. add r39.w, v0.w, -r39.y
  310. mul r39.w, r39.w, r39.x
  311. mul r39.w, r39.w, l(0.5)
  312. add r6.x, r6.x, -r39.w
  313.  
  314.  
  315. dp4 r7.x, cb2[15].xyzw, r6.xyzw
  316. dp4 r7.y, cb2[16].xyzw, r6.xyzw
  317. dp4 r7.z, cb2[17].xyzw, r6.xyzw
  318. deriv_rty_fine r6.xyz, r7.zxyz
  319. deriv_rtx_fine r8.xyz, r7.xyzx
  320. sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t6.xyzw, s10
  321. dp3 r1.w, cb3[18].xyzx, cb3[18].xyzx
  322. rsq r1.w, r1.w
  323. mul r9.xyz, r1.wwww, cb3[18].xyzx
  324. dp3 r1.w, -r9.xyzx, r0.yzwy
  325. add r4.w, cb3[38].w, -cb3[39].x
  326. add r1.w, r1.w, -cb3[39].x
  327. div r4.w, l(1.000000, 1.000000, 1.000000, 1.000000), r4.w
  328. mul_sat r1.w, r1.w, r4.w
  329. mad r4.w, r1.w, l(-2.000000), l(3.000000)
  330. mul r1.w, r1.w, r1.w
  331. mul r1.w, r1.w, r4.w
  332. min r1.w, r1.w, l(1.000000)
  333. mul r9.xyz, |r0.yzwy|, cb3[14].xyzx
  334. mad r7.xyz, r7.xyzx, cb3[2].yyyy, cb3[17].xyzx
  335. mul r10.x, r7.x, cb3[23].z
  336. mul r11.x, r7.x, cb3[24].z
  337. mul r12.x, r7.y, cb3[26].x
  338. dp3 r4.w, r8.xyzx, r0.yzwy
  339. mad r13.xyz, -r4.wwww, r0.yzwy, r8.xyzx
  340. dp3 r4.w, r6.yzxy, r0.yzwy
  341. mad r14.xyz, -r4.wwww, r0.yzwy, r6.yzxy
  342. mul r7.xw, r3.yyyw, r5.yyyw
  343. mad r7.xw, r5.xxxz, r3.xxxz, -r7.xxxw
  344. lt r10.yw, r7.xxxw, l(0.000000, 0.000000, 0.000000, 0.000000)
  345. movc r10.yw, r10.yyyw, l(0,-1.000000,0,-1.000000), l(0,1.000000,0,1.000000)
  346. mov r15.xy, -r5.ywyy
  347. mov r15.zw, r3.xxxz
  348. mul r15.xyzw, r10.yyww, r15.zxwy
  349. mul r16.xyz, r14.xyzx, r15.yyyy
  350. mad r16.xyz, r13.xyzx, r15.xxxx, r16.xyzx
  351. lt r3.zw, l(0.000000, 0.000000, 0.000000, 0.000000), |r7.xxxw|
  352. dp3 r4.w, r16.xyzx, r16.xyzx
  353. rsq r4.w, r4.w
  354. mul r17.xyz, r4.wwww, r16.xyzx
  355. movc r16.xyz, r3.zzzz, r17.xyzx, r16.xyzx
  356. mul r17.xyz, r0.wyzw, r16.yzxy
  357. mad r17.xyz, r0.zwyz, r16.zxyz, -r17.xyzx
  358. mul r18.xyz, r0.wyzw, r13.yzxy
  359. mad r18.xyz, r0.zwyz, r13.zxyz, -r18.xyzx
  360. dp3 r3.z, r14.xyzx, r18.xyzx
  361. lt r3.z, r3.z, l(0.000000)
  362. movc r3.z, r3.z, l(-1.000000), l(1.000000)
  363. mul r5.zw, r3.zzzz, r10.yyyw
  364. mul r17.xyz, r5.zzzz, r17.xyzx
  365. mul r14.xyz, r14.xyzx, r15.wwww
  366. mad r13.xyz, r13.xyzx, r15.zzzz, r14.xyzx
  367. dp3 r3.z, r13.xyzx, r13.xyzx
  368. rsq r3.z, r3.z
  369. mul r14.xyz, r3.zzzz, r13.xyzx
  370. movc r13.xyz, r3.wwww, r14.xyzx, r13.xyzx
  371. mul r14.xyz, r0.wyzw, r13.yzxy
  372. mad r14.xyz, r0.zwyz, r13.zxyz, -r14.xyzx
  373. mul r14.xyz, r5.wwww, r14.xyzx
  374. mul r15.xyz, r0.wyzw, r8.yzxy
  375. mad r15.xyz, r0.zwyz, r8.zxyz, -r15.xyzx
  376. mul r18.xyz, r0.zwyz, r6.xyzx
  377. mad r6.xyz, r6.zxyz, r0.wyzw, -r18.xyzx
  378. dp3 r18.x, r6.xyzx, r4.xyzx
  379. dp3 r18.y, r15.xyzx, r4.xyzx
  380. dp3 r3.z, r8.xyzx, r6.xyzx
  381. div r3.zw, r18.xxxy, r3.zzzz
  382. mul r3.xy, r3.yxyy, r3.wwww
  383. mad r3.xy, r3.zzzz, r5.xyxx, r3.xyxx
  384. mul r3.zw, v1.zzzw, cb3[28].xxxy
  385. mul r5.xyzw, v1.zwxy, cb3[27].xyzw
  386. mul r6.xy, v1.zwzz, cb3[34].xyxx
  387. sample_indexable(texture2d)(float,float,float,float) r6.xy, r6.xyxx, t23.xyzw, s11
  388. sample_indexable(texture2d)(float,float,float,float) r8.xyz, r5.xyxx, t20.xyzw, s11
  389. sample_indexable(texture2d)(float,float,float,float) r3.zw, r3.zwzz, t22.zwxy, s11
  390. mad r3.zw, r3.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
  391. mul r5.xy, r3.zwzz, r3.zwzz
  392. mad r4.w, -r3.z, r3.z, l(1.000000)
  393. mad r4.w, -r3.w, r3.w, r4.w
  394. max r5.x, r5.y, r5.x
  395. mul r5.x, r5.x, l(0.0000610351563)
  396. max r4.w, r4.w, r5.x
  397. rsq r4.w, r4.w
  398. mul r3.zw, r3.zzzw, -r4.wwww
  399. add r4.w, cb3[17].w, -cb3[19].w
  400. mad r4.w, r6.y, r4.w, cb3[19].w
  401. mul r3.zw, r3.zzzw, cb3[15].wwww
  402. add_sat r5.x, cb3[10].w, cb3[13].w
  403. mul r6.yzw, r5.xxxx, cb3[20].xxyz
  404. mad r15.xyz, cb3[6].xyzx, r6.xxxx, l(-1.000000, -1.000000, -1.000000, 0.000000)
  405. mad r15.xyz, r5.xxxx, r15.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  406. add r4.w, r4.w, l(-1.000000)
  407. mad r4.w, r5.x, r4.w, l(1.000000)
  408. mad r8.xyz, r8.xyzx, cb3[3].xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
  409. mad r8.xyz, r5.xxxx, r8.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  410. mul r3.zw, r3.zzzw, r5.xxxx
  411. mad r10.z, -cb3[23].w, r7.y, l(1.000000)
  412. sample_indexable(texture2d)(float,float,float,float) r7.xyw, r10.xzxx, t7.xzyw, s11
  413. mad r11.z, -cb3[24].w, r7.z, l(1.000000)
  414. sample_indexable(texture2d)(float,float,float,float) r10.xyz, r11.xzxx, t7.xzwy, s11
  415. mad r12.z, -cb3[26].y, r7.z, l(1.000000)
  416. sample_indexable(texture2d)(float,float,float,float) r11.xyz, r12.xzxx, t7.xzwy, s11
  417. mul r10.xyz, r9.yyyy, r10.xyzx
  418. mad r7.xyz, r7.xywx, r9.zzzz, r10.xyzx
  419. mad r7.xyz, r11.xyzx, r9.xxxx, r7.xyzx
  420. mul r1.w, r1.w, r7.z
  421. mul r9.xyzw, v1.xyxy, cb3[22].zwxy
  422. sample_indexable(texture2d)(float,float,float,float) r5.y, r9.zwzz, t2.yxzw, s11
  423. mad r7.zw, cb2[24].xxxx, cb3[21].xxxy, r9.xxxy
  424. sample_indexable(texture2d)(float,float,float,float) r6.x, v1.xyxx, t11.xyzw, s11
  425. mul r9.xyzw, v1.xyxy, cb3[33].xyzw
  426. mul r10.xyzw, v1.xyxy, cb3[32].xyzw
  427. add r6.x, r6.x, l(-0.500000)
  428. mul r6.x, r6.x, cb3[35].z
  429. mul r11.xy, r3.xyxx, cb3[28].zwzz
  430. mad_sat r12.x, r7.x, cb3[35].w, cb3[35].x
  431. mad r11.zw, r11.xxxy, r6.xxxx, v1.xxxy
  432. mul r11.zw, r11.zzzw, cb3[21].zzzw
  433. sample_indexable(texture2d)(float,float,float,float) r11.zw, r11.zwzz, t24.zwxy, s11
  434. mad r10.xy, r11.xyxx, r6.xxxx, r10.xyxx
  435. mad r7.xz, r11.xxyx, r6.xxxx, r7.zzwz
  436. mad r9.xy, r11.xyxx, r6.xxxx, r9.xyxx
  437. sample_indexable(texture2d)(float,float,float,float) r18.xyz, r9.xyxx, t1.xyzw, s11
  438. sample_indexable(texture2d)(float,float,float,float) r9.xy, r10.xyxx, t9.xyzw, s11
  439. mad r9.xy, r9.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
  440. sample_indexable(texture2d)(float,float,float,float) r7.xz, r7.xzxx, t4.xzyw, s11
  441. mad r7.xz, r7.xxzx, l(2.000000, 0.000000, 2.000000, 0.000000), l(-1.000000, 0.000000, -1.000000, 0.000000)
  442. add r6.x, -cb3[11].w, cb3[12].w
  443. mad r6.x, r11.w, r6.x, cb3[11].w
  444. mul r10.xy, r7.xzxx, r7.xzxx
  445. mad r7.w, -r7.x, r7.x, l(1.000000)
  446. mad r7.w, -r7.z, r7.z, r7.w
  447. max r8.w, r10.y, r10.x
  448. mul r8.w, r8.w, l(0.0000610351563)
  449. max r7.w, r7.w, r8.w
  450. rsq r7.w, r7.w
  451. mul r7.xz, r7.xxzx, -r7.wwww
  452. mul r10.xy, r9.xyxx, r9.xyxx
  453. mad r7.w, -r9.x, r9.x, l(1.000000)
  454. mad r7.w, -r9.y, r9.y, r7.w
  455. max r8.w, r10.y, r10.x
  456. mul r8.w, r8.w, l(0.0000610351563)
  457. max r7.w, r7.w, r8.w
  458. rsq r7.w, r7.w
  459. mul r9.xy, r9.xyxx, -r7.wwww
  460. mul r7.xz, r7.xxzx, cb3[38].xxxx
  461. mad r11.xyw, -r5.xxxx, cb3[20].xyxz, cb3[13].xyxz
  462. mad r6.yzw, r12.xxxx, r11.xxyw, r6.yyzw
  463. mad r3.zw, r12.xxxx, -r3.zzzw, r3.zzzw
  464. mul r5.x, r5.y, r12.x
  465. mad r7.xz, r9.xxyx, cb3[18].wwww, r7.xxzx
  466. mad r11.xyz, cb3[7].xyzx, r11.zzzz, -r15.xyzx
  467. mad r11.xyz, r12.xxxx, r11.xyzx, r15.xyzx
  468. add r6.x, -r4.w, r6.x
  469. mad r4.w, r12.x, r6.x, r4.w
  470. mad r15.xyz, r18.xyzx, cb3[1].xyzx, -r8.xyzx
  471. mad r8.xyz, r12.xxxx, r15.xyzx, r8.xyzx
  472. mul r7.xz, r7.xxzx, r12.xxxx
  473. mul r9.xy, v1.xyxx, cb3[30].xyxx
  474. sample_indexable(texture2d)(float,float,float,float) r6.x, r9.xyxx, t12.xyzw, s11
  475. sample_indexable(texture2d)(float,float,float,float) r7.w, v1.xyxx, t5.yzwx, s11
  476. add r7.w, r7.w, l(-0.500000)
  477. mul r7.w, r7.w, cb3[34].z
  478. mul r3.xy, r3.xyxx, cb3[30].zwzz
  479. mad_sat r12.y, r7.y, cb3[20].w, cb3[35].y
  480. mul r9.xy, r7.wwww, r3.xyxx
  481. mad r3.xy, r3.xyxx, r7.wwww, v1.xyxx
  482. mul r3.xy, r3.xyxx, cb3[31].xyxx
  483. sample_indexable(texture2d)(float,float,float,float) r3.xy, r3.xyxx, t14.xyzw, s11
  484. mad r7.yw, v1.xxxy, cb3[24].xxxy, r9.xxxy
  485. mad r9.xy, cb3[23].xyxx, v1.xyxx, r9.xyxx
  486. sample_indexable(texture2d)(float,float,float,float) r15.xyz, r9.xyxx, t19.xyzw, s11
  487. sample_indexable(texture2d)(float,float,float,float) r7.yw, r7.ywyy, t10.zxwy, s11
  488. mad r7.yw, r7.yyyw, l(0.000000, 2.000000, 0.000000, 2.000000), l(0.000000, -1.000000, 0.000000, -1.000000)
  489. add r8.w, cb3[36].z, -cb3[37].y
  490. mad r3.y, r3.y, r8.w, cb3[37].y
  491. mul r9.xy, r7.ywyy, r7.ywyy
  492. mad r8.w, -r7.y, r7.y, l(1.000000)
  493. mad r8.w, -r7.w, r7.w, r8.w
  494. max r9.x, r9.y, r9.x
  495. mul r9.x, r9.x, l(0.0000610351563)
  496. max r8.w, r8.w, r9.x
  497. rsq r8.w, r8.w
  498. mul r7.yw, r7.yyyw, -r8.wwww
  499. mad r3.zw, r12.yyyy, -r3.zzzw, r3.zzzw
  500. add r18.xyz, -r6.yzwy, cb3[19].xyzx
  501. mad r6.yzw, r12.yyyy, r18.xxyz, r6.yyzw
  502. mad r5.y, -r12.x, r5.y, r6.x
  503. mad r5.x, r12.y, r5.y, r5.x
  504. mad r18.xyz, cb3[15].xyzx, r3.xxxx, -r11.xyzx
  505. mad r11.xyz, r12.yyyy, r18.xyzx, r11.xyzx
  506. add r3.x, -r4.w, r3.y
  507. mad r3.x, r12.y, r3.x, r4.w
  508. mad r15.xyz, r15.xyzx, cb3[0].xyzx, -r8.xyzx
  509. mad r8.xyz, r12.yyyy, r15.xyzx, r8.xyzx
  510. mad r7.yw, r7.yyyw, cb3[36].yyyy, -r7.xxxz
  511. mad r7.xy, r12.yyyy, r7.ywyy, r7.xzxx
  512. dp3 r3.y, r4.xyzx, r0.yzwy
  513. mul r7.zw, r0.yyyz, r3.yyyy
  514. mad r7.zw, r7.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), -r4.xxxy
  515. mul r9.xy, v1.xyxx, cb3[31].zwzz
  516. mul r7.zw, r7.zzzw, cb3[9].wwww
  517. sample_indexable(texture2d)(float,float,float,float) r3.y, r9.xyxx, t21.yxzw, s11
  518. mul r15.xyzw, v1.xyxy, cb3[29].zwxy
  519. sample_indexable(texture2d)(float,float,float,float) r9.xy, r15.zwzz, t16.xyzw, s11
  520. sample_indexable(texture2d)(float,float,float,float) r15.y, r15.xyxx, t17.yxzw, s11
  521. sample_indexable(texture2d)(float,float,float,float) r10.xyz, r10.zwzz, t15.xyzw, s11
  522. mul r3.y, r3.y, cb3[39].w
  523. sample_indexable(texture2d)(float,float,float,float) r9.zw, r9.zwzz, t18.zwxy, s11
  524. mad r9.zw, r9.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
  525. mul r18.xyz, r9.xxxx, cb3[9].xyzx
  526. mul r12.zw, r9.zzzw, r9.zzzw
  527. mad r4.w, -r9.z, r9.z, l(1.000000)
  528. mad r4.w, -r9.w, r9.w, r4.w
  529. max r5.y, r12.w, r12.z
  530. mul r5.y, r5.y, l(0.0000610351563)
  531. max r4.w, r4.w, r5.y
  532. rsq r4.w, r4.w
  533. mul r9.zw, r9.zzzw, -r4.wwww
  534. add r4.w, cb3[5].w, -cb3[8].w
  535. mad r4.w, r9.y, r4.w, cb3[8].w
  536. sample_indexable(texture2d)(float,float,float,float) r5.y, r7.zwzz, t21.xyzw, s11
  537. mad r5.zw, cb2[24].xxxx, cb3[26].zzzw, r5.zzzw
  538. sample_indexable(texture2d)(float,float,float,float) r5.zw, r5.zwzz, t13.zwxy, s11
  539. mad r5.zw, r5.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
  540. mul r7.zw, r5.zzzw, r5.zzzw
  541. mad r6.x, -r5.z, r5.z, l(1.000000)
  542. mad r6.x, -r5.w, r5.w, r6.x
  543. max r7.z, r7.w, r7.z
  544. mul r7.z, r7.z, l(0.0000610351563)
  545. max r6.x, r6.x, r7.z
  546. rsq r6.x, r6.x
  547. mul r5.zw, r5.zzzw, -r6.xxxx
  548. mul r5.zw, r5.zzzw, cb3[34].wwww
  549. mad r5.zw, r9.zzzw, cb3[6].wwww, r5.zzzw
  550. mul_sat r3.y, r3.y, r5.y
  551. mad r9.xyz, -cb3[9].xyzx, r9.xxxx, cb3[5].xyzx
  552. mad r9.xyz, r3.yyyy, r9.xyzx, r18.xyzx
  553. add r5.y, -r4.w, cb3[14].w
  554. mad r3.y, r3.y, r5.y, r4.w
  555. mad_sat r15.x, r1.w, cb3[7].w, cb3[16].w
  556. mov r15.z, l(1.000000)
  557. dp3_sat r1.w, cb3[8].xyzx, r15.xyzx
  558. add r15.xyz, -r6.yzwy, cb3[16].xyzx
  559. mad r6.xyz, r1.wwww, r15.xyzx, r6.yzwy
  560. mad r10.xyz, r10.xyzx, cb3[4].xyzx, -r8.xyzx
  561. mad r8.xyz, r1.wwww, r10.xyzx, r8.xyzx
  562. add r5.yz, -r7.xxyx, r5.zzwz
  563. mad r5.yz, r1.wwww, r5.yyzy, r7.xxyx
  564. mad r3.zw, r1.wwww, -r3.zzzw, r3.zzzw
  565. add r7.xyz, -r11.xyzx, r9.xyzx
  566. mad r7.xyz, r1.wwww, r7.xyzx, r11.xyzx
  567. add r3.y, -r3.x, r3.y
  568. mad r3.x, r1.w, r3.y, r3.x
  569. add r1.w, -r1.w, l(1.000000)
  570. mul r9.xy, r12.xyxx, r1.wwww
  571. mul r9.zw, cb2[24].xxxx, cb3[25].xxxy
  572. mad r9.zw, v1.zzzw, cb3[25].zzzw, r9.zzzw
  573. sample_indexable(texture2d)(float,float,float,float) r9.zw, r9.zwzz, t3.zwxy, s11
  574. mad r9.zw, r9.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
  575. mul r10.xy, r9.zwzz, r9.zwzz
  576. mad r1.w, -r9.z, r9.z, l(1.000000)
  577. mad r1.w, -r9.w, r9.w, r1.w
  578. max r3.y, r10.y, r10.x
  579. mul r3.y, r3.y, l(0.0000610351563)
  580. max r1.w, r1.w, r3.y
  581. rsq r1.w, r1.w
  582. mul r9.zw, r9.zzzw, -r1.wwww
  583. mad r3.yz, r9.zzwz, cb3[36].xxxx, r3.zzwz
  584. mul r10.xyz, r14.xyzx, r3.zzzz
  585. mad r3.yzw, r3.yyyy, r13.xxyz, r10.xxyz
  586. mul r10.xyz, r17.xyzx, r5.zzzz
  587. mad r5.yzw, r5.yyyy, r16.xxyz, r10.xxyz
  588. add r3.yzw, r3.yyzw, r5.yyzw
  589. mad r3.yzw, v2.xxyz, r0.xxxx, -r3.yyzw
  590. dp3 r0.x, r3.yzwy, r3.yzwy
  591. rsq r0.x, r0.x
  592. mul r3.yzw, r0.xxxx, r3.yyzw
  593. max r0.x, |r2.y|, |r2.x|
  594. add r5.yzw, -r0.xxxx, cb2[70].yyzw
  595. add r0.x, cb3[36].w, l(1.000000)
  596. add r1.w, cb3[37].x, l(1.000000)
  597. dp3_sat r4.w, r4.xyzx, r3.yzwy
  598. div r6.w, l(1.000000, 1.000000, 1.000000, 1.000000), r4.w
  599. mov r2.w, l(1.000000)
  600. mov r10.xyz, r2.xyzx
  601. mov r10.w, l(1.000000)
  602. mov r11.xyz, l(0,0,0,0)
  603. mov r12.xyz, l(0,0,0,0)
  604. mov r13.xyz, l(0,0,0,0)
  605. mov r7.w, l(0)
  606. loop
  607. uge r8.w, r7.w, cb7[0].y
  608. breakc_nz r8.w
  609. iadd r8.w, r7.w, cb7[0].x
  610. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r14.xyz, r8.w, l(16), t54.xyzx
  611. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r15.xyz, r8.w, l(64), t54.xyzx
  612. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r9.z, r8.w, l(124), t54.xxxx
  613. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r9.w, r8.w, l(156), t54.xxxx
  614. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r11.w, r8.w, l(172), t54.xxxx
  615. dp3 r16.x, -r14.xyzx, cb2[0].xyzx
  616. dp3 r16.y, -r14.xyzx, cb2[1].xyzx
  617. dp3 r16.z, -r14.xyzx, cb2[2].xyzx
  618. if_nz r9.w
  619. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r14.xyzw, r8.w, l(192), t54.xyzw
  620. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r17.xyzw, r8.w, l(208), t54.xyzw
  621. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r18.xyzw, r8.w, l(224), t54.xyzw
  622. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r19.xyzw, r8.w, l(240), t54.xyzw
  623. mov r20.x, r14.x
  624. mov r20.y, r17.x
  625. mov r20.z, r18.x
  626. mov r20.w, r19.x
  627. dp4 r20.x, r2.xyzw, r20.xyzw
  628. mov r21.x, r14.y
  629. mov r21.y, r17.y
  630. mov r21.z, r18.y
  631. mov r21.w, r19.y
  632. dp4 r20.y, r2.xyzw, r21.xyzw
  633. mov r21.x, r14.z
  634. mov r21.y, r17.z
  635. mov r21.z, r18.z
  636. mov r21.w, r19.z
  637. dp4 r20.z, r2.xyzw, r21.xyzw
  638. mov r19.x, r14.w
  639. mov r19.y, r17.w
  640. mov r19.z, r18.w
  641. dp4 r9.w, r2.xyzw, r19.xyzw
  642. add r14.xyzw, -r9.wwww, cb2[53].xyzw
  643. min r14.yzw, r5.yyzw, r14.yyzw
  644. lt r14.yzw, l(0.000000, 0.000000, 0.000000, 0.000000), r14.yyzw
  645. movc r17.xyz, r14.yyyy, cb2[47].xyzx, cb2[47].wwww
  646. movc r18.xyz, r14.yyyy, cb2[48].xyzx, cb2[48].wwww
  647. movc r17.xyz, r14.zzzz, cb2[49].xyzx, r17.xyzx
  648. movc r18.xyz, r14.zzzz, cb2[50].xyzx, r18.xyzx
  649. movc r17.xyz, r14.wwww, cb2[51].xyzx, r17.xyzx
  650. movc r14.yzw, r14.wwww, cb2[52].xxyz, r18.xxyz
  651. mad r14.yzw, r20.xxyz, r17.xxyz, r14.yyzw
  652. lt r9.w, l(0.000000), r14.x
  653. mad r17.xyzw, cb2[71].zwzw, l(-0.500000, 0.500000, 0.500000, 0.500000), r14.yzyz
  654. sample_c_lz_indexable(texture2d)(float,float,float,float) r12.w, r17.xyxx, t43.xxxx, s14, r14.w
  655. sample_c_lz_indexable(texture2d)(float,float,float,float) r13.w, r17.zwzz, t43.xxxx, s14, r14.w
  656. add r12.w, r12.w, r13.w
  657. mad r17.xyzw, cb2[71].zwzw, l(-0.500000, -0.500000, 0.500000, -0.500000), r14.yzyz
  658. sample_c_lz_indexable(texture2d)(float,float,float,float) r13.w, r17.xyxx, t43.xxxx, s14, r14.w
  659. add r12.w, r12.w, r13.w
  660. sample_c_lz_indexable(texture2d)(float,float,float,float) r13.w, r17.zwzz, t43.xxxx, s14, r14.w
  661. add r12.w, r12.w, r13.w
  662. mul r12.w, r12.w, l(0.250000)
  663. movc r9.w, r9.w, r12.w, l(1.000000)
  664. else
  665. mov r9.w, l(1.000000)
  666. endif
  667. if_nz r11.w
  668. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r14.xyzw, r8.w, l(256), t54.xyzw
  669. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r17.xyzw, r8.w, l(272), t54.xyzw
  670. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r18.xyzw, r8.w, l(288), t54.xyzw
  671. dp4 r8.w, r14.xyzw, r10.xyzw
  672. dp4 r11.w, r17.xyzw, r10.xyzw
  673. dp4 r12.w, r18.xyzw, r10.xyzw
  674. div r14.x, r8.w, r12.w
  675. div r14.y, r11.w, r12.w
  676. sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r14.xyxx, t40.xyzw, s12, l(0.000000)
  677. else
  678. mov r14.xyz, l(1.000000,1.000000,1.000000,0)
  679. endif
  680. dp3 r8.w, -r4.xyzx, r16.xyzx
  681. add r11.w, r8.w, cb3[36].w
  682. div r11.w, r11.w, r0.x
  683. max r11.w, r11.w, l(0.000000)
  684. add r8.w, r8.w, cb3[37].x
  685. div r8.w, r8.w, r1.w
  686. max r8.w, r8.w, l(0.000000)
  687. dp3_sat r12.w, r16.xyzx, r1.xyzx
  688. dp3_sat r13.w, r16.xyzx, r3.yzwy
  689. add r16.xyz, r4.xyzx, r16.xyzx
  690. dp3 r14.w, r16.xyzx, r16.xyzx
  691. rsq r14.w, r14.w
  692. mul r16.xyz, r14.wwww, r16.xyzx
  693. dp3_sat r14.w, r4.xyzx, r16.xyzx
  694. dp3_sat r15.w, r16.xyzx, r3.yzwy
  695. log r16.x, r15.w
  696. mul r16.x, r3.x, r16.x
  697. exp r16.x, r16.x
  698. max r14.w, r14.w, l(1.192092896E-007)
  699. min r16.y, r4.w, r13.w
  700. add r15.w, r15.w, r15.w
  701. mul r16.z, r15.w, r16.y
  702. ge r16.z, r14.w, r16.z
  703. eq r16.y, r4.w, r16.y
  704. div r16.w, r13.w, r4.w
  705. movc r16.y, r16.y, l(1.000000), r16.w
  706. mul r15.w, r15.w, r16.y
  707. div r14.w, r15.w, r14.w
  708. movc r14.w, r16.z, r14.w, r6.w
  709. mul r14.w, r16.x, r14.w
  710. mul r16.xyz, r9.wwww, r14.xyzx
  711. mad r8.w, r8.w, r5.x, -r13.w
  712. mad r8.w, r9.x, r8.w, r13.w
  713. mad r11.w, r11.w, r5.x, -r8.w
  714. mad r8.w, r9.y, r11.w, r8.w
  715. mul r17.xyz, r15.xyzx, r8.wwww
  716. mul r17.xyz, r14.xyzx, r17.xyzx
  717. mul r15.xyz, r15.xyzx, r14.wwww
  718. mul r14.xyz, r14.xyzx, r15.xyzx
  719. mul r14.xyz, r9.wwww, r14.xyzx
  720. mad r11.xyz, r17.xyzx, r9.wwww, r11.xyzx
  721. mad r12.xyz, r14.xyzx, r9.zzzz, r12.xyzx
  722. mad r13.xyz, r16.xyzx, r12.wwww, r13.xyzx
  723. iadd r7.w, r7.w, l(1)
  724. endloop
  725. if_nz cb7[0].x
  726. mul r5.yz, v0.xxyx, l(0.000000, 0.062500, 0.062500, 0.000000)
  727. round_ni r5.yz, r5.yyzy
  728. utof r2.w, cb7[0].z
  729. mad r2.w, r5.z, r2.w, r5.y
  730. ftou r2.w, r2.w
  731. ishl r2.w, r2.w, l(1)
  732. dp3 r5.y, r10.xyzx, r10.xyzx
  733. sqrt r5.y, r5.y
  734. mov r14.xyz, r10.xyzx
  735. mov r14.w, l(1.000000)
  736. mov r10.w, l(1.000000)
  737. mov r15.xyz, r11.xyzx
  738. mov r16.xyz, r12.xyzx
  739. mov r17.xyz, r13.xyzx
  740. mov r5.z, l(0)
  741. loop
  742. uge r5.w, r5.z, l(2)
  743. breakc_nz r5.w
  744. iadd r5.w, r2.w, r5.z
  745. ld_indexable(buffer)(uint,uint,uint,uint) r18.xyzw, r5.wwww, t55.xyzw
  746. ushr r19.xyzw, r18.xyzw, l(30, 30, 30, 30)
  747. iadd r5.w, r19.y, r19.x
  748. iadd r5.w, r19.z, r5.w
  749. iadd r5.w, r19.w, r5.w
  750. mov r19.xyz, r15.xyzx
  751. mov r20.xyz, r16.xyzx
  752. mov r21.xyz, r17.xyzx
  753. mov r7.w, l(0)
  754. loop
  755. uge r8.w, r7.w, r5.w
  756. breakc_nz r8.w
  757. ult r22.xyz, r7.wwww, l(3, 6, 9, 0)
  758. iadd r23.xyz, r7.wwww, l(-3, -6, -9, 0)
  759. movc r8.w, r22.z, r23.y, r23.z
  760. movc r8.w, r22.y, r23.x, r8.w
  761. movc r8.w, r22.x, r7.w, r8.w
  762. movc r9.z, r22.z, r18.z, r18.w
  763. movc r9.z, r22.y, r18.y, r9.z
  764. movc r9.z, r22.x, r18.x, r9.z
  765. imul null, r8.w, r8.w, l(10)
  766. ushr r8.w, r9.z, r8.w
  767. and r8.w, r8.w, l(1023)
  768. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r9.z, r8.w, l(140), t54.xxxx
  769. mov r22.xyz, r19.xyzx
  770. mov r23.xyz, r20.xyzx
  771. mov r24.xyz, r21.xyzx
  772. mov r9.w, r7.w
  773. mov r11.w, r8.w
  774. mov r12.w, r9.z
  775. loop
  776. ult r13.w, r9.w, r5.w
  777. ieq r25.xy, r12.wwww, l(0, 1, 0, 0)
  778. or r15.w, r25.y, r25.x
  779. and r13.w, r13.w, r15.w
  780. breakc_z r13.w
  781. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r25.xzw, r11.w, l(0), t54.xxyz
  782. if_nz r25.y
  783. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r26.xyzw, r11.w, l(12), t54.xyzw
  784. add r27.xyz, r10.xyzx, -r25.xzwx
  785. dp3 r13.w, r27.xyzx, r26.yzwy
  786. max r13.w, r13.w, l(0.000000)
  787. min r13.w, r26.x, r13.w
  788. mad r25.xzw, r13.wwww, r26.yyzw, r25.xxzw
  789. endif
  790. add r25.xyz, -r2.xyzx, r25.xzwx
  791. dp3 r13.w, r25.xyzx, r25.xyzx
  792. sqrt r13.w, r13.w
  793. div r25.xyz, r25.xyzx, r13.wwww
  794. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r26.xyz, r11.w, l(64), t54.xyzx
  795. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r15.w, r11.w, l(124), t54.xxxx
  796. dp3 r27.x, r25.xyzx, cb2[0].xyzx
  797. dp3 r27.y, r25.xyzx, cb2[1].xyzx
  798. dp3 r27.z, r25.xyzx, cb2[2].xyzx
  799. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r16.w, r11.w, l(32), t54.xxxx
  800. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r25.yz, r11.w, l(40), t54.xxyx
  801. mad_sat r25.x, r13.w, r16.w, r25.y
  802. sample_l_indexable(texture2d)(float,float,float,float) r13.w, r25.xzxx, t44.xywz, s13, l(0.000000)
  803. dp3 r16.w, -r4.xyzx, r27.xyzx
  804. add r17.w, r16.w, cb3[36].w
  805. div r17.w, r17.w, r0.x
  806. max r17.w, r17.w, l(0.000000)
  807. add r16.w, r16.w, cb3[37].x
  808. div r16.w, r16.w, r1.w
  809. max r16.w, r16.w, l(0.000000)
  810. dp3_sat r19.w, r27.xyzx, r1.xyzx
  811. dp3_sat r20.w, r27.xyzx, r3.yzwy
  812. add r25.xyz, r4.xyzx, r27.xyzx
  813. dp3 r21.w, r25.xyzx, r25.xyzx
  814. rsq r21.w, r21.w
  815. mul r25.xyz, r21.wwww, r25.xyzx
  816. dp3_sat r21.w, r4.xyzx, r25.xyzx
  817. dp3_sat r22.w, r25.xyzx, r3.yzwy
  818. log r23.w, r22.w
  819. mul r23.w, r3.x, r23.w
  820. exp r23.w, r23.w
  821. max r21.w, r21.w, l(1.192092896E-007)
  822. min r24.w, r4.w, r20.w
  823. add r22.w, r22.w, r22.w
  824. mul r25.x, r22.w, r24.w
  825. ge r25.x, r21.w, r25.x
  826. eq r24.w, r4.w, r24.w
  827. div r25.y, r20.w, r4.w
  828. movc r24.w, r24.w, l(1.000000), r25.y
  829. mul r22.w, r22.w, r24.w
  830. div r21.w, r22.w, r21.w
  831. movc r21.w, r25.x, r21.w, r6.w
  832. mul r21.w, r23.w, r21.w
  833. mad r16.w, r16.w, r5.x, -r20.w
  834. mad r16.w, r9.x, r16.w, r20.w
  835. mad r17.w, r17.w, r5.x, -r16.w
  836. mad r16.w, r9.y, r17.w, r16.w
  837. mul r25.xyz, r26.xyzx, r16.wwww
  838. mul r26.xyz, r26.xyzx, r21.wwww
  839. mul r26.xyz, r13.wwww, r26.xyzx
  840. mad r22.xyz, r25.xyzx, r13.wwww, r22.xyzx
  841. mad r23.xyz, r26.xyzx, r15.wwww, r23.xyzx
  842. mad r24.xyz, r13.wwww, r19.wwww, r24.xyzx
  843. iadd r13.w, r9.w, l(1)
  844. ult r15.w, r13.w, r5.w
  845. if_nz r15.w
  846. ult r25.xyz, r13.wwww, l(3, 6, 9, 0)
  847. iadd r26.xyz, r9.wwww, l(-2, -5, -8, 0)
  848. movc r15.w, r25.z, r26.y, r26.z
  849. movc r15.w, r25.y, r26.x, r15.w
  850. movc r15.w, r25.x, r13.w, r15.w
  851. movc r16.w, r25.z, r18.z, r18.w
  852. movc r16.w, r25.y, r18.y, r16.w
  853. movc r16.w, r25.x, r18.x, r16.w
  854. imul null, r15.w, r15.w, l(10)
  855. ushr r15.w, r16.w, r15.w
  856. and r11.w, r15.w, l(1023)
  857. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r12.w, r11.w, l(140), t54.xxxx
  858. endif
  859. mov r9.w, r13.w
  860. endloop
  861. mov r25.xyz, r22.xyzx
  862. mov r26.xyz, r23.xyzx
  863. mov r27.xyz, r24.xyzx
  864. mov r8.w, r9.w
  865. mov r9.z, r11.w
  866. mov r13.w, r12.w
  867. loop
  868. ult r15.w, r8.w, r5.w
  869. ieq r28.xy, r13.wwww, l(2, 3, 0, 0)
  870. or r16.w, r28.y, r28.x
  871. and r15.w, r15.w, r16.w
  872. breakc_z r15.w
  873. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r28.xzw, r9.z, l(16), t54.xxyz
  874. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r29.xyz, r9.z, l(0), t54.xyzx
  875. if_nz r28.y
  876. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r30.xyz, r9.z, l(128), t54.xyzx
  877. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r15.w, r9.z, l(12), t54.xxxx
  878. add r31.xyz, r10.xyzx, -r29.xyzx
  879. dp3 r16.w, r31.xyzx, r30.xyzx
  880. max r16.w, r16.w, l(0.000000)
  881. min r15.w, r15.w, r16.w
  882. mad r29.xyz, r15.wwww, r30.xyzx, r29.xyzx
  883. endif
  884. add r29.xyz, -r2.xyzx, r29.xyzx
  885. dp3 r15.w, r29.xyzx, r29.xyzx
  886. sqrt r15.w, r15.w
  887. div r29.xyz, r29.xyzx, r15.wwww
  888. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r30.xyz, r9.z, l(64), t54.xyzx
  889. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r16.w, r9.z, l(124), t54.xxxx
  890. dp3 r31.x, r29.xyzx, cb2[0].xyzx
  891. dp3 r31.y, r29.xyzx, cb2[1].xyzx
  892. dp3 r31.z, r29.xyzx, cb2[2].xyzx
  893. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r32.xyz, r9.z, l(32), t54.xyzx
  894. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r33.xyzw, r9.z, l(44), t54.xyzw
  895. mov r32.w, r33.x
  896. mad r32.xy, r15.wwww, r32.xyxx, r32.zwzz
  897. dp3 r17.w, r29.xyzx, -r28.xzwx
  898. mad_sat r19.w, r17.w, r33.y, r33.z
  899. mul r20.w, r19.w, r19.w
  900. mad r19.w, -r19.w, l(2.000000), l(3.000000)
  901. mul r19.w, r19.w, r20.w
  902. mul r19.w, r19.w, r19.w
  903. mul r15.w, r15.w, r17.w
  904. lt r15.w, r15.w, r33.w
  905. movc r15.w, r15.w, l(0), r19.w
  906. sample_l_indexable(texture2d)(float,float,float,float) r17.w, r32.xyxx, t44.xywz, s13, l(0.000000)
  907. mul r15.w, r15.w, r17.w
  908. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r17.w, r9.z, l(172), t54.xxxx
  909. if_nz r17.w
  910. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r17.w, r9.z, l(188), t54.xxxx
  911. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r28.xyzw, r9.z, l(256), t54.xyzw
  912. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r29.xyzw, r9.z, l(272), t54.xyzw
  913. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r32.xyzw, r9.z, l(288), t54.xyzw
  914. dp4 r19.w, r28.xyzw, r14.xyzw
  915. dp4 r20.w, r29.xyzw, r14.xyzw
  916. dp4 r21.w, r32.xyzw, r14.xyzw
  917. div r28.x, r19.w, r21.w
  918. div r28.y, r20.w, r21.w
  919. utof r28.z, r17.w
  920. sample_l_indexable(texture2darray)(float,float,float,float) r28.xyz, r28.xyzx, t56.xyzw, s12, l(0.000000)
  921. else
  922. mov r28.xyz, l(1.000000,1.000000,1.000000,0)
  923. endif
  924. dp3 r17.w, r28.xyzx, r28.xyzx
  925. mul r17.w, r15.w, r17.w
  926. lt r17.w, cb2[24].w, r17.w
  927. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r19.w, r9.z, l(156), t54.xxxx
  928. ine r19.w, r19.w, l(0)
  929. and r17.w, r17.w, r19.w
  930. if_nz r17.w
  931. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r29.xyzw, r9.z, l(192), t54.xyzw
  932. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r32.xyzw, r9.z, l(208), t54.xyzw
  933. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r33.xyzw, r9.z, l(224), t54.xyzw
  934. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r34.xyzw, r9.z, l(240), t54.xyzw
  935. mov r35.x, r29.x
  936. mov r35.y, r32.x
  937. mov r35.z, r33.x
  938. mov r35.w, r34.x
  939. dp4 r35.x, r10.xyzw, r35.xyzw
  940. mov r36.x, r29.y
  941. mov r36.y, r32.y
  942. mov r36.z, r33.y
  943. mov r36.w, r34.y
  944. dp4 r35.y, r10.xyzw, r36.xyzw
  945. mov r36.x, r29.z
  946. mov r36.y, r32.z
  947. mov r36.z, r33.z
  948. mov r36.w, r34.z
  949. dp4 r17.w, r10.xyzw, r36.xyzw
  950. mov r34.x, r29.w
  951. mov r34.y, r32.w
  952. mov r34.z, r33.w
  953. dp4 r19.w, r10.xyzw, r34.xyzw
  954. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r29.xyzw, r9.z, l(80), t54.xyzw
  955. mad_sat r29.xy, r5.yyyy, r29.xyxx, r29.zwzz
  956. div r32.xyzw, r35.xyxy, r19.wwww
  957. mad r33.xyzw, cb2[71].zwzw, l(-0.500000, 0.500000, 0.500000, 0.500000), r32.zwzw
  958. sample_c_lz_indexable(texture2d)(float,float,float,float) r19.w, r33.xyxx, t43.xxxx, s14, r17.w
  959. sample_c_lz_indexable(texture2d)(float,float,float,float) r20.w, r33.zwzz, t43.xxxx, s14, r17.w
  960. add r19.w, r19.w, r20.w
  961. mad r32.xyzw, cb2[71].zwzw, l(-0.500000, -0.500000, 0.500000, -0.500000), r32.xyzw
  962. sample_c_lz_indexable(texture2d)(float,float,float,float) r20.w, r32.xyxx, t43.xxxx, s14, r17.w
  963. add r19.w, r19.w, r20.w
  964. sample_c_lz_indexable(texture2d)(float,float,float,float) r17.w, r32.zwzz, t43.xxxx, s14, r17.w
  965. add r17.w, r17.w, r19.w
  966. mul r17.w, r17.w, l(0.250000)
  967. mad r17.w, r17.w, r29.x, r29.y
  968. else
  969. mov r17.w, l(1.000000)
  970. endif
  971. dp3 r19.w, -r4.xyzx, r31.xyzx
  972. add r20.w, r19.w, cb3[36].w
  973. div r20.w, r20.w, r0.x
  974. max r20.w, r20.w, l(0.000000)
  975. add r19.w, r19.w, cb3[37].x
  976. div r19.w, r19.w, r1.w
  977. max r19.w, r19.w, l(0.000000)
  978. dp3_sat r21.w, r31.xyzx, r1.xyzx
  979. dp3_sat r22.w, r31.xyzx, r3.yzwy
  980. add r29.xyz, r4.xyzx, r31.xyzx
  981. dp3 r23.w, r29.xyzx, r29.xyzx
  982. rsq r23.w, r23.w
  983. mul r29.xyz, r23.wwww, r29.xyzx
  984. dp3_sat r23.w, r4.xyzx, r29.xyzx
  985. dp3_sat r24.w, r29.xyzx, r3.yzwy
  986. log r25.w, r24.w
  987. mul r25.w, r3.x, r25.w
  988. exp r25.w, r25.w
  989. max r23.w, r23.w, l(1.192092896E-007)
  990. min r26.w, r4.w, r22.w
  991. add r24.w, r24.w, r24.w
  992. mul r27.w, r24.w, r26.w
  993. ge r27.w, r23.w, r27.w
  994. eq r26.w, r4.w, r26.w
  995. div r28.w, r22.w, r4.w
  996. movc r26.w, r26.w, l(1.000000), r28.w
  997. mul r24.w, r24.w, r26.w
  998. div r23.w, r24.w, r23.w
  999. movc r23.w, r27.w, r23.w, r6.w
  1000. mul r23.w, r25.w, r23.w
  1001. mul r29.xyz, r15.wwww, r28.xyzx
  1002. mul r29.xyz, r17.wwww, r29.xyzx
  1003. mad r19.w, r19.w, r5.x, -r22.w
  1004. mad r19.w, r9.x, r19.w, r22.w
  1005. mad r20.w, r20.w, r5.x, -r19.w
  1006. mad r19.w, r9.y, r20.w, r19.w
  1007. mul r31.xyz, r30.xyzx, r19.wwww
  1008. mul r31.xyz, r28.xyzx, r31.xyzx
  1009. mul r31.xyz, r17.wwww, r31.xyzx
  1010. mul r30.xyz, r30.xyzx, r23.wwww
  1011. mul r28.xyz, r28.xyzx, r30.xyzx
  1012. mul r28.xyz, r17.wwww, r28.xyzx
  1013. mul r28.xyz, r15.wwww, r28.xyzx
  1014. mad r25.xyz, r31.xyzx, r15.wwww, r25.xyzx
  1015. mad r26.xyz, r28.xyzx, r16.wwww, r26.xyzx
  1016. mad r27.xyz, r29.xyzx, r21.wwww, r27.xyzx
  1017. iadd r15.w, r8.w, l(1)
  1018. ult r16.w, r15.w, r5.w
  1019. if_nz r16.w
  1020. ult r28.xyz, r15.wwww, l(3, 6, 9, 0)
  1021. iadd r29.xyz, r8.wwww, l(-2, -5, -8, 0)
  1022. movc r16.w, r28.z, r29.y, r29.z
  1023. movc r16.w, r28.y, r29.x, r16.w
  1024. movc r16.w, r28.x, r15.w, r16.w
  1025. movc r17.w, r28.z, r18.z, r18.w
  1026. movc r17.w, r28.y, r18.y, r17.w
  1027. movc r17.w, r28.x, r18.x, r17.w
  1028. imul null, r16.w, r16.w, l(10)
  1029. ushr r16.w, r17.w, r16.w
  1030. and r9.z, r16.w, l(1023)
  1031. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r13.w, r9.z, l(140), t54.xxxx
  1032. endif
  1033. mov r8.w, r15.w
  1034. endloop
  1035. mov r19.xyz, r25.xyzx
  1036. mov r20.xyz, r26.xyzx
  1037. mov r21.xyz, r27.xyzx
  1038. mov r15.w, r8.w
  1039. mov r16.w, r9.z
  1040. mov r17.w, r13.w
  1041. loop
  1042. ult r19.w, r15.w, r5.w
  1043. ieq r20.w, r17.w, l(4)
  1044. and r19.w, r19.w, r20.w
  1045. breakc_z r19.w
  1046. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r28.xyz, r16.w, l(0), t54.xyzx
  1047. add r28.xyz, -r2.xyzx, r28.xyzx
  1048. dp3 r19.w, r28.xyzx, r28.xyzx
  1049. sqrt r19.w, r19.w
  1050. div r29.xyz, r28.xyzx, r19.wwww
  1051. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r30.xyz, r16.w, l(64), t54.xyzx
  1052. dp3 r31.x, r29.xyzx, cb2[0].xyzx
  1053. dp3 r31.y, r29.xyzx, cb2[1].xyzx
  1054. dp3 r31.z, r29.xyzx, cb2[2].xyzx
  1055. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r29.xyz, r16.w, l(16), t54.xyzx
  1056. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r32.y, r16.w, l(44), t54.xxxx
  1057. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r33.xyzw, r16.w, l(124), t54.xyzw
  1058. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r34.xyz, r16.w, l(144), t54.xyzx
  1059. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r35.xyz, r16.w, l(160), t54.xyzx
  1060. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r36.xyz, r16.w, l(176), t54.xyzx
  1061. dp3 r37.x, r28.xyzx, r33.yzwy
  1062. dp3 r37.y, r28.xyzx, r29.xyzx
  1063. dp3 r37.z, r28.xyzx, r34.xyzx
  1064. add r28.xyz, -r35.xyzx, |r37.xyzx|
  1065. mul_sat r28.xyz, r36.xyzx, r28.xyzx
  1066. max r19.w, r28.y, r28.x
  1067. max r32.x, r28.z, r19.w
  1068. sample_l_indexable(texture2d)(float,float,float,float) r19.w, r32.xyxx, t44.xywz, s13, l(0.000000)
  1069. dp3 r20.w, -r4.xyzx, r31.xyzx
  1070. add r21.w, r20.w, cb3[36].w
  1071. div r21.w, r21.w, r0.x
  1072. max r21.w, r21.w, l(0.000000)
  1073. add r20.w, r20.w, cb3[37].x
  1074. div r20.w, r20.w, r1.w
  1075. max r20.w, r20.w, l(0.000000)
  1076. dp3_sat r22.w, r31.xyzx, r1.xyzx
  1077. dp3_sat r23.w, r31.xyzx, r3.yzwy
  1078. add r28.xyz, r4.xyzx, r31.xyzx
  1079. dp3 r24.w, r28.xyzx, r28.xyzx
  1080. rsq r24.w, r24.w
  1081. mul r28.xyz, r24.wwww, r28.xyzx
  1082. dp3_sat r24.w, r4.xyzx, r28.xyzx
  1083. dp3_sat r25.w, r28.xyzx, r3.yzwy
  1084. log r26.w, r25.w
  1085. mul r26.w, r3.x, r26.w
  1086. exp r26.w, r26.w
  1087. max r24.w, r24.w, l(1.192092896E-007)
  1088. min r27.w, r4.w, r23.w
  1089. add r25.w, r25.w, r25.w
  1090. mul r28.x, r25.w, r27.w
  1091. ge r28.x, r24.w, r28.x
  1092. eq r27.w, r4.w, r27.w
  1093. div r28.y, r23.w, r4.w
  1094. movc r27.w, r27.w, l(1.000000), r28.y
  1095. mul r25.w, r25.w, r27.w
  1096. div r24.w, r25.w, r24.w
  1097. movc r24.w, r28.x, r24.w, r6.w
  1098. mul r24.w, r26.w, r24.w
  1099. mad r20.w, r20.w, r5.x, -r23.w
  1100. mad r20.w, r9.x, r20.w, r23.w
  1101. mad r21.w, r21.w, r5.x, -r20.w
  1102. mad r20.w, r9.y, r21.w, r20.w
  1103. mul r28.xyz, r30.xyzx, r20.wwww
  1104. mul r29.xyz, r30.xyzx, r24.wwww
  1105. mul r29.xyz, r19.wwww, r29.xyzx
  1106. mad r19.xyz, r28.xyzx, r19.wwww, r19.xyzx
  1107. mad r20.xyz, r29.xyzx, r33.xxxx, r20.xyzx
  1108. mad r21.xyz, r19.wwww, r22.wwww, r21.xyzx
  1109. iadd r19.w, r15.w, l(1)
  1110. ult r20.w, r19.w, r5.w
  1111. if_nz r20.w
  1112. ult r28.xyz, r19.wwww, l(3, 6, 9, 0)
  1113. iadd r29.xyz, r15.wwww, l(-2, -5, -8, 0)
  1114. movc r20.w, r28.z, r29.y, r29.z
  1115. movc r20.w, r28.y, r29.x, r20.w
  1116. movc r20.w, r28.x, r19.w, r20.w
  1117. movc r21.w, r28.z, r18.z, r18.w
  1118. movc r21.w, r28.y, r18.y, r21.w
  1119. movc r21.w, r28.x, r18.x, r21.w
  1120. imul null, r20.w, r20.w, l(10)
  1121. ushr r20.w, r21.w, r20.w
  1122. and r16.w, r20.w, l(1023)
  1123. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r17.w, r16.w, l(140), t54.xxxx
  1124. endif
  1125. mov r15.w, r19.w
  1126. endloop
  1127. uge r16.w, r17.w, l(5)
  1128. iadd r7.w, r15.w, -r16.w
  1129. endloop
  1130. ult r5.w, r5.w, l(12)
  1131. if_nz r5.w
  1132. mov r15.xyz, r19.xyzx
  1133. mov r16.xyz, r20.xyzx
  1134. mov r17.xyz, r21.xyzx
  1135. break
  1136. endif
  1137. iadd r5.z, r5.z, l(1)
  1138. mov r15.xyz, r19.xyzx
  1139. mov r16.xyz, r20.xyzx
  1140. mov r17.xyz, r21.xyzx
  1141. endloop
  1142. mov r11.xyz, r15.xyzx
  1143. mov r12.xyz, r16.xyzx
  1144. mov r13.xyz, r17.xyzx
  1145. endif
  1146. dp3 r0.x, r4.xyzx, r1.xyzx
  1147. mov_sat r1.w, r0.x
  1148. add r2.x, -r1.w, l(1.000000)
  1149. mad r2.y, -r1.w, cb3[37].z, l(1.000000)
  1150. mad r1.w, -r1.w, cb3[38].z, l(1.000000)
  1151. log r2.x, r2.x
  1152. mul r2.z, r2.x, cb3[38].y
  1153. exp r2.z, r2.z
  1154. mul r2.x, r2.x, cb3[37].w
  1155. exp r2.x, r2.x
  1156. mul r3.yzw, r2.zzzz, cb3[11].xxyz
  1157. mul r2.xzw, r2.xxxx, cb3[10].xxyz
  1158. add r5.xyz, r6.xyzx, r11.xyzx
  1159. add r4.w, r3.x, l(2.000000)
  1160. mul r4.w, r4.w, l(0.010000)
  1161. mul r6.xyz, r4.wwww, r7.xyzx
  1162. mad r3.yzw, r13.xxyz, r3.yyzw, r1.wwww
  1163. mad r2.xyz, r13.xyzx, r2.xzwx, r2.yyyy
  1164. add r2.xyz, r2.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
  1165. mad r2.xyz, r9.xxxx, r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  1166. ftoi r11.xy, v0.xyxx
  1167. mov r11.zw, l(0,0,0,0)
  1168. ld_indexable(texture2d)(float,float,float,float) r1.w, r11.xyww, t0.yzwx
  1169. add r2.w, cb3[39].z, cb3[39].y
  1170. add_sat r2.w, -r2.w, l(1.000000)
  1171. mul r4.w, r1.w, r1.w
  1172. mad r1.w, cb3[39].y, r1.w, r2.w
  1173. mad_sat r1.w, r4.w, cb3[39].z, r1.w
  1174. add r9.xzw, -cb3[12].xxyz, l(1.000000, 0.000000, 1.000000, 1.000000)
  1175. mad_sat r9.xzw, r1.wwww, r9.xxzw, cb3[12].xxyz
  1176. mul r12.xyz, r12.xyzx, r9.xzwx
  1177. ld_indexable(texture2d)(float,float,float,float) r11.xyz, r11.xyzw, t53.xyzw
  1178. add r5.xyz, r5.xyzx, r11.xyzx
  1179. mul r5.xyz, r5.xyzx, r9.xzwx
  1180. add r3.yzw, -r2.xxyz, r3.yyzw
  1181. mad r2.xyz, r9.yyyy, r3.yzwy, r2.xyzx
  1182. mul r2.xyz, r2.xyzx, r8.xyzx
  1183. mul r1.xyz, r1.xyzx, r0.xxxx
  1184. mad r1.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), -r4.xyzx
  1185. max r0.x, r0.x, l(1.000000012E-007)
  1186. add r0.x, -r0.x, l(1.000000)
  1187. mul r2.w, r0.x, r0.x
  1188. mul r2.w, r2.w, r2.w
  1189. mul r0.x, r0.x, r2.w
  1190. mad r0.x, r0.x, l(0.960000), l(0.040000)
  1191. mul r4.xyzw, r1.yzzz, r1.xxyz
  1192. mul r2.w, r1.y, r1.y
  1193. mad r1.w, r1.x, r1.x, -r2.w
  1194. dp4 r8.x, r4.xyzw, cb6[0].xyzw
  1195. dp4 r8.y, r4.xyzw, cb6[2].xyzw
  1196. dp4 r8.z, r4.xyzw, cb6[4].xyzw
  1197. dp4 r4.x, r1.xyzw, cb6[1].xyzw
  1198. dp4 r4.y, r1.xyzw, cb6[3].xyzw
  1199. dp4 r4.z, r1.xyzw, cb6[5].xyzw
  1200. add r3.yzw, r4.xxyz, r8.xxyz
  1201. add r3.yzw, r3.yyzw, cb6[6].xxyz
  1202. max r3.yzw, r3.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
  1203. mad r2.w, r1.z, l(0.500000), l(0.500000)
  1204. add r4.xyz, cb2[27].xyzx, -cb2[38].xyzx
  1205. mad r4.xyz, r2.wwww, r4.xyzx, cb2[38].xyzx
  1206. add r3.yzw, r3.yyzw, r4.xxyz
  1207. dp3 r0.y, r1.xyzx, r0.yzwy
  1208. mad_sat r0.y, cb3[40].x, r0.y, l(1.000000)
  1209. mul r0.y, r0.y, r0.y
  1210. ieq r0.z, cb7[0].x, l(0)
  1211. ult r0.w, l(1024), cb7[0].x
  1212. or r0.z, r0.w, r0.z
  1213. if_z r0.z
  1214. mul r0.z, r3.x, l(0.250000)
  1215. log r0.z, r0.z
  1216. mad_sat r0.z, -r0.z, l(0.0909090936), l(1.000000)
  1217. mul r0.z, r0.z, l(4.000000)
  1218. mul r0.w, cb6[7].x, l(3.14159274)
  1219. mul r4.xy, v0.xyxx, l(0.062500, 0.062500, 0.000000, 0.000000)
  1220. round_ni r4.xy, r4.xyxx
  1221. utof r2.w, cb7[0].z
  1222. mad r2.w, r4.y, r2.w, r4.x
  1223. ftou r2.w, r2.w
  1224. imul null, r3.x, cb7[0].w, cb7[0].z
  1225. ishl r3.x, r3.x, l(1)
  1226. ishl r2.w, r2.w, l(1)
  1227. iadd r2.w, r2.w, r3.x
  1228. mov r4.xyz, r1.xyzx
  1229. mov r8.w, l(1.000000)
  1230. mov r11.w, l(1.000000)
  1231. mov r9.yzw, l(0,0,0,0)
  1232. mov r13.xyz, l(0,0,0,0)
  1233. mov r14.xy, l(0,0,0,0)
  1234. mov r3.x, l(0)
  1235. mov r5.w, l(0)
  1236. mov r6.w, l(1.000000)
  1237. mov r7.w, l(0)
  1238. loop
  1239. uge r10.w, r7.w, l(2)
  1240. breakc_nz r10.w
  1241. iadd r10.w, r2.w, r7.w
  1242. ld_indexable(buffer)(uint,uint,uint,uint) r15.xyzw, r10.wwww, t55.xyzw
  1243. ushr r16.xyzw, r15.xyzw, l(30, 30, 30, 30)
  1244. iadd r10.w, r16.y, r16.x
  1245. iadd r10.w, r16.z, r10.w
  1246. iadd r10.w, r16.w, r10.w
  1247. mov r16.xyz, r9.yzwy
  1248. mov r17.xyz, r13.xyzx
  1249. mov r18.xw, r14.yyyx
  1250. mov r18.y, r3.x
  1251. mov r18.z, r5.w
  1252. mov r12.w, r6.w
  1253. mov r13.w, l(0)
  1254. loop
  1255. uge r14.z, r13.w, r10.w
  1256. breakc_nz r14.z
  1257. ult r19.xyz, r13.wwww, l(3, 6, 9, 0)
  1258. iadd r20.xyz, r13.wwww, l(-3, -6, -9, 0)
  1259. movc r14.z, r19.z, r20.y, r20.z
  1260. movc r14.z, r19.y, r20.x, r14.z
  1261. movc r14.z, r19.x, r13.w, r14.z
  1262. movc r14.w, r19.z, r15.z, r15.w
  1263. movc r14.w, r19.y, r15.y, r14.w
  1264. movc r14.w, r19.x, r15.x, r14.w
  1265. imul null, r14.z, r14.z, l(10)
  1266. ushr r14.z, r14.w, r14.z
  1267. and r14.z, r14.z, l(1023)
  1268. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r14.w, r14.z, l(140), t54.xxxx
  1269. mov r19.xyz, r16.xyzx
  1270. mov r20.xyz, r17.xyzx
  1271. mov r21.xyzw, r18.xyzw
  1272. mov r22.x, r12.w
  1273. mov r22.y, r13.w
  1274. mov r22.zw, r14.zzzw
  1275. loop
  1276. ult r23.x, r22.y, r10.w
  1277. ieq r23.yz, r22.wwww, l(0, 0, 1, 0)
  1278. or r23.y, r23.z, r23.y
  1279. and r23.x, r23.y, r23.x
  1280. breakc_z r23.x
  1281. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r24.xyzw, r22.z, l(0), t54.xyzw
  1282. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r23.xyw, r22.z, l(16), t54.xyxz
  1283. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r25.x, r22.z, l(32), t54.xxxx
  1284. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r26.yz, r22.z, l(40), t54.xxyx
  1285. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r27.xyzw, r22.z, l(60), t54.xyzw
  1286. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r25.yz, r22.z, l(100), t54.xxyx
  1287. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r25.w, r22.z, l(332), t54.xxxx
  1288. and r25.w, r25.w, l(3)
  1289. add r24.xyz, r10.xyzx, -r24.xyzx
  1290. dp3 r26.w, r24.xyzx, r23.xywx
  1291. max r26.w, r26.w, l(0.000000)
  1292. min r24.w, r24.w, r26.w
  1293. mad r23.xyw, -r24.wwww, r23.xyxw, r24.xyxz
  1294. movc r23.xyz, r23.zzzz, r23.xywx, r24.xyzx
  1295. dp3 r23.x, r23.xyzx, r23.xyzx
  1296. sqrt r23.x, r23.x
  1297. mad_sat r26.x, r23.x, r25.x, r26.y
  1298. sample_l_indexable(texture2d)(float,float,float,float) r23.x, r26.xzxx, t44.zxyw, s13, l(0.000000)
  1299. ine r23.y, r25.z, l(1)
  1300. movc r23.x, r23.y, l(0), r23.x
  1301. ine r23.y, r25.w, l(2)
  1302. if_nz r23.y
  1303. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r23.y, r22.z, l(372), t54.xxxx
  1304. mul r23.z, r23.x, r23.x
  1305. mul r23.y, r23.y, r23.z
  1306. ieq r23.zw, r25.wwww, l(0, 0, 1, 3)
  1307. mul r24.x, r0.w, r27.x
  1308. itof r4.w, r25.y
  1309. sample_l_indexable(texturecubearray)(float,float,float,float) r24.yzw, r4.xyzw, t57.wxyz, s11, r0.z
  1310. mul r24.xyz, r24.yzwy, r24.xxxx
  1311. mul r8.xyz, r27.yzwy, r24.xyzx
  1312. mov r20.w, r21.z
  1313. mad r24.xyzw, r23.yyyy, r8.wxyz, r20.wxyz
  1314. max r25.w, r21.w, r23.y
  1315. mov r19.w, r21.x
  1316. mad r26.xyzw, r23.yyyy, r8.xyzw, r19.xyzw
  1317. max r28.x, r21.y, r23.y
  1318. mov r25.x, r19.w
  1319. mov r25.z, r24.x
  1320. mov r21.x, r26.w
  1321. mov r21.z, r20.w
  1322. movc r29.xzw, r23.zzzz, r25.xxzw, r21.xxzw
  1323. mov r24.x, r21.y
  1324. mov r28.yzw, r20.xxyz
  1325. movc r28.xyzw, r23.zzzz, r24.xyzw, r28.xyzw
  1326. or r4.w, r23.w, r23.z
  1327. movc r19.xyz, r4.wwww, r19.xyzx, r26.xyzx
  1328. movc r20.xyz, r23.wwww, r20.xyzx, r28.yzwy
  1329. mov r21.x, r25.x
  1330. mov r21.y, r24.x
  1331. mov r29.y, r28.x
  1332. movc r21.xyzw, r23.wwww, r21.xyzw, r29.xyzw
  1333. else
  1334. add_sat r4.w, -r23.x, l(1.000000)
  1335. mul r4.w, r4.w, r4.w
  1336. add r8.x, -r27.x, l(1.000000)
  1337. mad r4.w, r4.w, r8.x, r27.x
  1338. mul r22.x, r4.w, r22.x
  1339. endif
  1340. iadd r4.w, r22.y, l(1)
  1341. ult r8.x, r4.w, r10.w
  1342. if_nz r8.x
  1343. ult r8.xyz, r4.wwww, l(3, 6, 9, 0)
  1344. iadd r23.xyz, r22.yyyy, l(-2, -5, -8, 0)
  1345. movc r19.w, r8.z, r23.y, r23.z
  1346. movc r19.w, r8.y, r23.x, r19.w
  1347. movc r19.w, r8.x, r4.w, r19.w
  1348. movc r8.z, r8.z, r15.z, r15.w
  1349. movc r8.y, r8.y, r15.y, r8.z
  1350. movc r8.x, r8.x, r15.x, r8.y
  1351. imul null, r8.y, r19.w, l(10)
  1352. ushr r8.x, r8.x, r8.y
  1353. and r22.z, r8.x, l(1023)
  1354. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r22.w, r22.z, l(140), t54.xxxx
  1355. endif
  1356. mov r22.y, r4.w
  1357. endloop
  1358. mov r16.xyz, r19.xyzx
  1359. mov r17.xyz, r20.xyzx
  1360. mov r18.xyzw, r21.xyzw
  1361. mov r12.w, r22.x
  1362. mov r4.w, r22.y
  1363. mov r8.xy, r22.zwzz
  1364. loop
  1365. ult r8.z, r4.w, r10.w
  1366. ieq r14.z, r8.y, l(4)
  1367. and r8.z, r8.z, r14.z
  1368. breakc_z r8.z
  1369. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r23.xyz, r8.x, l(0), t54.xyzx
  1370. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r24.xyz, r8.x, l(16), t54.xyzx
  1371. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r25.y, r8.x, l(44), t54.xxxx
  1372. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r26.xyzw, r8.x, l(60), t54.xyzw
  1373. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r14.zw, r8.x, l(100), t54.xxxy
  1374. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r27.xyz, r8.x, l(128), t54.xyzx
  1375. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r28.xyz, r8.x, l(144), t54.xyzx
  1376. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r29.xyz, r8.x, l(160), t54.xyzx
  1377. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r30.xyz, r8.x, l(176), t54.xyzx
  1378. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r8.z, r8.x, l(332), t54.xxxx
  1379. and r8.z, r8.z, l(3)
  1380. add r23.xyz, r10.xyzx, -r23.xyzx
  1381. dp3 r27.y, r23.xyzx, r27.xyzx
  1382. dp3 r27.z, r23.xyzx, r24.xyzx
  1383. dp3 r27.w, r23.xyzx, r28.xyzx
  1384. mul r23.xyz, r29.xyzx, r30.xyzx
  1385. mad r24.xyz, r30.xyzx, r29.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  1386. div r24.xyz, r30.xyzx, r24.xyzx
  1387. mul r24.xyz, r24.xyzx, r27.yzwy
  1388. max r24.xyz, r24.xyzx, l(-1.000000, -1.000000, -1.000000, 0.000000)
  1389. min r24.xyz, r24.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
  1390. mul r27.yzw, r24.xxyz, r24.xxyz
  1391. mad r19.w, -r24.x, r24.x, l(1.000000)
  1392. mad r19.w, r27.w, r19.w, r27.y
  1393. add r20.w, -r19.w, l(1.000000)
  1394. mad_sat r19.w, r27.z, r20.w, r19.w
  1395. sqrt r19.w, r19.w
  1396. max r27.x, r27.y, l(0.000010)
  1397. dp3 r20.w, r23.xyzx, r27.xzwx
  1398. mad r23.x, r24.y, r24.y, r27.x
  1399. mad r23.x, r24.z, r24.z, r23.x
  1400. div r20.w, r20.w, r23.x
  1401. add r23.x, r20.w, l(1.000000)
  1402. mad_sat r25.x, r19.w, r23.x, -r20.w
  1403. sample_l_indexable(texture2d)(float,float,float,float) r19.w, r25.xyxx, t44.xywz, s13, l(0.000000)
  1404. ine r14.w, r14.w, l(1)
  1405. movc r14.w, r14.w, l(0), r19.w
  1406. ine r19.w, r8.z, l(2)
  1407. if_nz r19.w
  1408. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r19.w, r8.x, l(372), t54.xxxx
  1409. mul r20.w, r14.w, r14.w
  1410. mul r19.w, r19.w, r20.w
  1411. ieq r23.xy, r8.zzzz, l(1, 3, 0, 0)
  1412. mul r8.z, r0.w, r26.x
  1413. itof r1.w, r14.z
  1414. sample_l_indexable(texturecubearray)(float,float,float,float) r24.xyz, r1.xyzw, t57.xyzw, s11, r0.z
  1415. mul r24.xyz, r8.zzzz, r24.xyzx
  1416. mul r11.xyz, r26.yzwy, r24.xyzx
  1417. mov r17.w, r18.z
  1418. mad r24.xyzw, r19.wwww, r11.wxyz, r17.wxyz
  1419. max r25.w, r18.w, r19.w
  1420. mov r16.w, r18.x
  1421. mad r27.xyzw, r19.wwww, r11.xyzw, r16.xyzw
  1422. max r28.x, r18.y, r19.w
  1423. mov r25.x, r16.w
  1424. mov r25.z, r24.x
  1425. mov r18.x, r27.w
  1426. mov r18.z, r17.w
  1427. movc r29.xzw, r23.xxxx, r25.xxzw, r18.xxzw
  1428. mov r24.x, r18.y
  1429. mov r28.yzw, r17.xxyz
  1430. movc r28.xyzw, r23.xxxx, r24.xyzw, r28.xyzw
  1431. or r1.w, r23.y, r23.x
  1432. movc r16.xyz, r1.wwww, r16.xyzx, r27.xyzx
  1433. movc r17.xyz, r23.yyyy, r17.xyzx, r28.yzwy
  1434. mov r18.x, r25.x
  1435. mov r18.y, r24.x
  1436. mov r29.y, r28.x
  1437. movc r18.xyzw, r23.yyyy, r18.xyzw, r29.xyzw
  1438. else
  1439. add_sat r1.w, -r14.w, l(1.000000)
  1440. mul r1.w, r1.w, r1.w
  1441. add r8.z, -r26.x, l(1.000000)
  1442. mad r1.w, r1.w, r8.z, r26.x
  1443. mul r12.w, r1.w, r12.w
  1444. endif
  1445. iadd r1.w, r4.w, l(1)
  1446. ult r8.z, r1.w, r10.w
  1447. if_nz r8.z
  1448. ult r11.xyz, r1.wwww, l(3, 6, 9, 0)
  1449. iadd r23.xyz, r4.wwww, l(-2, -5, -8, 0)
  1450. movc r8.z, r11.z, r23.y, r23.z
  1451. movc r8.z, r11.y, r23.x, r8.z
  1452. movc r8.z, r11.x, r1.w, r8.z
  1453. movc r11.z, r11.z, r15.z, r15.w
  1454. movc r11.y, r11.y, r15.y, r11.z
  1455. movc r11.x, r11.x, r15.x, r11.y
  1456. imul null, r8.z, r8.z, l(10)
  1457. ushr r8.z, r11.x, r8.z
  1458. and r8.x, r8.z, l(1023)
  1459. ld_structured_indexable(structured_buffer, stride=384)(mixed,mixed,mixed,mixed) r8.y, r8.x, l(140), t54.xxxx
  1460. endif
  1461. mov r4.w, r1.w
  1462. endloop
  1463. ine r11.xyz, r8.yyyy, l(0, 4, 1, 0)
  1464. and r1.w, r11.y, r11.x
  1465. and r1.w, r11.z, r1.w
  1466. iadd r13.w, -r1.w, r4.w
  1467. endloop
  1468. ult r1.w, r10.w, l(12)
  1469. if_nz r1.w
  1470. mov r9.yzw, r16.xxyz
  1471. mov r13.xyz, r17.xyzx
  1472. mov r14.xy, r18.wxww
  1473. mov r3.x, r18.y
  1474. mov r5.w, r18.z
  1475. mov r6.w, r12.w
  1476. break
  1477. endif
  1478. iadd r7.w, r7.w, l(1)
  1479. mov r9.yzw, r16.xxyz
  1480. mov r13.xyz, r17.xyzx
  1481. mov r14.xy, r18.wxww
  1482. mov r3.x, r18.y
  1483. mov r5.w, r18.z
  1484. mov r6.w, r12.w
  1485. endloop
  1486. max r0.z, r5.w, l(1.192092896E-007)
  1487. div r1.xyz, r13.xyzx, r0.zzzz
  1488. mov_sat r14.x, r14.x
  1489. add r1.xyz, -r3.yzwy, r1.xyzx
  1490. mad r1.xyz, r14.xxxx, r1.xyzx, r3.yzwy
  1491. max r0.z, r14.y, l(1.192092896E-007)
  1492. div r4.xyz, r9.yzwy, r0.zzzz
  1493. mov_sat r3.x, r3.x
  1494. add r4.xyz, -r1.xyzx, r4.xyzx
  1495. mad r3.yzw, r3.xxxx, r4.xxyz, r1.xxyz
  1496. else
  1497. mov r6.w, l(1.000000)
  1498. endif
  1499. mul r1.xyz, r3.yzwy, r6.wwww
  1500. mul r0.x, r0.x, r9.x
  1501. mul r0.x, r0.y, r0.x
  1502. mul r0.x, r0.x, l(0.500000)
  1503. mul r0.yzw, r7.xxyz, r1.xxyz
  1504. mul r0.xyz, r0.xxxx, r0.yzwy
  1505. mad r0.xyz, r12.xyzx, r6.xyzx, r0.xyzx
  1506. mad r0.xyz, r5.xyzx, r2.xyzx, r0.xyzx
  1507. max o0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  1508. mov o0.w, l(1.000000)
  1509. mov o1.x, l(0)
  1510. ret
  1511. // Approximately 1214 instruction slots used
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement