Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Generated by Microsoft (R) D3D Shader Disassembler
- //
- // using 3Dmigoto v1.3.16 on Thu Dec 05 14:33:23 2019
- //
- //
- // Input signature:
- //
- // Name Index Mask Register SysValue Format Used
- // -------------------- ----- ------ -------- -------- ------- ------
- // TEXCOORD 10 xyzw 0 NONE float xyz
- // TEXCOORD 11 xyzw 1 NONE float xyzw
- // TEXCOORD 4 xyzw 2 NONE float xy
- // TEXCOORD 7 xyzw 3 NONE float xyzw
- // TEXCOORD 9 xyz 4 NONE float xy
- // SV_Position 0 xyzw 5 POS float xyzw
- // SV_IsFrontFace 0 x 6 FFACE uint
- //
- //
- // Output signature:
- //
- // Name Index Mask Register SysValue Format Used
- // -------------------- ----- ------ -------- -------- ------- ------
- // SV_Target 0 xyzw 0 TARGET float xyzw
- //
- ps_5_0
- dcl_globalFlags refactoringAllowed
- dcl_constantbuffer cb0[29], dynamicIndexed
- dcl_constantbuffer cb1[180], immediateIndexed
- dcl_constantbuffer cb2[20], immediateIndexed
- dcl_constantbuffer cb3[118], immediateIndexed
- dcl_constantbuffer cb4[22], immediateIndexed
- dcl_constantbuffer cb5[3069], dynamicIndexed
- dcl_constantbuffer cb6[13], immediateIndexed
- dcl_sampler s0, mode_default
- dcl_sampler s1, mode_default
- dcl_sampler s2, mode_default
- dcl_sampler s3, mode_default
- dcl_sampler s4, mode_default
- dcl_sampler s5, mode_default
- dcl_sampler s6, mode_default
- dcl_sampler s7, mode_default
- dcl_sampler s8, mode_default
- dcl_sampler s9, mode_default
- dcl_sampler s10, mode_default
- dcl_sampler s11, mode_default
- dcl_resource_buffer (uint,uint,uint,uint) t0
- dcl_resource_buffer (uint,uint,uint,uint) t1
- dcl_resource_texturecube (float,float,float,float) t2
- dcl_resource_texturecubearray (float,float,float,float) t3
- dcl_resource_texture3d (float,float,float,float) t4
- dcl_resource_texture2d (float,float,float,float) t5
- dcl_resource_texture2d (float,float,float,float) t6
- dcl_resource_texture2d (float,float,float,float) t7
- dcl_resource_texture3d (float,float,float,float) t8
- dcl_resource_texture3d (float,float,float,float) t9
- dcl_resource_texture3d (float,float,float,float) t10
- dcl_resource_texture3d (float,float,float,float) t11
- dcl_resource_texture2d (float,float,float,float) t12
- dcl_resource_texture2d (float,float,float,float) t13
- dcl_resource_texture2d (float,float,float,float) t14
- dcl_resource_texture2d (float,float,float,float) t15
- dcl_resource_texture2d (float,float,float,float) t16
- dcl_resource_texture2d (float,float,float,float) t17
- dcl_resource_texture2d (float,float,float,float) t18
- dcl_resource_texture2d (float,float,float,float) t19
- dcl_resource_texture2d (float,float,float,float) t20
- dcl_resource_texture2d (float,float,float,float) t21
- dcl_resource_texture2d (float,float,float,float) t22
- dcl_resource_texture2d (float,float,float,float) t23
- dcl_input_ps linear centroid v0.xyz
- dcl_input_ps linear centroid v1.xyzw
- dcl_input_ps linear v2.xy
- dcl_input_ps linear v3.xyzw
- dcl_input_ps linear v4.xy
- dcl_input_ps_siv linear noperspective v5.xyzw, position
- dcl_output o0.xyzw
- dcl_temps 40
- dcl_resource_texture2d (float,float,float,float) t125
- dcl_resource_texture1d (float,float,float,float) t120
- mul [precise(xyz)] r0.xyz, v0.xyzx, v1.zxyz
- mul [precise(xyz)] r1.xyz, v0.zxyz, v1.xyzx
- add [precise(xyz)] r0.xyz, r0.xyzx, -r1.xyzx
- mul [precise(xyz)] r0.xyz, r0.xyzx, v1.wwww
- add [precise(xy)] r1.xy, v5.xyxx, -cb1[121].xyxx
- mul [precise(zw)] r1.zw, r1.xxxy, cb1[122].zzzw
- add [precise(zw)] r1.zw, r1.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
- mul [precise(xy)] r2.xy, r1.zwzz, l(2.000000, -2.000000, 0.000000, 0.000000)
- mov [precise(z)] r2.z, l(1.000000)
- mul [precise(xyz)] r2.xyz, r2.xyzx, v5.wwww
- mul [precise] r3.xyzw, v5.xxxx, cb1[40].xyzw
- mul [precise] r4.xyzw, v5.yyyy, cb1[41].xyzw
- add [precise] r3.xyzw, r3.xyzw, r4.xyzw
- mul [precise] r4.xyzw, v5.zzzz, cb1[42].xyzw
- add [precise] r3.xyzw, r3.xyzw, r4.xyzw
- add [precise] r3.xyzw, r3.xyzw, cb1[43].xyzw
- div [precise(xyz)] r3.xyz, r3.xyzx, r3.wwww
- mov r31.xyzw, r3.xyzw
- // DHR ShaderRegex - UE4 Pattern Objects 1:
- ld_indexable(texture2d)(float,float,float,float) r24.xyzw, l(0, 0, 0, 0), t125.xyzw
- //Translate to clip
- mul r25.xyzw, r3.yyyy, cb1[1].xyzw
- mad r25.xyzw, r3.xxxx, cb1[0].xyzw, r25.xyzw
- mad r25.xyzw, r3.zzzz, cb1[2].xyzw, r25.xyzw
- add r25.xyzw, r25.xyzw, cb1[3].xyzw
- //Fix
- mad r25.x, -r24.x, r25.w, r25.x
- //Translate to world
- mul r27.xyzw, r25.yyyy, cb1[37].xyzw
- mad r27.xyzw, r25.xxxx, cb1[36].xyzw, r27.xyzw
- mad r27.xyzw, r25.zzzz, cb1[38].xyzw, r27.xyzw
- mad r27.xyzw, r25.wwww, cb1[39].xyzw, r27.xyzw
- //Fix
- mad r25.x, r24.x, r24.y, r25.x
- //Translate to world
- mul r3.xyzw, r25.yyyy, cb1[37].xyzw
- mad r3.xyzw, r25.xxxx, cb1[36].xyzw, r3.xyzw
- mad r3.xyzw, r25.zzzz, cb1[38].xyzw, r3.xyzw
- mad r3.xyzw, r25.wwww, cb1[39].xyzw, r3.xyzw
- add [precise(xyz)] r4.xyz, r3.xyzx, -cb1[62].xyzx
- add [precise(xyz)] r34.xyz, r31.xyzx, -cb1[62].xyzx
- add [precise(zw)] r1.zw, v4.xxxy, -cb1[62].xxxy
- dp3 [precise(w)] r0.w, -r27.xyzx, -r27.xyzx
- rsq [precise(w)] r0.w, r0.w
- mul [precise(xyz)] r5.xyz, r0.wwww, -r27.xyzx
- div [precise(zw)] r1.zw, r1.zzzw, cb6[9].xxxx
- mul [precise(w)] r0.w, cb1[133].z, cb6[9].z
- div [precise(w)] r2.w, cb1[133].z, l(40.000000)
- mul [precise] r6.xyzw, r1.zwzw, cb6[9].yyww
- add [precise(zw)] r6.zw, r2.wwww, r6.zzzw
- sample_indexable [precise(w)](texture2d)(float,float,float,float) r2.w, r6.zwzz, t15.yzwx, s0
- div [precise(w)] r2.w, r2.w, l(2.000000)
- div [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, 16.000000, 16.000000)
- sample_indexable [precise(w)](texture2d)(float,float,float,float) r3.w, r6.zwzz, t15.yzwx, s0
- add [precise(w)] r2.w, r2.w, r3.w
- mul [precise(w)] r2.w, r2.w, cb6[10].x
- add [precise(w)] r0.w, r0.w, r2.w
- add [precise(w)] r2.w, r0.w, l(-0.500000)
- frc [precise(w)] r2.w, r2.w
- sample_indexable [precise(zw)](texture2d)(float,float,float,float) r6.zw, r1.zwzz, t16.zwxy, s0
- add [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
- mul [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
- mul [precise(zw)] r6.zw, r6.zzzw, cb6[10].yyyy
- mul [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, -1.000000, 1.000000)
- mul [precise(xy)] r7.xy, r2.wwww, r6.zwzz
- add [precise(xy)] r7.xy, r6.xyxx, r7.xyxx
- add [precise(xy)] r7.xy, r7.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
- sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r7.zw, r7.xyxx, t17.zwxy, s9, cb1[134].x
- mul [precise(zw)] r7.zw, r7.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
- add [precise(xy)] r8.xy, r7.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
- dp2 [precise(w)] r2.w, r8.xyxx, r8.xyxx
- add [precise(w)] r2.w, -r2.w, l(1.000000)
- max [precise(w)] r2.w, r2.w, l(0.000000)
- sqrt [precise(z)] r8.z, r2.w
- frc [precise(w)] r0.w, r0.w
- mul [precise(zw)] r6.zw, r0.wwww, r6.zzzw
- add [precise(xy)] r6.xy, r6.xyxx, r6.zwzz
- sample_b_indexable [precise(zw)](texture2d)(float,float,float,float) r6.zw, r6.xyxx, t17.zwxy, s9, cb1[134].x
- mul [precise(zw)] r6.zw, r6.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000)
- add [precise(xy)] r9.xy, r6.zwzz, l(-1.000000, -1.000000, 0.000000, 0.000000)
- dp2 [precise(w)] r2.w, r9.xyxx, r9.xyxx
- add [precise(w)] r2.w, -r2.w, l(1.000000)
- max [precise(w)] r2.w, r2.w, l(0.000000)
- sqrt [precise(z)] r9.z, r2.w
- div [precise(w)] r0.w, r0.w, l(1.000000)
- frc [precise(w)] r0.w, r0.w
- mul [precise(w)] r2.w, r0.w, l(2.000000)
- add [precise(w)] r0.w, -r0.w, l(1.000000)
- mul [precise(w)] r0.w, r0.w, l(2.000000)
- round_ni [precise(w)] r3.w, r2.w
- add [precise(w)] r0.w, -r2.w, r0.w
- mul [precise(w)] r0.w, r0.w, r3.w
- add [precise(w)] r0.w, r0.w, r2.w
- add [precise(xyz)] r9.xyz, -r8.xyzx, r9.xyzx
- mul [precise(xyz)] r9.xyz, r0.wwww, r9.xyzx
- add [precise(xyz)] r8.xyz, r8.xyzx, r9.xyzx
- mul [precise(zw)] r6.zw, r1.zzzw, cb6[10].zzzz
- sample_indexable [precise(w)](texture2d)(float,float,float,float) r2.w, r6.zwzz, t18.xzwy, s0
- mul_sat [precise(w)] r3.w, r2.w, cb6[10].w
- add [precise(xyz)] r9.xyz, r4.xyzx, -cb1[59].xyzx
- dp3 [precise(w)] r5.w, r9.xyzx, r9.xyzx
- sqrt [precise(z)] r6.z, r5.w
- div_sat [precise(z)] r6.z, r6.z, cb6[11].x
- add [precise(w)] r6.w, -r6.z, l(1.000000)
- mul [precise(w)] r3.w, r3.w, r6.w
- add [precise(xyz)] r8.xyz, r8.xyzx, l(-0.000000, -0.000000, -1.000000, 0.000000)
- mul [precise(xyz)] r8.xyz, r3.wwww, r8.xyzx
- add [precise(xyz)] r8.xyz, r8.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
- add [precise(w)] r8.w, r8.z, l(1.000000)
- add [precise(zw)] r7.zw, r4.xxxy, -cb0[0].xxxy
- mul [precise(w)] r3.w, cb0[1].x, l(0.500000)
- add [precise(zw)] r7.zw, r3.wwww, r7.zzzw
- div [precise(zw)] r7.zw, r7.zzzw, cb0[1].xxxx
- sample_l_indexable [precise(xyz)](texture2d)(float,float,float,float) r10.xyz, r7.zwzz, t22.xyzw, s11, l(0.000000)
- add [precise(xy)] r11.xy, -r7.zwzz, l(1.000000, 1.000000, 0.000000, 0.000000)
- mul_sat [precise(xy)] r11.xy, r11.xyxx, cb0[1].yyyy
- mul_sat [precise(zw)] r11.zw, r7.zzzw, cb0[1].yyyy
- mul [precise(xy)] r11.xy, r11.zwzz, r11.xyxx
- mul [precise(w)] r3.w, r11.y, r11.x
- add [precise(xyz)] r10.xyz, r10.xyzx, l(-0.000000, -0.000000, -1.000000, 0.000000)
- mul [precise(xyz)] r10.xyz, r3.wwww, r10.xyzx
- add [precise(xyz)] r10.xyz, r10.xyzx, l(0.000000, 0.000000, 1.000000, 0.000000)
- dp3 [precise(w)] r6.w, r10.xyzx, r10.xyzx
- sqrt [precise(w)] r6.w, r6.w
- div [precise(xyz)] r10.xyz, r10.xyzx, r6.wwww
- mul [precise(xy)] r10.xy, r10.xyxx, l(-1.000000, -1.000000, 0.000000, 0.000000)
- dp3 [precise(w)] r6.w, r8.xywx, r10.xyzx
- mul [precise(xyz)] r8.xyz, r6.wwww, r8.xywx
- mul [precise(xyz)] r10.xyz, r8.wwww, r10.xyzx
- add [precise(xyz)] r8.xyz, r8.xyzx, -r10.xyzx
- mul [precise(xyz)] r8.xyz, r8.xyzx, cb1[128].wwww
- add [precise(xyz)] r8.xyz, r8.xyzx, cb1[128].xyzx
- dp3 [precise(w)] r6.w, r8.xyzx, r8.xyzx
- rsq [precise(w)] r6.w, r6.w
- mul [precise(xyz)] r8.xyz, r6.wwww, r8.xyzx
- mul [precise(xyz)] r10.xyz, r8.xxxx, v0.yzxy
- mul [precise(xyz)] r0.xyz, r0.xyzx, r8.yyyy
- add [precise(xyz)] r0.xyz, r0.xyzx, r10.xyzx
- mul [precise(xyz)] r8.xyz, r8.zzzz, v1.yzxy
- add [precise(xyz)] r0.xyz, r0.xyzx, r8.xyzx
- dp3 [precise(w)] r6.w, r0.zxyz, r0.zxyz
- rsq [precise(w)] r6.w, r6.w
- mul [precise(xyz)] r8.xyz, r0.xyzx, r6.wwww
- dp3 r8.w, cb1[14].xyzx, v1.xyzx
- add r8.w, -|r8.w|, l(1.000000)
- max r8.w, r8.w, l(0.000000)
- mul r8.w, r8.w, r8.w
- dp3 [precise(w)] r9.w, r8.zxyz, r5.xyzx
- max r10.x, r9.w, l(0.000000)
- add r10.y, -r10.x, l(1.000000)
- log r10.y, |r10.y|
- mul r10.y, r10.y, cb6[11].y
- exp r10.y, r10.y
- add r10.y, -r10.y, l(1.000000)
- mul r8.w, r8.w, r10.y
- add r10.yzw, cb6[5].xxyz, -cb6[6].xxyz
- mad r10.yzw, r8.wwww, r10.yyzw, cb6[6].xxyz
- sample_b_indexable [precise(x)](texture2d)(float,float,float,float) r7.x, r7.xyxx, t19.xyzw, s10, cb1[134].x
- sample_b_indexable [precise(x)](texture2d)(float,float,float,float) r6.x, r6.xyxx, t19.xyzw, s10, cb1[134].x
- add [precise(x)] r6.x, -r7.x, r6.x
- mul [precise(w)] r0.w, r0.w, r6.x
- add [precise(w)] r0.w, r0.w, r7.x
- sample_indexable [precise(z)](texture2d)(float,float,float,float) r1.z, r1.zwzz, t20.yzxw, s0
- sample_l_indexable [precise(w)](texture2d)(float,float,float,float) r1.w, r7.zwzz, t21.xyzw, s11, l(0.000000)
- add [precise(w)] r1.w, -r1.w, l(1.000000)
- mul [precise(w)] r1.w, r3.w, r1.w
- max [precise(z)] r1.z, r1.w, r1.z
- mul [precise(w)] r0.w, r0.w, r1.z
- add r7.xyz, -r10.yzwy, cb6[8].xyzx
- mad_sat r7.xyz, r0.wwww, r7.xyzx, r10.yzwy
- add [precise(z)] r1.z, -r2.w, l(1.000000)
- max [precise(z)] r1.z, r1.z, l(0.000000)
- mul [precise(z)] r1.z, r1.z, r1.z
- add [precise(z)] r1.z, r1.z, l(1.000000)
- mul [precise(z)] r1.z, r1.z, l(0.500000)
- mul [precise(z)] r1.z, r1.z, r6.z
- mul [precise(z)] r1.z, r1.z, l(0.200000)
- add [precise(z)] r1.z, r1.z, l(0.050000)
- add [precise(w)] r1.w, -r1.z, cb6[11].w
- mul [precise(w)] r0.w, r0.w, r1.w
- add_sat [precise(w)] r0.w, r0.w, r1.z
- div [precise(zw)] r1.zw, r2.xxxy, r2.zzzz
- mul [precise(zw)] r1.zw, r1.zzzw, cb1[58].xxxy
- add [precise(zw)] r1.zw, r1.zzzw, cb1[58].wwwz
- sample_l_indexable [precise(z)](texture2d)(float,float,float,float) r1.z, r1.zwzz, t5.yzxw, s4, l(0.000000)
- mul [precise(zw)] r1.zw, r1.zzzz, cb1[57].xxxz
- add [precise(z)] r1.z, r1.z, cb1[57].y
- add [precise(w)] r1.w, r1.w, -cb1[57].w
- div [precise(w)] r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
- add [precise(z)] r1.z, r1.w, r1.z
- add [precise(z)] r1.z, -r2.z, r1.z
- div_sat [precise(z)] r1.z, r1.z, cb6[12].y
- mul [precise(z)] r1.z, r1.z, cb6[12].z
- add [precise(w)] r1.w, r2.z, l(-12.000000)
- mul_sat [precise(w)] r1.w, r1.w, l(0.250000)
- mul_sat [precise(w)] r11.w, r1.w, r1.z
- mov_sat r1.z, cb6[11].z
- mul [precise(w)] r0.w, r0.w, cb1[129].y
- add [precise(w)] r0.w, r0.w, cb1[129].x
- add r2.xyw, r7.xyxz, l(-0.0203999989, -0.0203999989, 0.000000, -0.0203999989)
- mad r2.xyw, r1.zzzz, r2.xyxw, l(0.0203999989, 0.0203999989, 0.000000, 0.0203999989)
- mad r6.xyz, -r7.xyzx, r1.zzzz, r7.xyzx
- mad r6.xyz, r6.xyzx, cb1[126].wwww, cb1[126].xyzx
- mad r2.xyw, r2.xyxw, cb1[127].wwww, cb1[127].xyxz
- mul r1.zw, v2.xxxy, l(0.000000, 0.000000, 1.000000, 0.500000)
- mad r10.yz, v2.xxyx, l(0.000000, 1.000000, 0.500000, 0.000000), l(0.000000, 0.000000, 0.500000, 0.000000)
- mul r12.xyz, r8.zxyz, cb2[11].yzxy
- mad r12.xyz, cb2[11].xyzx, r8.xyzx, -r12.xyzx
- mul r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
- mad r13.xyz, cb2[11].wwww, r12.zxyz, r8.xyzx
- mul r14.xyz, r12.xyzx, cb2[11].xyzx
- mad r12.xyz, cb2[11].zxyz, r12.yzxy, -r14.xyzx
- add r12.xyz, r12.xyzx, r13.xyzx
- sample_indexable(texture2d)(float,float,float,float) r13.xyzw, r1.zwzz, t13.xyzw, s8
- sample_indexable(texture2d)(float,float,float,float) r14.xyzw, r10.yzyy, t13.xyzw, s8
- mad r1.z, r14.w, l(0.00392156886), r13.w
- add r1.z, r1.z, l(-0.00196078443)
- mad r1.z, r1.z, cb4[18].w, cb4[20].w
- mul r10.yzw, r13.xxyz, r13.xxyz
- mad r10.yzw, r10.yyzw, cb4[18].xxyz, cb4[20].xxyz
- exp r1.z, r1.z
- add r1.z, r1.z, l(-0.0185813606)
- mad r13.xyzw, r14.xyzw, cb4[19].xyzw, cb4[21].xyzw
- mov r12.w, l(1.000000)
- dp4 r1.w, r13.xyzw, r12.xyzw
- max r1.w, r1.w, l(0.000000)
- mul r1.z, r1.w, r1.z
- mul r10.yzw, r10.yyzw, r1.zzzz
- mul r10.yzw, r10.yyzw, cb1[147].xxyz
- lt r1.z, l(0.000000), cb1[156].y
- if_nz r1.z
- sample_indexable(texture2d)(float,float,float,float) r12.xyzw, v2.xyxx, t14.xyzw, s8
- mad r12.xyz, r12.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
- mul r13.x, r12.w, r12.w
- dp3 r1.z, r12.xyzx, r12.xyzx
- rsq r1.z, r1.z
- mul r12.xyz, r1.zzzz, r12.xyzx
- mad r1.z, -r12.w, r12.w, l(1.000000)
- mad r1.z, -r1.z, r1.z, l(1.000000)
- mad r0.xyz, r0.zxyz, r6.wwww, -r12.xyzx
- mad r14.xyz, r1.zzzz, r0.xyzx, r12.xyzx
- dp3_sat r0.x, r12.yzxy, r8.xyzx
- add r0.y, -r0.x, l(1.000000)
- mad r13.y, r1.z, r0.y, r0.x
- else
- mov r14.xyz, r8.zxyz
- mov r13.xy, l(1.000000,1.000000,0,0)
- endif
- mov r14.w, l(1.000000)
- dp4 r0.x, cb1[158].xyzw, r14.xyzw
- dp4 r0.y, cb1[159].xyzw, r14.xyzw
- dp4 r0.z, cb1[160].xyzw, r14.xyzw
- mul r12.xyzw, r14.yzzx, r14.xyzz
- dp4 r15.x, cb1[161].xyzw, r12.xyzw
- dp4 r15.y, cb1[162].xyzw, r12.xyzw
- dp4 r15.z, cb1[163].xyzw, r12.xyzw
- mul r1.z, r14.y, r14.y
- mad r1.z, r14.x, r14.x, -r1.z
- add r0.xyz, r0.xyzx, r15.xyzx
- mad r0.xyz, cb1[164].xyzx, r1.zzzz, r0.xyzx
- max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
- mul r0.xyz, r0.xyzx, cb1[157].xyzx
- mul r1.z, r13.y, r13.x
- mul r1.z, r1.z, cb2[19].z
- mul r0.xyz, r0.xyzx, r1.zzzz
- mad r0.xyz, r10.yzwy, cb2[19].yyyy, r0.xyzx
- dp3 r1.z, r0.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
- mul r0.xyz, r6.xyzx, r0.xyzx
- mad r10.yzw, r7.xxyz, l(0.000000, 2.040400, 2.040400, 2.040400), l(0.000000, -0.332400, -0.332400, -0.332400)
- mad r10.yzw, r7.xxyz, l(0.000000, -4.795100, -4.795100, -4.795100), r10.yyzw
- mad r7.xyz, r7.xyzx, l(2.755200, 2.755200, 2.755200, 0.000000), r10.yzwy
- add r7.xyz, r7.xyzx, l(1.332000, 1.332000, 1.332000, 0.000000)
- max r7.xyz, r7.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
- mul [precise(w)] r1.w, v5.w, cb3[3].x
- add [precise(w)] r1.w, r1.w, cb3[3].y
- log [precise(w)] r1.w, r1.w
- mul [precise(w)] r1.w, r1.w, cb3[3].z
- max [precise(w)] r1.w, r1.w, l(0.000000)
- ftou [precise(xyw)] r1.xyw, r1.xyxw
- iadd [precise(w)] r3.w, cb3[1].z, l(-1)
- umin [precise(w)] r1.w, r1.w, r3.w
- ushr [precise(xy)] r1.xy, r1.xyxx, cb3[2].xxxx
- imad [precise(y)] r1.y, r1.w, cb3[1].y, r1.y
- imad [precise(x)] r1.x, r1.y, cb3[1].x, r1.x
- mul [precise(y)] r1.y, r9.w, l(2.000000)
- mul [precise(yzw)] r10.yzw, r8.zzxy, r1.yyyy
- add [precise(xyz)] r5.xyz, -r5.xyzx, r10.yzwy
- min r1.y, r10.x, l(1.000000)
- iadd [precise(x)] r1.x, r1.x, cb3[0].w
- ishl [precise(w)] r1.w, r1.x, l(1)
- ld_indexable [precise(w)](buffer)(uint,uint,uint,uint) r1.w, r1.wwww, t0.yzwx
- umin [precise(w)] r1.w, r1.w, cb3[0].y
- bfi [precise(x)] r1.x, l(31), l(1), r1.x, l(1)
- ld_indexable [precise(x)](buffer)(uint,uint,uint,uint) r1.x, r1.xxxx, t0.xyzw
- log [precise(w)] r3.w, r0.w
- mul [precise(w)] r3.w, r3.w, l(1.200000)
- add [precise(w)] r3.w, -r3.w, l(1.000000)
- add [precise(w)] r6.w, cb1[165].z, l(-1.000000)
- add [precise(w)] r6.w, -r3.w, r6.w
- mov [precise(x)] r10.x, l(0)
- mov [precise(w)] r7.w, l(1.000000)
- mov [precise(w)] r8.w, l(0)
- mov [precise(w)] r9.w, l(1.000000)
- mov [precise] r12.xyzw, l(0,0,0,0)
- loop
- uge [precise(x)] r13.x, r12.w, r1.w
- breakc_nz r13.x
- lt [precise(x)] r13.x, r7.w, l(0.001000)
- lt [precise(y)] r13.y, r9.w, l(0.001000)
- or [precise(x)] r13.x, r13.y, r13.x
- if_nz r13.x
- break
- endif
- iadd [precise(x)] r13.x, r1.x, r12.w
- ld_indexable [precise(x)](buffer)(uint,uint,uint,uint) r13.x, r13.xxxx, t1.xyzw
- add [precise(yzw)] r13.yzw, r4.xxyz, -cb5[r13.x + 0].xxyz
- dp3 [precise(x)] r14.x, r13.yzwy, r13.yzwy
- sqrt [precise(x)] r14.x, r14.x
- and [precise(y)] r14.y, l(0x0000ffff), cb5[r13.x + 341].w
- lt [precise(z)] r14.z, r14.x, cb5[r13.x + 0].w
- ine [precise(y)] r14.y, r14.y, l(0)
- and [precise(y)] r14.y, r14.y, r14.z
- if_nz r14.y
- ushr [precise(y)] r14.y, cb5[r13.x + 341].w, l(16)
- ishl [precise(z)] r14.z, r13.x, l(2)
- if_nz r14.y
- mul [precise(xyz)] r15.xyz, r4.xxxx, cb5[r14.z + 1023].xyzx
- mul [precise(xyz)] r16.xyz, r4.yyyy, cb5[r14.z + 1024].xyzx
- add [precise(xyz)] r15.xyz, r15.xyzx, r16.xyzx
- mul [precise(xyz)] r16.xyz, r4.zzzz, cb5[r14.z + 1025].xyzx
- add [precise(xyz)] r15.xyz, r15.xyzx, r16.xyzx
- add [precise(xyz)] r15.xyz, r15.xyzx, cb5[r14.z + 1026].xyzx
- mul [precise(xyz)] r16.xyz, r5.xxxx, cb5[r14.z + 1023].xyzx
- mul [precise(xyz)] r17.xyz, r5.yyyy, cb5[r14.z + 1024].xyzx
- add [precise(xyz)] r16.xyz, r16.xyzx, r17.xyzx
- mul [precise(xyz)] r17.xyz, r5.zzzz, cb5[r14.z + 1025].xyzx
- add [precise(xyz)] r16.xyz, r16.xyzx, r17.xyzx
- rcp [precise(xyz)] r16.xyz, r16.xyzx
- mul [precise(xyz)] r17.xyz, r15.xyzx, r16.xyzx
- add [precise(xyz)] r18.xyz, -r16.xyzx, -r17.xyzx
- add [precise(xyz)] r16.xyz, r16.xyzx, -r17.xyzx
- max [precise(xyz)] r16.xyz, r16.xyzx, r18.xyzx
- min [precise(y)] r14.y, r16.z, r16.y
- min [precise(y)] r14.y, r14.y, r16.x
- mul [precise(xyz)] r16.xyz, r5.xyzx, r14.yyyy
- add [precise(xyz)] r16.xyz, r4.xyzx, r16.xyzx
- add [precise(xyz)] r17.xyz, cb5[r13.x + 0].xyzx, cb5[r13.x + 682].xyzx
- add [precise(xyz)] r16.xyz, r16.xyzx, -r17.xyzx
- f16tof32 [precise(xyz)] r17.xyz, cb5[r13.x + 2728].xyzx
- ushr [precise(xyz)] r18.xyz, cb5[r13.x + 2728].xyzx, l(16, 16, 16, 0)
- f16tof32 [precise(xyz)] r18.xyz, r18.xyzx
- mul [precise(xyz)] r17.xyz, r17.xyzx, cb5[r13.x + 2387].xyzx
- mul [precise(xyz)] r18.xyz, r18.xyzx, cb5[r13.x + 2387].xyzx
- mul [precise(xyz)] r15.xyz, r15.xyzx, cb5[r13.x + 2387].xyzx
- add [precise(xyz)] r19.xyz, r17.xyzx, -cb5[r13.x + 2387].xyzx
- add [precise(xyz)] r20.xyz, -r18.xyzx, cb5[r13.x + 2387].xyzx
- add [precise(xyz)] r19.xyz, -r15.xyzx, r19.xyzx
- div_sat [precise(xyz)] r17.xyz, r19.xyzx, r17.xyzx
- add [precise(xyz)] r15.xyz, r15.xyzx, -r20.xyzx
- div_sat [precise(xyz)] r15.xyz, r15.xyzx, r18.xyzx
- max [precise(xyz)] r15.xyz, r15.xyzx, r17.xyzx
- add [precise(xyz)] r15.xyz, -r15.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
- mul [precise(y)] r14.y, r15.y, r15.x
- mul [precise(y)] r14.y, r15.z, r14.y
- add [precise(y)] r14.y, -r14.y, l(1.000000)
- mul [precise(y)] r14.y, r14.y, l(1.42857146)
- min [precise(y)] r14.y, r14.y, l(1.000000)
- mul [precise(w)] r14.w, r14.y, l(-2.000000)
- add [precise(w)] r14.w, r14.w, l(3.000000)
- mul [precise(y)] r14.y, r14.y, r14.y
- mul [precise(y)] r14.y, r14.y, r14.w
- add [precise(w)] r16.w, -r14.y, l(1.000000)
- else
- div_sat [precise(x)] r14.x, r14.x, cb5[r13.x + 0].w
- mul [precise(xyz)] r15.xyz, r5.xxxx, cb5[r14.z + 1023].xyzx
- mul [precise(xyz)] r17.xyz, r5.yyyy, cb5[r14.z + 1024].xyzx
- add [precise(xyz)] r15.xyz, r15.xyzx, r17.xyzx
- mul [precise(xyz)] r17.xyz, r5.zzzz, cb5[r14.z + 1025].xyzx
- add [precise(yzw)] r10.yzw, r15.xxyz, r17.xxyz
- mul [precise(y)] r14.y, cb5[r13.x + 0].w, cb5[r13.x + 0].w
- mul [precise(xyz)] r15.xyz, r13.yyyy, cb5[r14.z + 1023].xyzx
- mul [precise(xyz)] r17.xyz, r13.zzzz, cb5[r14.z + 1024].xyzx
- add [precise(xyz)] r15.xyz, r15.xyzx, r17.xyzx
- mul [precise(yzw)] r13.yzw, r13.wwww, cb5[r14.z + 1025].xxyz
- add [precise(yzw)] r13.yzw, r13.yyzw, r15.xxyz
- dp3 [precise(z)] r14.z, r13.yzwy, r13.yzwy
- dp3 [precise(w)] r14.w, r10.yzwy, r13.yzwy
- add [precise(y)] r14.y, -r14.y, r14.z
- mul [precise(z)] r14.z, r14.w, r14.w
- add [precise(y)] r14.y, -r14.y, r14.z
- ge [precise(z)] r14.z, r14.y, l(0.000000)
- sqrt [precise(y)] r14.y, r14.y
- add [precise(y)] r14.y, -r14.w, r14.y
- mul [precise(xyz)] r15.xyz, r10.yzwy, r14.yyyy
- add [precise(yzw)] r13.yzw, r13.yyzw, r15.xxyz
- add [precise(yzw)] r15.yzw, r13.yyzw, -cb5[r13.x + 682].xxyz
- mul [precise(y)] r13.y, r14.x, l(2.500000)
- add [precise(y)] r13.y, r13.y, l(-1.500000)
- max [precise(y)] r13.y, r13.y, l(0.000000)
- mul [precise(z)] r13.z, r13.y, r13.y
- mul [precise(y)] r13.y, r13.y, l(2.000000)
- add [precise(y)] r13.y, -r13.y, l(3.000000)
- mul [precise(y)] r13.y, r13.y, r13.z
- add [precise(x)] r15.x, -r13.y, l(1.000000)
- movc [precise] r16.xyzw, r14.zzzz, r15.yzwx, r10.yzwx
- endif
- mul [precise(y)] r10.y, r16.w, cb5[r13.x + 341].z
- mov [precise(w)] r16.w, cb5[r13.x + 341].y
- sample_l_indexable [precise](texturecubearray)(float,float,float,float) r14.xyzw, r16.xyzw, t3.xyzw, s3, r6.w
- add [precise(yzw)] r13.yzw, r14.xxyz, l(0.000000, -1.000000, -1.000000, -1.000000)
- div [precise(yzw)] r13.yzw, -r14.xxyz, r13.yyzw
- mul [precise(z)] r10.z, cb5[r13.x + 341].x, cb5[r13.x + 682].w
- mul [precise(xyz)] r14.xyz, r10.zzzz, r13.yzwy
- mul [precise] r14.xyzw, r10.yyyy, r14.xyzw
- mul [precise(yzw)] r13.yzw, r7.wwww, r14.xxyz
- add [precise(xyz)] r12.xyz, r12.xyzx, r13.yzwy
- add [precise(z)] r10.z, -r14.w, l(1.000000)
- mul [precise(w)] r7.w, r7.w, r10.z
- mul [precise(z)] r10.z, r10.y, cb5[r13.x + 682].w
- mul [precise(z)] r10.z, r9.w, r10.z
- add [precise(w)] r8.w, r8.w, r10.z
- add [precise(y)] r10.y, -r10.y, l(1.000000)
- mul [precise(w)] r9.w, r9.w, r10.y
- endif
- iadd [precise(w)] r12.w, r12.w, l(1)
- endloop
- mul r10.xyz, r12.xyzx, cb1[147].xyzx
- dp3 r1.x, cb1[147].xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
- mul r10.w, r1.x, r8.w
- lt [precise(x)] r1.x, l(0.000000), cb3[80].y
- if_nz r1.x
- add [precise(x)] r1.x, cb3[80].x, l(-1.000000)
- add [precise(x)] r1.x, -r3.w, r1.x
- sample_l_indexable [precise(xyz)](texturecube)(float,float,float,float) r12.xyz, r5.xyzx, t2.xyzw, s2, r1.x
- dp3 r1.x, cb1[157].xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
- mul r1.x, r1.x, cb3[81].x
- mul [precise(xyz)] r12.xyz, r12.xyzx, cb1[157].xyzx
- lt [precise(w)] r1.w, cb3[80].z, l(1.000000)
- mad r13.xyz, r7.wwww, r12.xyzx, r10.xyzx
- mad r13.w, r1.x, r9.w, r10.w
- movc [precise(xyz)] r12.xyz, r1.wwww, l(0,0,0,0), r12.xyzx
- movc r10.xyzw, r1.wwww, r13.xyzw, r10.xyzw
- else
- mov r12.xyz, l(0,0,0,0)
- endif
- mad_sat r1.x, r0.w, cb1[167].x, cb1[167].y
- mad r1.w, r1.x, l(-2.000000), l(3.000000)
- mul r1.x, r1.x, r1.x
- mul r1.x, r1.x, r1.w
- max r1.w, r10.w, l(0.000100)
- div r1.w, r1.z, r1.w
- min r1.w, r1.w, cb1[167].z
- add r1.w, r1.w, l(-1.000000)
- mad r1.x, r1.x, r1.w, l(1.000000)
- mul r12.xyz, r7.wwww, r12.xyzx
- mad r10.xyz, r10.xyzx, r1.xxxx, r12.xyzx
- mul r12.xyzw, r2.yxyw, l(50.000000, 0.450000, 0.450000, 0.450000)
- mad r1.xzw, r12.yyzw, r1.zzzz, -r10.xxyz
- mad r1.xzw, cb1[154].wwww, r1.xxzw, r10.xxyz
- lt [precise(w)] r3.w, l(0.000000), cb1[146].y
- eq [precise(w)] r6.w, cb1[135].y, l(0.000000)
- and [precise(w)] r3.w, r3.w, r6.w
- if_nz r3.w
- utof [precise(w)] r3.w, cb1[135].x
- mul [precise(xy)] r10.xy, r3.wwww, l(32.665001, 11.815000, 0.000000, 0.000000)
- add [precise(xy)] r10.xy, r10.xyxx, v5.xyxx
- dp2 [precise(w)] r3.w, r10.xyxx, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
- frc [precise(w)] r3.w, r3.w
- mul [precise(w)] r3.w, r3.w, l(52.982918)
- frc [precise(w)] r3.w, r3.w
- add [precise(w)] r3.w, r3.w, l(-0.500000)
- //Screen space reflections fix.
- mul [precise] r10.xyzw, r27.xxxx, cb1[8].xyzw
- mul [precise] r13.xyzw, r27.yyyy, cb1[9].xyzw
- add [precise] r10.xyzw, r10.xyzw, r13.xyzw
- mul [precise] r13.xyzw, r27.zzzz, cb1[10].xyzw
- add [precise] r10.xyzw, r10.xyzw, r13.xyzw
- add [precise] r10.xyzw, r10.xyzw, cb1[11].xyzw
- mul [precise(xyz)] r3.xyz, r2.zzzz, r5.xyzx
- mul [precise] r13.xyzw, r3.xxxx, cb1[8].xyzw
- mul [precise] r14.xyzw, r3.yyyy, cb1[9].xyzw
- add [precise] r13.xyzw, r13.xyzw, r14.xyzw
- mul [precise] r14.xyzw, r3.zzzz, cb1[10].xyzw
- add [precise] r13.xyzw, r13.xyzw, r14.xyzw
- mul [precise] r14.xyzw, cb1[11].xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
- add [precise] r13.xyzw, r13.xyzw, r14.xyzw
- add [precise] r13.xyzw, r10.xyzw, r13.xyzw
- mul [precise] r14.xyzw, r10.xxxx, cb1[24].xyzw
- mul [precise] r15.xyzw, r10.yyyy, cb1[25].xyzw
- add [precise] r14.xyzw, r14.xyzw, r15.xyzw
- mul [precise] r15.xyzw, r10.zzzz, cb1[26].xyzw
- add [precise] r14.xyzw, r14.xyzw, r15.xyzw
- mul [precise] r10.xyzw, r10.wwww, cb1[27].xyzw
- add [precise] r10.xyzw, r10.xyzw, r14.xyzw
- mul [precise] r14.xyzw, r13.xxxx, cb1[24].xyzw
- mul [precise] r15.xyzw, r13.yyyy, cb1[25].xyzw
- add [precise] r14.xyzw, r14.xyzw, r15.xyzw
- mul [precise] r15.xyzw, r13.zzzz, cb1[26].xyzw
- add [precise] r14.xyzw, r14.xyzw, r15.xyzw
- mul [precise] r13.xyzw, r13.wwww, cb1[27].xyzw
- add [precise] r13.xyzw, r13.xyzw, r14.xyzw
- //Screen space reflections.
- mad r10.x, r24.x, r10.w, r10.x
- mad r13.x, r24.x, r13.w, r13.x
- div [precise(xyz)] r3.xyz, r10.xyzx, r10.wwww
- div [precise(xyz)] r5.xyz, r13.xyzx, r13.wwww
- mul [precise(xy)] r10.xy, cb1[24].zwzz, l(0.000000, 0.000000, 0.000000, 0.000000)
- mul [precise(yz)] r12.yz, cb1[25].zzwz, l(0.000000, 0.000000, 0.000000, 0.000000)
- add [precise(xy)] r10.xy, r10.xyxx, r12.yzyy
- mul [precise(yz)] r12.yz, r2.zzzz, cb1[26].zzwz
- add [precise(xy)] r10.xy, r10.xyxx, r12.yzyy
- mul [precise(yz)] r12.yz, cb1[27].zzwz, l(0.000000, 0.000000, 0.000000, 0.000000)
- add [precise(xy)] r10.xy, r10.xyxx, r12.yzyy
- add [precise(xy)] r10.xy, r10.xyxx, r10.zwzz
- div [precise(z)] r2.z, r10.x, r10.y
- add [precise(xyz)] r5.xyz, -r3.xyzx, r5.xyzx
- dp2 [precise(w)] r6.w, r5.xyxx, r5.xyxx
- sqrt [precise(w)] r6.w, r6.w
- mul [precise(w)] r6.w, r6.w, l(0.500000)
- mul [precise(xy)] r10.xy, r3.xyxx, r6.wwww
- add [precise(xy)] r10.xy, r5.xyxx, r10.xyxx
- add [precise(xy)] r10.xy, -r6.wwww, |r10.xyxx|
- max [precise(xy)] r10.xy, r10.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
- add [precise(xy)] r10.xy, |r5.xyxx|, -r10.xyxx
- div [precise(xy)] r10.xy, r10.xyxx, |r5.xyxx|
- min [precise(w)] r7.w, r10.y, r10.x
- div [precise(w)] r6.w, r7.w, r6.w
- mul [precise(xyz)] r5.xyz, r5.xyzx, r6.wwww
- mul [precise(xy)] r10.xy, r3.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
- add [precise(xy)] r10.xy, r10.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
- mul [precise(xy)] r3.xy, r10.xyxx, cb3[113].xyxx
- mul [precise(xy)] r10.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000)
- mul [precise(xy)] r5.xy, r10.xyxx, cb3[113].xyxx
- add [precise(z)] r2.z, -r2.z, r3.z
- mul [precise(z)] r2.z, r2.z, l(4.000000)
- max [precise(z)] r2.z, r2.z, |r5.z|
- mul [precise(z)] r2.z, r2.z, l(0.0833333358)
- mul [precise(xyz)] r5.xyz, r5.xyzx, l(0.0833333358, 0.0833333358, 0.0833333358, 0.000000)
- mul [precise(xyz)] r10.xyz, r3.wwww, r5.xyzx
- add [precise(xyz)] r3.xyz, r3.xyzx, r10.xyzx
- mul [precise] r10.xyzw, r5.xyxy, l(1.000000, 1.000000, 2.000000, 2.000000)
- mul [precise] r13.xyzw, r5.xyxy, l(3.000000, 3.000000, 4.000000, 4.000000)
- mul [precise] r14.xyzw, r5.zzzz, l(1.000000, 2.000000, 3.000000, 4.000000)
- mul [precise(yzw)] r12.yzw, r5.xxyz, l(0.000000, 4.000000, 4.000000, 4.000000)
- mov [precise(z)] r15.z, l(2.000000)
- mov [precise(z)] r16.z, l(3.000000)
- mov [precise(z)] r17.z, l(1.000000)
- mov [precise(z)] r18.z, l(0)
- mov [precise(xyz)] r19.xyz, l(0,0,0,0)
- mov [precise(w)] r3.w, l(1.000000)
- mov [precise(x)] r18.x, l(0)
- mov [precise(xyz)] r20.xyz, r3.xyzx
- mov [precise(w)] r6.w, l(0)
- loop
- ige [precise(w)] r7.w, r6.w, l(12)
- breakc_nz r7.w
- add [precise] r21.xyzw, r10.xyzw, r20.xyxy
- add [precise] r22.xyzw, r13.xyzw, r20.xyxy
- add [precise] r23.xyzw, r14.xyzw, r20.zzzz
- sample_l_indexable [precise(x)](texture2d)(float,float,float,float) r24.x, r21.xyxx, t6.xyzw, s5, l(1.000000)
- sample_l_indexable [precise(y)](texture2d)(float,float,float,float) r24.y, r21.zwzz, t6.yxzw, s5, l(1.000000)
- sample_l_indexable [precise(z)](texture2d)(float,float,float,float) r24.z, r22.xyxx, t6.yzxw, s5, l(1.000000)
- sample_l_indexable [precise(w)](texture2d)(float,float,float,float) r24.w, r22.zwzz, t6.yzwx, s5, l(1.000000)
- add [precise] r21.xyzw, r23.xyzw, -r24.xyzw
- add [precise] r22.xyzw, -r2.zzzz, -r21.xyzw
- lt [precise] r22.xyzw, |r22.xyzw|, r2.zzzz
- or [precise(xy)] r23.xy, r22.zwzz, r22.xyxx
- or [precise(w)] r7.w, r23.y, r23.x
- if_nz r7.w
- mov [precise(xy)] r15.xy, r21.yzyy
- mov [precise(xy)] r16.xy, r21.zwzz
- movc [precise(xyw)] r15.xyw, r22.zzzz, r15.xyxz, r16.xyxz
- mov [precise(xy)] r17.xy, r21.xyxx
- movc [precise(xyw)] r15.xyw, r22.yyyy, r17.xyxz, r15.xyxw
- mov [precise(y)] r18.y, r17.x
- movc [precise(xyw)] r15.xyw, r22.xxxx, r18.xyxz, r15.xyxw
- add [precise(w)] r7.w, -r15.y, r15.x
- div_sat [precise(w)] r7.w, r15.x, r7.w
- add [precise(w)] r7.w, r7.w, r15.w
- mul [precise(xyw)] r15.xyw, r5.xyxz, r7.wwww
- add [precise(xyz)] r19.xyz, r15.xywx, r20.xyzx
- mov [precise(w)] r3.w, l(0.500000)
- break
- endif
- add [precise(xyz)] r20.xyz, r12.yzwy, r20.xyzx
- mov [precise(x)] r18.x, r21.w
- iadd [precise(w)] r6.w, r6.w, l(4)
- mov [precise(xyz)] r19.xyz, l(0,0,0,0)
- mov [precise(w)] r3.w, l(1.000000)
- endloop
- lt [precise(z)] r2.z, r3.w, l(1.000000)
- if_nz r2.z
- mul [precise(xy)] r3.xy, r19.xyxx, cb3[113].zwzz
- mul [precise(xy)] r3.xy, r3.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000)
- add [precise(xy)] r3.xy, r3.xyxx, l(-1.000000, 1.000000, 0.000000, 0.000000)
- mul [precise(xy)] r3.xy, r3.xyxx, cb1[58].xyxx
- add [precise(xy)] r3.xy, r3.xyxx, cb1[58].wzww
- add [precise(xy)] r3.xy, r3.xyxx, -cb1[58].wzww
- div [precise(xy)] r3.xy, r3.xyxx, cb1[58].xyxx
- mul [precise(xyz)] r5.xyz, r3.xxxx, cb1[114].xywx
- mul [precise(xyz)] r10.xyz, r3.yyyy, cb1[115].xywx
- add [precise(xyz)] r5.xyz, r5.xyzx, r10.xyzx
- mul [precise(xyz)] r10.xyz, r19.zzzz, cb1[116].xywx
- add [precise(xyz)] r5.xyz, r5.xyzx, r10.xyzx
- add [precise(xyz)] r5.xyz, r5.xyzx, cb1[117].xywx
- div [precise(zw)] r3.zw, r5.xxxy, r5.zzzz
- mad r5.xy, r3.zwzz, cb3[114].xyxx, cb3[114].zwzz
- mul [precise(xy)] r3.xy, |r3.xyxx|, l(5.000000, 5.000000, 0.000000, 0.000000)
- add_sat [precise(xy)] r3.xy, r3.xyxx, l(-4.000000, -4.000000, 0.000000, 0.000000)
- dp2 [precise(z)] r2.z, r3.xyxx, r3.xyxx
- add [precise(z)] r2.z, -r2.z, l(1.000000)
- max [precise(z)] r2.z, r2.z, l(0.000000)
- mul [precise(xy)] r3.xy, |r3.zwzz|, l(5.000000, 5.000000, 0.000000, 0.000000)
- add_sat [precise(xy)] r3.xy, r3.xyxx, l(-4.000000, -4.000000, 0.000000, 0.000000)
- dp2 [precise(x)] r3.x, r3.xyxx, r3.xyxx
- add [precise(x)] r3.x, -r3.x, l(1.000000)
- max [precise(x)] r3.x, r3.x, l(0.000000)
- min r2.z, r2.z, r3.x
- mul r3.xy, r5.xyxx, cb3[116].xyxx
- sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.xyxx, t12.xyzw, s7, l(0.000000)
- lt r3.x, l(0.000000), r3.x
- if_nz r3.x
- sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r5.xyxx, t7.xyzw, s6, l(0.000000)
- min r3.xyz, -r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
- mad_sat r3.w, l(-6.600000), r0.w, l(2.000000)
- mul r2.z, r2.z, r3.w
- mov r3.w, l(1.000000)
- mul r3.xyz, r2.zzzz, -r3.xyzx
- mul r3.xyz, r3.xyzx, cb3[117].xxxx
- mad r2.z, -r3.w, r2.z, l(1.000000)
- mad r1.xzw, r1.xxzw, r2.zzzz, r3.xxyz
- endif
- endif
- endif
- mad r3.xyzw, r0.wwww, l(-1.000000, -0.027500, -0.572000, 0.022000), l(1.000000, 0.042500, 1.040000, -0.040000)
- mul r2.z, r3.x, r3.x
- mul r1.y, r1.y, l(-9.280000)
- exp r1.y, r1.y
- min r1.y, r1.y, r2.z
- mad r1.y, r1.y, r3.x, r3.y
- mad r3.xy, r1.yyyy, l(-1.040000, 1.040000, 0.000000, 0.000000), r3.zwzz
- mov_sat r12.x, r12.x
- mul r1.y, r3.y, r12.x
- mad r3.xyz, r2.xywx, r3.xxxx, r1.yyyy
- dp3 r1.y, cb0[9].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
- lt r1.y, l(0.000100), |r1.y|
- if_nz r1.y
- mov r4.w, l(-1.000000)
- dp4 r1.y, cb0[9].xyzw, r4.xyzw
- mad_sat r1.y, |r1.y|, cb0[16].x, cb0[16].y
- add r1.y, -r1.y, l(1.000000)
- add r5.xyz, r34.xyzx, -cb0[10].xyzx
- dp3 r2.z, r5.xyzx, cb0[11].xyzx
- add r2.z, -|r2.z|, cb0[11].w
- mul_sat r2.z, r2.z, cb0[16].x
- dp3 r3.w, r5.xyzx, cb0[12].xyzx
- add r3.w, -|r3.w|, cb0[12].w
- mul_sat r3.w, r3.w, cb0[16].x
- mul r2.z, r2.z, r3.w
- mul r1.y, r1.y, r2.z
- lt r2.z, l(0.000000), r1.y
- if_nz r2.z
- rsq r2.z, r5.w
- mul r5.xyz, r2.zzzz, r9.xyzx
- dp3 r2.z, r5.xyzx, -cb0[9].xyzx
- add r2.z, r2.z, r2.z
- mad r5.xyz, cb0[9].xyzx, r2.zzzz, r5.xyzx
- mul r9.xyz, r8.xxxx, cb0[14].xyzx
- mad r9.xyz, r8.zzzz, cb0[13].xyzx, r9.xyzx
- mad r9.xyz, r8.yyyy, cb0[15].xyzx, r9.xyzx
- dp3 r2.z, r5.xyzx, r9.xyzx
- add r2.z, r2.z, r2.z
- mad r5.xyz, r9.xyzx, -r2.zzzz, r5.xyzx
- mad r5.xyz, r5.xyzx, cb0[16].zzzz, r34.xyzx
- add r5.xyz, r5.xyzx, cb1[62].xyzx
- mul r9.xyz, r5.yyyy, cb1[9].xyzx
- mad r5.xyw, r5.xxxx, cb1[8].xyxz, r9.xyxz
- mad r5.xyz, r5.zzzz, cb1[10].xyzx, r5.xywx
- add r5.xyz, r5.xyzx, cb1[11].xyzx
- ishl r2.z, cb1[167].w, l(2)
- mul r9.xyz, r5.yyyy, cb0[r2.z + 19].xywx
- mad r5.xyw, r5.xxxx, cb0[r2.z + 18].xyxw, r9.xyxz
- mad r5.xyz, r5.zzzz, cb0[r2.z + 20].xywx, r5.xywx
- add r5.xyz, r5.xyzx, cb0[r2.z + 21].xywx
- movc r2.z, cb0[28].z, cb1[167].w, l(0)
- div r5.xy, r5.xyxx, r5.zzzz
- max r5.xy, r5.xyxx, -cb0[28].xyxx
- min r5.xy, r5.xyxx, cb0[28].xyxx
- mad r5.xy, r5.xyxx, cb0[r2.z + 26].xyxx, cb0[r2.z + 26].zwzz
- dp3 r2.z, cb0[9].yzxy, r8.xyzx
- mad_sat r2.z, r2.z, cb0[17].x, cb0[17].y
- add r0.w, r0.w, l(-0.200000)
- mul_sat r0.w, r0.w, l(10.000000)
- add r0.w, -r0.w, l(1.000000)
- mul r1.y, r1.y, r2.z
- mul r0.w, r0.w, r1.y
- sample_l_indexable(texture2d)(float,float,float,float) r5.xyzw, r5.xyxx, t23.xyzw, s3, l(0.000000)
- mul r0.w, r0.w, r5.w
- mul r5.xyz, r0.wwww, r5.xyzx
- else
- mov r5.xyz, l(0,0,0,0)
- mov r0.w, l(0)
- endif
- add r0.w, -r0.w, l(1.000000)
- mad r1.xzw, r0.wwww, r1.xxzw, r5.xxyz
- endif
- mul r1.xyz, r3.xyzx, r1.xzwx
- mad r3.xyz, r2.xywx, l(2.040400, 2.040400, 2.040400, 0.000000), l(-0.332400, -0.332400, -0.332400, 0.000000)
- mad r3.xyz, r2.xywx, l(-4.795100, -4.795100, -4.795100, 0.000000), r3.xyzx
- mad r3.xyz, r2.xywx, l(2.755200, 2.755200, 2.755200, 0.000000), r3.xyzx
- add r3.xyz, r3.xyzx, l(1.332000, 1.332000, 1.332000, 0.000000)
- max r3.xyz, r3.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
- lt r0.w, l(0.000000), cb3[91].w
- if_nz r0.w
- mul r5.xyz, r4.yyyy, cb1[5].xywx
- mad r5.xyz, r4.xxxx, cb1[4].xywx, r5.xyzx
- mad r5.xyz, r4.zzzz, cb1[6].xywx, r5.xyzx
- add r5.xyz, r5.xyzx, cb1[7].xywx
- div r5.xy, r5.xyxx, r5.zzzz
- mad r9.xy, r5.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
- mad r0.w, r5.z, cb1[178].x, cb1[178].y
- log r0.w, r0.w
- mul r0.w, r0.w, cb1[178].z
- mul r9.z, r0.w, cb1[177].z
- sample_l_indexable(texture3d)(float,float,float,float) r5.xyzw, r9.xyzx, t4.xyzw, s1, l(0.000000)
- mul r9.x, r5.w, v3.w
- mad r5.xyz, v3.xyzx, r5.wwww, r5.xyzx
- else
- mov r5.xyz, v3.xyzx
- mov r9.x, v3.w
- endif
- resinfo_indexable [precise(w)](texture3d)(float,float,float,float)_uint r0.w, l(0), t9.yzwx
- uge [precise(w)] r0.w, l(1), r0.w
- mul r9.yzw, r4.yyyy, cb1[5].xxyw
- mad r9.yzw, r4.xxxx, cb1[4].xxyw, r9.yyzw
- mad r9.yzw, r4.zzzz, cb1[6].xxyw, r9.yyzw
- add r9.yzw, r9.yyzw, cb1[7].xxyw
- div r9.yz, r9.yyzy, r9.wwww
- mad r9.yz, r9.yyzy, l(0.000000, 0.500000, -0.500000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
- mad r1.w, r9.w, cb1[178].x, cb1[178].y
- log r1.w, r1.w
- mul r1.w, r1.w, cb1[178].z
- mul r10.z, r1.w, cb1[177].z
- mad r9.yz, r9.yyzy, cb1[122].xxyx, -cb1[121].xxyx
- mul r10.xy, r9.yzyy, cb1[179].xyxx
- add [precise(yzw)] r9.yzw, r4.xxyz, -cb1[138].xxyz
- mul [precise(yzw)] r9.yzw, r9.yyzw, cb1[140].xxyz
- add [precise(xyz)] r12.xyz, r4.xyzx, -cb1[139].xyzx
- mul [precise(xyz)] r12.xyz, r12.xyzx, cb1[141].xyzx
- add [precise(xyz)] r13.xyz, r9.yzwy, l(-0.500000, -0.500000, -0.500000, 0.000000)
- add [precise(xyz)] r13.xyz, -|r13.xyzx|, l(0.500000, 0.500000, 0.500000, 0.000000)
- mul_sat [precise(xyz)] r13.xyz, r13.xyzx, l(6.000000, 6.000000, 6.000000, 0.000000)
- mul [precise(w)] r1.w, r13.y, r13.x
- mul [precise(w)] r12.w, r13.z, r1.w
- movc r9.yzw, r0.wwww, r10.xxyz, r9.yyzw
- movc [precise] r10.xyzw, r0.wwww, l(0,0,0,1.000000), r12.xyzw
- sample_l_indexable(texture3d)(float,float,float,float) r12.xyz, r9.yzwy, t8.xyzw, s1, l(0.000000)
- sample_l_indexable(texture3d)(float,float,float,float) r13.xyz, r10.xyzx, t9.xyzw, s1, l(0.000000)
- add r12.xyz, r12.xyzx, -r13.xyzx
- mad r12.xyz, r10.wwww, r12.xyzx, r13.xyzx
- sample_l_indexable(texture3d)(float,float,float,float) r9.yzw, r9.yzwy, t10.wxyz, s1, l(0.000000)
- sample_l_indexable(texture3d)(float,float,float,float) r10.xyz, r10.xyzx, t11.xyzw, s1, l(0.000000)
- add r9.yzw, r9.yyzw, -r10.xxyz
- mad r9.yzw, r10.wwww, r9.yyzw, r10.xxyz
- dp3 r0.w, r12.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
- add r0.w, r0.w, l(0.000010)
- div r10.xyz, r12.xyzx, r0.wwww
- mul r13.yzw, r9.yyzw, r10.xxxx
- mul r14.yzw, r9.yyzw, r10.yyyy
- mul r10.yzw, r9.yyzw, r10.zzzz
- mul r8.yzw, r8.xxyz, l(0.000000, -1.02332771, 1.02332771, -1.02332771)
- mov r13.x, r12.x
- mov r8.x, l(0.886227548)
- dp4 r13.x, r13.xyzw, r8.xyzw
- mov r14.x, r12.y
- dp4 r13.y, r14.xyzw, r8.xyzw
- mov r10.x, r12.z
- dp4 r13.z, r10.xyzw, r8.xyzw
- max r8.xyz, r13.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
- mul r8.xyz, r6.xyzx, r8.xyzx
- mad r1.xyz, r1.xyzx, r3.xyzx, r8.xyzx
- mad r2.xyz, r2.xywx, l(0.450000, 0.450000, 0.450000, 0.000000), r6.xyzx
- add r2.xyz, -r1.xyzx, r2.xyzx
- mad r1.xyz, cb1[135].zzzz, r2.xyzx, r1.xyzx
- max [precise(xyz)] r2.xyz, cb6[2].xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
- mul [precise(xyz)] r11.xyz, r2.xyzx, l(250.000000, 250.000000, 250.000000, 0.000000)
- lt [precise(w)] r0.w, l(0.000000), cb1[131].z
- if_nz r0.w
- add [precise(xyz)] r2.xyz, r4.xyzx, -cb2[5].xyzx
- add [precise(xyz)] r3.xyz, cb2[13].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
- lt [precise(xyz)] r2.xyz, r3.xyzx, |r2.xyzx|
- or [precise(w)] r0.w, r2.y, r2.x
- or [precise(w)] r0.w, r2.z, r0.w
- dp3 [precise(w)] r1.w, r4.xyzx, l(0.577000, 0.577000, 0.577000, 0.000000)
- mul [precise(w)] r1.w, r1.w, l(0.002000)
- frc [precise(w)] r1.w, r1.w
- lt [precise(w)] r1.w, l(0.500000), r1.w
- movc [precise(yzw)] r2.yzw, r1.wwww, l(0,0,1.000000,1.000000), l(0,1.000000,1.000000,0)
- mov [precise(x)] r2.x, l(1.000000)
- movc [precise] r11.xyzw, r0.wwww, r2.yzwx, r11.xyzw
- mov [precise(w)] o0.w, r11.w
- else
- mov [precise(w)] o0.w, r11.w
- endif
- mad r0.xyz, r0.xyzx, r7.xyzx, r1.xyzx
- add r0.xyz, r11.xyzx, r0.xyzx
- mad r0.xyz, r0.xyzx, r9.xxxx, r5.xyzx
- mul o0.xyz, r0.xyzx, cb1[125].yyyy
- ret
- // Approximately 0 instruction slots used
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement