//Shadows PS from cache.
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v1.3.16 on Fri Jan 14 20:07:40 2022
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// Buffer Definitions:
//
// cbuffer ConstBuf__passData
// {
//
//   struct PassDataMirror
//   {
//
//       float4 mirrorPlaneWS;          // Index:    0
//       uint2 mirrorViewportResolution;// Index:    1
//       float depthBias;               // Index:    1.z
//       bool enableDepthMask;          // Index:    1.w
//
//   } resourceTables__passData;        // Index:    0 1              Components:     8
                                        // Texture:   t0
//
// }
//
// cbuffer ConstBuf__viewData
// {
//
//   struct ViewData
//   {
//
//       float4x4 view;                 // Index:    0
//       float4x4 invView;              // Index:    4
//       float4x4 proj;                 // Index:    8
//       float4x4 invViewProjNoZReproj; // Index:   12
//       float4x4 viewProj;             // Index:   16
//       float4x4 invViewProj;          // Index:   20
//       float4x4 previousViewProj;     // Index:   24
//       float4 prevLodEyePos;          // Index:   28
//       float4 lodEyePos;              // Index:   29
//       float4 viewDirDepthBias;       // Index:   30
//       float3 eyePos;                 // Index:   31
//       float2 viewportSize;           // Index:   32
//       float2 invViewportSize;        // Index:   32.z
//       float4 mirrorPlaneWS;          // Index:   33
//       float2 mirrorViewportSize;     // Index:   34
//       float2 opaqueRefractionViewportSize;// Index:   34.z
//       float windTime;                // Index:   35
//       float deltaTime;               // Index:   35.y
//       float depthReprojectScale;     // Index:   35.z
//       float depthReprojectBias;      // Index:   35.w
//       uint shadowViewType;           // Index:   36
//       float normalDepthBias;         // Index:   36.y
//       float noNormalAA;              // Index:   36.z
//       float noNormalFromAlpha;       // Index:   36.w
//       float noOpaqueTransparency;    // Index:   37
//       float translucentAmount;       // Index:   37.y
//       uint framePhase;               // Index:   37.z
//       float cameraAmbientExposure;   // Index:   37.w
//       float fxExposure;              // Index:   38
//       float fxAmbientExposure;       // Index:   38.y
//       uint checkerboardPhase;        // Index:   38.z
//       float sparkleIntensityScale;   // Index:   38.w
//
//   } resourceTables__viewData;        // Index:    0-38             Components:   156
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// resourceTables__viewData__smpLinearClamp    sampler      NA          NA    5        1
// resourceTables__passData.mainSceneDepth    texture  float4          2d    0        1
// resourceTables__passData.mirrorTexture        UAV  float4          2d    8        1
// ConstBuf__passData                cbuffer      NA          NA    0        1
// ConstBuf__viewData                cbuffer      NA          NA    3        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xyzw
// VERT_ID                  0   x           1     NONE    uint
// TEXCOORD                 0   xy          2     NONE   float
// NORMAL                   0   xyz         3     NONE   float
// TANGENT                  0   xyz         4     NONE   float
// BINORMAL                 0   xyz         5     NONE   float
// TEXCOORD                 8   xyz         6     NONE   float
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[2], immediateIndexed
dcl_constantbuffer cb3[36], immediateIndexed
dcl_sampler s5, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_uav_typed_texture2d (float,float,float,float) u8
dcl_input_ps_siv linear noperspective v0.xyzw, position
dcl_temps 50
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r40.xyzw, l(0, 0, 0, 0), t125.xyzw
if_nz cb0[1].w
  mul r0.xyzw, v0.xyyy, cb3[32].zwww
  mad r1.xy, r0.xwxx, l(2.000000, -2.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
  mad r1.z, v0.z, cb3[35].z, cb3[35].w
  rcp r1.z, r1.z
  mov r2.z, -r1.z
  mul r2.xy, r1.xyxx, r2.zzzz
  mov r2.w, l(1.000000)
  
add r40.w, r2.z, -r40.y
mad r2.x, -r40.x, r40.w, r2.x

dp4 r1.x, r2.xyzw, cb3[12].xyzw
  dp4 r1.y, r2.xyzw, cb3[13].xyzw
  dp4 r1.z, r2.xyzw, cb3[14].xyzw
  gather4_indexable(texture2d)(float,float,float,float) r2.xyzw, r0.xwxx, t0.xyzw, s5.x
  add r1.xyz, r1.xyzx, -cb3[31].xyzx
  
//Tessellation specular PS..
mul r41.xyz, r40.yyyy, cb3[16].xyzx
mul r41.w, cb3[16].x, cb3[16].x
mad r41.w, cb3[16].y, cb3[16].y, r41.w
mad r41.w, cb3[16].z, cb3[16].z, r41.w
div r41.xyz, r41.xyzx, r41.wwww
mad r1.x, -r40.x, r41.x, r1.x
mad r1.y, -r40.x, r41.y, r1.y
mad r1.z, -r40.x, r41.z, r1.z
  
  dp3 r1.w, r1.xyzx, r1.xyzx
  rsq r1.w, r1.w
  mul r1.xyz, r1.wwww, r1.xyzx
  dp3 r1.x, r1.xyzx, cb0[0].xyzx
  min r1.x, |r1.x|, l(1.000000)
  max r1.x, r1.x, l(0.001000)
  rcp r1.x, r1.x
  max r1.y, r2.z, r2.y
  max r1.y, r1.y, r2.x
  max r1.y, r1.y, r2.w
  mad r1.x, cb0[1].z, r1.x, r1.y
  lt r1.x, r1.x, v0.w
  if_nz r1.x
    utof r1.xyzw, cb0[1].xyyy
    mul r0.xyzw, r0.xyzw, r1.xyzw
    ftou r0.xyzw, r0.xyzw
    store_uav_typed u8.xyzw, r0.xyzw, l(0,0,-1.000000,0)
    discard_nz l(-1)
  endif
endif
ret
// Approximately 34 instruction slots used
