//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.960.8229
//
//   using 3Dmigoto v1.2.69 on Tue May 01 13:12:51 2018
//
//
// Buffer Definitions: 
//
// cbuffer PER_FRAME
// {
//
//   row_major float4x4 g_VS_ViewProjMatr;// Offset:    0 Size:    64
//   float4 g_VS_WorldViewPos;          // Offset:   96 Size:    16
//   float4 g_VS_HPosScale;             // Offset:  336 Size:    16
//
// }
//
// cbuffer PER_MATERIAL
// {
//
//   float __0VertexWaveScale__1__2__3; // Offset:  544 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// WaterNormalsSampler               sampler      NA          NA    0        1
// WaterNormalsSampler               texture  float4          2d    0        1
// PER_FRAME                         cbuffer      NA          NA    2        1
// PER_MATERIAL                      cbuffer      NA          NA    3        1
//
//
//
// Patch Constant signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TessFactor            0   x           0  TRIEDGE   float       
// SV_TessFactor            1   x           1  TRIEDGE   float       
// SV_TessFactor            2   x           2  TRIEDGE   float       
// SV_InsideTessFactor      0   x           3   TRIINT   float       
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xyzw
// TEXCOORD                 1   xyzw        1     NONE   float       
// TEXCOORD                 2   xyzw        2     NONE   float   xyzw
// TEXCOORD                 3   xyzw        3     NONE   float   xyzw
// TEXCOORD                 4   xyzw        4     NONE   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 1   xyzw        2     NONE   float   xyzw
// TEXCOORD                 2   xyzw        3     NONE   float   xyzw
// TEXCOORD                 3   xyzw        4     NONE   float   xyzw
// TEXCOORD                 4   xyzw        5     NONE   float   xyzw
//
// Tessellation Domain   # of control points
// -------------------- --------------------
// Triangle                                3
//
ds_5_0
dcl_input_control_point_count 3
dcl_tessellator_domain domain_tri
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb2[22], immediateIndexed
dcl_constantbuffer cb3[35], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input vDomain.xyz
dcl_input vicp[3][0].xyzw
dcl_input vicp[3][2].xyzw
dcl_input vicp[3][3].xyzw
dcl_output_siv o0.xyzw, position
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_output o4.xyzw
dcl_output o5.xyzw
//dcl_temps 3

dcl_temps 8

dcl_resource_texture2d (float,float,float,float) t125

mul r0.xyzw, vDomain.yyyy, vicp[1][0].xyzw
mad r0.xyzw, vDomain.xxxx, vicp[0][0].xyzw, r0.xyzw
mad r0.xyzw, vDomain.zzzz, vicp[2][0].xyzw, r0.xyzw


mul r1.xy, r0.xyxx, l(0.125000, 0.125000, 0.000000, 0.000000)
mov o1.xyzw, r0.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r0.x, r1.xyxx, t0.wxyz, s0, l(0.000000)
mul r1.xyzw, vDomain.yyyy, vicp[1][2].xyzw
mad r1.xyzw, vDomain.xxxx, vicp[0][2].xyzw, r1.xyzw
mad r1.xyzw, vDomain.zzzz, vicp[2][2].xyzw, r1.xyzw
add r2.xyz, -r1.xyzx, cb2[6].xyzx
mov o3.xyzw, r1.xyzw



mad r2.z, r0.x, cb3[34].x, r2.z
mov r2.w, l(1.000000)
dp4 r0.x, cb2[0].xyzw, r2.xyzw
dp4 r0.y, cb2[1].xyzw, r2.xyzw
dp4 r0.w, cb2[3].xyzw, r2.xyzw



mov o0.xyw, r0.xyxw

// Stereo correction & halo fix - 
ld_indexable(texture2d)(float,float,float,float) r7.xyzw, l(0, 0, 0, 0), t125.xyzw
add r7.w, r0.w, -r7.y
mad r0.x, r7.w, r7.x, r0.x



mad r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), r0.wwww
mul r0.xy, r0.xyxx, cb2[21].xyxx
mul o2.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
dp4 o0.z, cb2[2].xyzw, r2.xyzw
mov o5.xyzw, r2.xyzw
mul r0.x, r0.w, l(0.010000)
mov o2.w, r0.w
sqrt r0.x, r0.x
add r0.x, -r0.x, l(1.000000)
max o2.z, r0.x, l(0.000000)
mul r0.xyzw, vDomain.yyyy, vicp[1][3].xyzw
mad r0.xyzw, vDomain.xxxx, vicp[0][3].xyzw, r0.xyzw
mad o4.xyzw, vDomain.zzzz, vicp[2][3].xyzw, r0.xyzw
ret 
// Approximately 31 instruction slots used
