// MANUALLY DUMPED [ShaderRegex\ShaderFixes\UE4_masterotaku.ini\DP4ObjectsPS1_nospec2] Manual fix for some water shadows.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.182 on Sun Jun 11 11:35:26 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                11   xyzw        1     NONE   float   xyz
// PACKED_EYE_INDEX         0   x           2     NONE    uint   x
// SV_IsFrontFace           0   x           3    FFACE    uint
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
// SV_DepthLessEqual        0    N/A oDepthLE  DEPTHLE   float    YES
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[156], immediateIndexed
dcl_constantbuffer CB1[148], immediateIndexed
dcl_constantbuffer CB2[74], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_input_ps_siv linear noperspective centroid v0.xyzw, position
dcl_input_ps linear centroid v1.xyz
dcl_input_ps constant v2.x
dcl_output o0.xyzw
dcl_output oDepthLE
dcl_temps 21
dcl_resource_texture2d (float,float,float,float) t125
if_z v2.x
  mov r0.x, cb0[44].x
  mov r0.y, cb0[45].x
  mov r0.z, cb0[46].x
  mov r0.w, cb0[47].x
  mov r1.x, cb0[44].y
  mov r1.y, cb0[45].y
  mov r1.z, cb0[46].y
  mov r1.w, cb0[47].y
  mov r2.x, cb0[44].z
  mov r2.y, cb0[45].z
  mov r2.z, cb0[46].z
  mov r2.w, cb0[47].z
  mov r3.x, cb0[44].w
  mov r3.y, cb0[45].w
  mov r3.z, cb0[46].w
  mov r3.w, cb0[47].w
  mov r4.xy, cb0[70].xyxx
  mov r4.z, cb0[147].w
else
  mov r0.x, cb1[44].x
  mov r0.y, cb1[45].x
  mov r0.z, cb1[46].x
  mov r0.w, cb1[47].x
  mov r1.x, cb1[44].y
  mov r1.y, cb1[45].y
  mov r1.z, cb1[46].y
  mov r1.w, cb1[47].y
  mov r2.x, cb1[44].z
  mov r2.y, cb1[45].z
  mov r2.z, cb1[46].z
  mov r2.w, cb1[47].z
  mov r3.x, cb1[44].w
  mov r3.y, cb1[45].w
  mov r3.z, cb1[46].w
  mov r3.w, cb1[47].w
  mov r4.xy, cb1[70].xyxx
  mov r4.z, cb1[147].w
endif
mov r5.x, v0.z
mov r5.y, l(1.000000)
mul r5.xy, r5.xyxx, v0.wwww
mov r6.xyz, v0.xyzx
mov r6.w, l(1.000000)

ld_indexable(texture2d)(float,float,float,float) r7.xyzw, l(0, 0, 0, 0), t125.xyzw
dp4 r8.x, r6.xyzw, r3.xyzw
ge r10.w, cb0[135].x, l(20.0)
if_nz r10.w
mul r10.x, l(0.5), cb0[135].x
else
mul r10.x, l(0.5), cb1[135].x
endif

mad r6.x, -r7.x, r10.x, r6.x

dp4 r20.x, r6.xyzw, r0.xyzw
dp4 r20.y, r6.xyzw, r1.xyzw
dp4 r20.z, r6.xyzw, r2.xyzw
dp4 r20.w, r6.xyzw, r3.xyzw
div r20.xyz, r20.xyzx, r20.wwww

mul r10.y, r8.x, r7.y
mul r10.y, r10.y, r10.x
mad r6.x, r7.x, r10.y, r6.x

dp4 r0.x, r6.xyzw, r0.xyzw
dp4 r0.y, r6.xyzw, r1.xyzw
dp4 r0.z, r6.xyzw, r2.xyzw
dp4 r0.w, r6.xyzw, r3.xyzw
div r0.xyz, r0.xyzx, r0.wwww

add r1.xy, -r4.xyxx, r0.xyxx

dp3 r0.w, -r20.xyzx, -r20.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.wwww, -r20.xyzx
add r1.xy, r1.xyxx, l(-7032.220215, -24381.699219, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, l(0.0000367647044, 0.0000367647044, 0.000000, 0.000000)
sample_indexable(texture2d)(float,float,float,float) r0.w, r1.xyxx, t0.xywz, s0
add r1.xy, v0.xyxx, -cb0[133].xyxx
add r1.zw, r1.xxxy, cb0[155].xxxx
ftou r1.zw, r1.zzzw
ishl r1.w, r1.w, l(1)
iadd r1.z, r1.w, r1.z
udiv null, r1.z, r1.z, l(5)
utof r1.z, r1.z
mul r1.xy, r1.xyxx, l(0.015625, 0.015625, 0.000000, 0.000000)
sample_b_indexable(texture2d)(float,float,float,float) r1.x, r1.xyxx, t1.xyzw, s1, cb0[146].y
add r1.x, r1.x, r1.z
mul r1.x, r1.x, cb2[73].y
mad r1.x, r1.x, l(0.166666672), cb2[73].z
dp3 r0.x, v1.xyzx, r0.xyzx
div r0.x, r1.x, r0.x
mad r0.x, r0.x, r0.w, r5.y
div r0.x, r5.x, r0.x
min r0.x, r0.x, v0.z
movc oDepthLE, r4.z, v0.z, r0.x
mov o0.xyzw, l(0,0,0,0)
ret
// Approximately 0 instruction slots used
