//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//
// Buffer Definitions: 
//
// cbuffer _Globals
// {
//
//   float pSSDOIntensity;              // Offset:    0 Size:     4 [unused]
//   float pSSDOAmount;                 // Offset:    4 Size:     4
//   float pSSDOBounceMultiplier;       // Offset:    8 Size:     4
//   float pSSDOBounceSaturation;       // Offset:   12 Size:     4
//   int pSSDOSampleAmount;             // Offset:   16 Size:     4
//   float pSSDOSampleRange;            // Offset:   20 Size:     4
//   int pSSDOSourceLOD;                // Offset:   24 Size:     4
//   int pSSDOBounceLOD;                // Offset:   28 Size:     4
//   float pSSDOFilterRadius;           // Offset:   32 Size:     4 [unused]
//   float pSSDOAngleThreshold;         // Offset:   36 Size:     4
//   float pSSDOFadeStart;              // Offset:   40 Size:     4
//   float pSSDOFadeEnd;                // Offset:   44 Size:     4
//   int pSSDODebugMode;                // Offset:   48 Size:     4 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim      HLSL Bind  Count
// ------------------------------ ---------- ------- ----------- -------------- ------
// __s0                              sampler      NA          NA             s0      1 
// __s1                              sampler      NA          NA             s1      1 
// __srgbV__texColorLOD              texture  float4          2d             t5      1 
// __V__texViewSpace                 texture  float4          2d             t8      1 
// __V__texNoise                     texture  float4          2d            t16      1 
// _Globals                          cbuffer      NA          NA            cb0      1 
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float       
// TEXCOORD                 0   xy          1     NONE   float   xy  
//
//
// 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[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t16
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 9
itof r0.xyz, cb0[1].zxwz
exp r0.w, r0.x
mul r1.xy, r0.wwww, l(0.000397, 0.000667, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r2.xyzw, v1.xyxx, t8.xyzw, s0
mul r1.zw, v1.xxxy, l(0.000000, 0.000000, 630.000000, 375.000000)
frc r1.zw, r1.zzzw
sample_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t16.yzxw, s1
mul r0.w, r0.w, r0.y
div r0.w, cb0[1].y, r0.w
mul r1.xy, r1.xyxx, r0.wwww
ge r0.w, r0.y, l(1.000000)
mul r1.zw, r1.zzzz, l(0.000000, 0.000000, 811.139771, 297.719177)
mul r3.x, cb0[1].y, l(0.000667)
mov r4.w, l(1.000000)
mov r3.yzw, l(0,0,0,0)
mov r5.x, l(1.000000)
mov r5.y, r0.w
loop 
  breakc_z r5.y
  mul r5.zw, r1.zzzw, r5.xxxx
  frc r5.zw, r5.zzzw
  mad r5.zw, r5.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
  dp2 r6.x, r5.zwzz, r5.zwzz
  rsq r6.x, r6.x
  mul r4.xy, r5.zwzz, r6.xxxx
  mov r4.z, -r4.y
  dp3 r5.z, r4.xzwx, r4.xzwx
  rsq r5.z, r5.z
  mul r6.xyz, r4.xzwx, r5.zzzz
  dp3 r4.z, r6.xyzx, r2.xyzx
  lt r5.z, l(0.000000), r4.z
  lt r4.z, r4.z, l(0.000000)
  iadd r4.z, -r5.z, r4.z
  itof r4.z, r4.z
  mul r4.xy, r4.zzzz, r4.xyxx
  mul r4.xy, r1.xyxx, r4.xyxx
  mul r4.xy, r5.xxxx, r4.xyxx
  div r4.z, r5.x, r0.y
  max r4.z, r4.z, l(0.750000)
  mul r6.x, r4.z, r4.x
  mad r4.xy, r4.xyxx, r4.zzzz, v1.xyxx
  sample_l_indexable(texture2d)(float,float,float,float) r7.xyzw, r4.xyxx, t8.xyzw, s0, r0.x
  sample_l_indexable(texture2d)(float,float,float,float) r8.xyz, r4.xyxx, t5.xyzw, s0, r0.z
  log r8.xyz, r8.xyzx
  mul r8.xyz, r8.xyzx, cb0[0].wwww
  exp r8.xyz, r8.xyzx
  dp3 r4.x, r8.xyzx, r8.xyzx
  rsq r4.x, r4.x
  mul r8.xyz, r4.xxxx, r8.xyzx
  mad r8.xyz, -r8.xyzx, cb0[0].zzzz, l(1.000000, 1.000000, 1.000000, 0.000000)
  add r6.z, -r4.y, v1.y
  add r7.xyzw, r2.wxyz, -r7.wxyz
  mul r4.xy, r2.wwww, r6.xzxx
  mov r4.z, r7.x
  dp3 r5.z, r4.xyzx, r4.xyzx
  rsq r5.w, r5.z
  mul r4.xyz, r4.xyzx, r5.wwww
  dp3 r4.x, r4.xyzx, r2.xyzx
  ge r4.x, r4.x, cb0[2].y
  and r4.x, r4.x, l(0x3f800000)
  dp3 r4.y, r7.yzwy, r7.yzwy
  sqrt r4.y, r4.y
  add r4.y, r4.y, l(-0.010000)
  max r4.y, r4.y, l(0.000000)
  lt r4.y, l(0.000000), r4.y
  itof r4.y, -r4.y
  mul r4.x, r4.y, r4.x
  sqrt r4.y, r5.z
  mad r4.y, cb0[1].y, l(0.000667), -r4.y
  max r4.y, r4.y, l(0.000000)
  div r4.y, r4.y, r3.x
  mul r6.xyz, r4.xxxx, r8.xyzx
  mul r4.x, r4.y, r4.y
  mul r4.xyz, r6.xyzx, r4.xxxx
  mad r3.yzw, r4.xxyz, cb0[0].yyyy, r3.yyzw
  add r5.x, r5.x, l(1.000000)
  ge r5.y, r0.y, r5.x
endloop 
div r0.xyz, r3.yzwy, r0.yyyy
add r0.w, -cb0[2].w, cb0[2].z
add r1.x, r2.w, -cb0[2].w
div r0.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul_sat r0.w, r0.w, r1.x
mad r1.x, r0.w, l(-2.000000), l(3.000000)
mul r0.w, r0.w, r0.w
mul r0.w, r0.w, r1.x
mad_sat o0.xyz, -r0.xyzx, r0.wwww, l(1.000000, 1.000000, 1.000000, 0.000000)
mov o0.w, r2.w
ret 
// Approximately 89 instruction slots used
