//Water PS 2. Underwater water surface.
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.181 on Thu Jul 13 13:00:50 2023
//
//
// Buffer Definitions:
//
// cbuffer $Globals
// {
//
//   float4 projParams;                 // Index:    0.xyzw           Components:     4
//   float4 specularParams;             // Index:    1.xyzw           Components:     4 [unused]
//   float4 baseColor;                  // Index:    2.xyzw           Components:     4 [unused]
//   float4 miscParams;                 // Index:    3.xyzw           Components:     4 [unused]
//   float2 fogParams;                  // Index:    4.xy             Components:     2 [unused]
//   float4 reflectParams;              // Index:    5.xyzw           Components:     4 [unused]
//   float3 reflectNormal;              // Index:    6.xyz            Components:     3 [unused]
//   float2 wetnessParams;              // Index:    7.xy             Components:     2 [unused]
//   float farPlaneDist;                // Index:    7.z              Components:     1
//   float3 distortionParams;           // Index:    8.xyz            Components:     3
//   float4 foamParams;                 // Index:    9.xyzw           Components:     4 [unused]
//   float3 ambientColor;               // Index:   10.xyz            Components:     3 [unused]
//   float3 eyePos;                     // Index:   11.xyz            Components:     3 [unused]
//   float3 fogData;                    // Index:   12.xyz            Components:     3 [unused]
//   float4 fogColor;                   // Index:   13.xyzw           Components:     4 [unused]
//   float4 rippleMagnitude;            // Index:   14.xyzw           Components:     4
//   float4 rtParams1;                  // Index:   15.xyzw           Components:     4
//   float depthGradMax;                // Index:   16.x              Components:     1 [unused]
//   float3 inLightVec;                 // Index:   16.yzw            Components:     3 [unused]
//   float4x4 modelMat;                 // Index:   17 18 19 20       Components:    16 [unused]
//   float4 sunColor;                   // Index:   21.xyzw           Components:     4 [unused]
//   float sunBrightness;               // Index:   22.x              Components:     1 [unused]
//   float reflectivity;                // Index:   22.y              Components:     1 [unused]
//   float4 debugColor0;                // Index:   23.xyzw           Components:     4
//   float4 debugColor1;                // Index:   24.xyzw           Components:     4 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// bumpMap_sampler_                  sampler      NA          NA    0        1
// prepassDepthTex_sampler_          sampler      NA          NA    1        1
// refractBuff_sampler_              sampler      NA          NA    3        1
// bumpMapTex                        texture  float4          2d    0        1
// prepassDepthTexTex                texture  float4          2d    1        1
// refractBuffTex                    texture  float4          2d    3        1
// $Globals                          cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 1   xyzw        2     NONE   float   xyz
// TEXCOORD                 2   xyzw        3     NONE   float
// TEXCOORD                 3   xyzw        4     NONE   float   xy w
// TEXCOORD                 4   xyzw        5     NONE   float
// TEXCOORD                 5   xyzw        6     NONE   float
// TEXCOORD                 6   xyz         7     NONE   float   xyz
// TEXCOORD                 7   xyz         8     NONE   float   xyz
// TEXCOORD                 8   xyz         9     NONE   float
//
//
// 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[24], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s3, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t3
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyz
dcl_input_ps linear v4.xyw
dcl_input_ps linear v7.xyz
dcl_input_ps linear v8.xyz
dcl_output o0.xyzw
dcl_temps 31
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw

mov r24.xyw, v4.xyxw
add r26.x, r24.w, -r25.y
mul r26.x, r26.x, l(0.5)
mad r24.x, r25.x, r26.x, r24.x

sample_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t0.xyzw, s0
mad r0.xyz, r0.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r1.xyz, v1.zwzz, t0.xyzw, s0
mad r1.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r1.xyz, r1.xyzx, cb0[14].yyyy
mad r0.xyz, r0.xyzx, cb0[14].xxxx, r1.xyzx
sample_indexable(texture2d)(float,float,float,float) r1.xyz, v2.xyxx, t0.xyzw, s0
mad r1.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mad r0.xyz, r1.xyzx, cb0[14].zzzz, r0.xyzx
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r1.xyz, r0.wwww, r0.xyzx
add r1.w, -cb0[14].w, l(1.000000)
mad r0.xyz, -r0.xyzx, r0.wwww, l(0.000000, 0.000000, 1.000000, 0.000000)
mad r0.xyz, r1.wwww, r0.xyzx, r1.xyzx
dp3 r1.x, r0.xyzx, v7.xyzx
dp3 r1.y, r0.xyzx, v8.xyzx
div r0.x, v2.z, cb0[7].z
div r0.yz, r24.xxyx, v4.wwww
mad r0.yz, r0.yyzy, cb0[15].zzwz, cb0[15].xxyx
sample_l_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r0.y, r0.yzyy, t1.yxzw, s1, l(0.000000)
add r0.y, r0.y, -cb0[0].z
div r0.y, cb0[0].w, r0.y
div r0.y, r0.y, cb0[0].y
add r0.z, -r0.x, r0.y
max r0.z, r0.z, l(0.000000)
mul r0.z, r0.z, cb0[7].z
add r0.w, v2.z, -cb0[8].x
div_sat r0.zw, r0.zzzw, cb0[8].zzzy
mul r0.z, r0.z, r0.w
mad r1.zw, r1.xxxy, r0.zzzz, r24.xxxy
div r2.xy, r1.zwzz, v4.wwww
mad r2.xy, r2.xyxx, cb0[15].zwzz, cb0[15].xyxx
sample_l_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r0.z, r2.xyxx, t1.yzxw, s1, l(0.000000)
add r0.z, r0.z, -cb0[0].z
div r0.z, cb0[0].w, r0.z
div r0.z, r0.z, cb0[0].y
lt r2.x, l(0.990000), r0.z
movc r0.z, r2.x, l(5.000000), r0.z
add r2.x, -r0.x, r0.z
mul r2.x, r2.x, cb0[7].z
lt r2.y, r2.x, l(0.000000)
if_nz r2.y
  mov r2.yz, r24.xxyx
else
  add r0.y, -r0.y, r0.z
  mul r0.y, r0.y, cb0[7].z
  lt r0.y, r0.y, l(0.000000)
  if_nz r0.y
    div_sat r0.y, r2.x, cb0[8].z
    mul r0.y, r0.y, r0.w
    mad r1.zw, r1.xxxy, r0.yyyy, r24.xxxy
    div r0.yz, r1.zzwz, v4.wwww
    mad r0.yz, r0.yyzy, cb0[15].zzwz, cb0[15].xxyx
    sample_l_aoffimmi_indexable(0,0,0)(texture2d)(float,float,float,float) r0.y, r0.yzyy, t1.yxzw, s1, l(0.000000)
    add r0.y, r0.y, -cb0[0].z
    div r0.y, cb0[0].w, r0.y
    div r0.y, r0.y, cb0[0].y
    lt r0.z, l(0.990000), r0.y
    movc r0.y, r0.z, l(5.000000), r0.y
    add r0.x, -r0.x, r0.y
    mul r2.x, r0.x, cb0[7].z
  endif
  lt r0.x, r2.x, l(0.100000)
  movc r2.yz, r0.xxxx, r24.xxyx, r1.zzwz
endif
div r0.xy, r2.yzyy, v4.wwww
mad r0.xy, r0.xyxx, cb0[15].zwzz, cb0[15].xyxx
sample_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyxx, t3.xyzw, s3
lt r0.w, l(0.100000), cb0[23].w
movc o0.xyz, r0.wwww, cb0[23].xyzx, r0.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 73 instruction slots used
