//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions:
//
// cbuffer rage_matrices
// {
//
// row_major float4x4 gWorld; // Offset: 0 Size: 64 [unused]
// row_major float4x4 gWorldView; // Offset: 64 Size: 64 [unused]
// row_major float4x4 gWorldViewProj; // Offset: 128 Size: 64 [unused]
// row_major float4x4 gViewInverse; // Offset: 192 Size: 64
//
// }
//
// cbuffer misc_globals
// {
//
// float4 globalFade; // Offset: 0 Size: 16 [unused]
// float globalHeightScale; // Offset: 16 Size: 4 [unused]
// float globalShaderQuality; // Offset: 20 Size: 4 [unused]
// float globalReuseMe00001; // Offset: 24 Size: 4 [unused]
// float globalReuseMe00002; // Offset: 28 Size: 4 [unused]
// float4 POMFlags; // Offset: 32 Size: 16 [unused]
// float4 g_Rage_Tessellation_CameraPosition;// Offset: 48 Size: 16 [unused]
// float4 g_Rage_Tessellation_CameraZAxis;// Offset: 64 Size: 16 [unused]
// float4 g_Rage_Tessellation_ScreenSpaceErrorParams;// Offset: 80 Size: 16
[unused]
// float4 g_Rage_Tessellation_LinearScale;// Offset: 96 Size: 16 [unused]
// float4 g_Rage_Tessellation_Frustum[4];// Offset: 112 Size: 64 [unused]
// float4 g_Rage_Tessellation_Epsilons;// Offset: 176 Size: 16 [unused]
// float4 globalScalars; // Offset: 192 Size: 16 [unused]
// float4 globalScalars2; // Offset: 208 Size: 16 [unused]
// float4 globalScalars3; // Offset: 224 Size: 16
// float4 globalScreenSize; // Offset: 240 Size: 16
// uint4 gTargetAAParams; // Offset: 256 Size: 16 [unused]
// float4 colorize; // Offset: 272 Size: 16 [unused]
// float4 gGlobalParticleShadowBias; // Offset: 288 Size: 16 [unused]
// float gGlobalParticleDofAlphaScale;// Offset: 304 Size: 4 [unused]
// float gGlobalFogIntensity; // Offset: 308 Size: 4 [unused]
// float4 gPlayerLFootPos; // Offset: 320 Size: 16 [unused]
// float4 gPlayerRFootPos; // Offset: 336 Size: 16 [unused]
//
// }
//
// cbuffer lighting_locals
// {
//
// float4 deferredLightParams[14]; // Offset: 0 Size: 224
// float4 deferredLightVolumeParams[2];// Offset: 224 Size: 32 [unused]
// float4 deferredLightScreenSize; // Offset: 256 Size: 16 [unused]
// float4 deferredProjectionParams; // Offset: 272 Size: 16
// float3 deferredPerspectiveShearParams0;// Offset: 288 Size: 12 [unused]
// float3 deferredPerspectiveShearParams1;// Offset: 304 Size: 12 [unused]
// float3 deferredPerspectiveShearParams2;// Offset: 320 Size: 12 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// gbufferTexture0Global texture float4 2dMS 7 1
// gbufferTexture1Global texture float4 2dMS 8 1
// gbufferTexture2Global texture float4 2dMS 9 1
// gbufferStencilTextureGlobal texture uint2 2dMS 11 1
// gbufferTextureDepthGlobal texture float 2dMS 12 1
// rage_matrices cbuffer NA NA 1 1
// misc_globals cbuffer NA NA 2 1
// lighting_locals cbuffer NA NA 12 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position 0 xyzw 0 POS float
// TEXCOORD 0 xyzw 1 NONE float xy w
// TEXCOORD 1 xyzw 2 NONE float xyzw
// SV_SampleIndex 0 x 3 SAMPLE uint x
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
// Pixel Shader runs at sample frequency
//
ps_4_1
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb12[18], immediateIndexed
dcl_resource_texture2dms(0) (float,float,float,float) t7
dcl_resource_texture2dms(0) (float,float,float,float) t8
dcl_resource_texture2dms(0) (float,float,float,float) t9
dcl_resource_texture2dms(0) (uint,uint,uint,uint) t11
dcl_resource_texture2dms(0) (float,float,float,float) t12
dcl_input_ps linear sample v1.xyw
dcl_input_ps linear v2.xyzw
dcl_input_ps_sgv v3.x, sampleIndex
dcl_output o0.xyzw
dcl_temps 5
div r0.xy, v1.xyxx, v1.wwww
mul r0.xy, r0.xyxx, cb2[15].xyxx
ftoi r0.xy, r0.xyxx
mov r0.zw, l(0,0,0,0)
ldms r1.x, r0.xyww, t12.xyzw, v3.x
add r1.x, -r1.x, cb12[17].w
add r1.x, r1.x, l(1.000000e+000)
div r1.x, cb12[17].z, r1.x
div r1.yzw, v2.xxyz, v2.wwww
mad r2.xyz, r1.yzwy, r1.xxxx, cb1[15].xyzx
add r3.xyz, -r2.xyzx, cb12[0].xyzx
dp3 r1.x, r3.xyzx, r3.xyzx
rsq r3.w, r1.x
mul r3.xyz, r3.wwww, r3.xyzx
mad_sat r1.x, -r1.x, cb12[4].z, l(1.000000e+000)
add r3.w, -cb12[7].x, l(1.000000e+000)
mad r3.w, r3.w, r1.x, cb12[7].x
div r1.x, r1.x, r3.w
dp3 r3.w, r3.xyzx, -cb12[1].xyzx
mad_sat r3.w, r3.w, cb12[5].w, cb12[5].z
mul r1.x, r1.x, r3.w
mov r2.w, l(1.000000)
dp4 r2.x, r2.xyzw, cb12[6].xyzw
ge r2.x, r2.x, l(0.000000e+000)
and r2.x, r2.x, l(0x3f800000)
mul r1.x, r1.x, r2.x
lt r2.x, r1.x, l(1.000000e-006)
discard_nz r2.x
ldms r2.x, r0.xyww, t11.yxzw, v3.x
and r2.x, r2.x, l(8)
utof r2.x, r2.x
ge r2.x, r2.x, l(7.900000e+000)
ldms r2.yzw, r0.xyww, t7.wxyz, v3.x
mul r2.yzw, r2.yyzw, r2.yyzw
ldms r4.xy, r0.xyww, t9.xzyw, v3.x
mul r3.w, r4.x, r4.x
ldms r0.xyzw, r0.xyzw, t8.xyzw, v3.x
mul r4.xzw, r0.wwww, l(9.980469e-001, 0.000000e+000, 7.984375e+000, 6.387500e+001)
frc r4.xzw, r4.xxzw
mad r4.xz, -r4.zzwz, l(1.250000e-001, 0.000000e+000, 1.250000e-001, 0.000000e+000),
r4.xxzx
mad r0.xyz, r0.xyzx, l(2.560000e+002, 2.560000e+002, 2.560000e+002, 0.000000e+000),
r4.xzwx
add r0.xyz, r0.xyzx, l(-1.280000e+002, -1.280000e+002, -1.280000e+002,
0.000000e+000)
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.wwww, r0.xyzx
min r0.w, r3.w, l(1.000000e+000)
dp3 r3.w, r1.yzwy, r1.yzwy
rsq r3.w, r3.w
mul r1.yzw, r1.yyzw, r3.wwww
movc r2.x, r2.x, l(0), l(1.000000)
mul r1.x, r1.x, r2.x
mul r4.xzw, cb12[3].wwww, cb12[3].xxyz
dp3_sat r2.x, r0.xyzx, r3.xyzx
dp3_sat r0.x, -r1.yzwy, r0.xyzx
add r0.x, -r0.x, l(1.000000e+000)
mul r0.y, r0.x, r0.x
mul r0.y, r0.y, r0.y
mul r0.x, r0.x, r0.y
add r0.y, -r4.y, l(1.000000e+000)
mad r0.x, r4.y, r0.x, r0.y
mad r0.x, -r0.w, r0.x, l(1.000000e+000)
mul r0.x, r0.x, r2.x
mul r0.xyz, r0.xxxx, r2.yzwy
mul r0.xyz, r4.xzwx, r0.xyzx
mul r0.xyz, r1.xxxx, r0.xyzx
mul o0.xyz, r0.xyzx, cb2[14].zzzz
mov o0.w, l(1.000000)
ret
// Approximately 68 instruction slots used