//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Modified for NaturalVision by Razed
//
// 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
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
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 v1.xyw
dcl_input_ps linear v2.xyzw
dcl_output o0.xyzw
dcl_temps 8
samplepos r0.xy, t12.xyxx, l(0)
deriv_rtx r1.xyz, v1.xywx
deriv_rty r2.xyz, v1.xywx
mul r0.yzw, r0.yyyy, r2.xxyz
mad r0.xyz, r0.xxxx, r1.xyzx, r0.yzwy
add r0.xyz, r0.xyzx, v1.xywx
div r0.xy, r0.xyxx, r0.zzzz
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, l(0)
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 r4.xyz, r3.wwww, r3.xyzx
mad_sat r1.x, -r1.x, cb12[4].z, l(1.000000e+000)
add r4.w, -cb12[7].x, l(1.000000e+000)
mad r4.w, r4.w, r1.x, cb12[7].x
div r1.x, r1.x, r4.w
dp3 r4.w, r4.xyzx, -cb12[1].xyzx
mad_sat r4.w, r4.w, cb12[5].w, cb12[5].z
mul r1.x, r1.x, r4.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, l(0)
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, l(0)
mul r2.yzw, r2.yyzw, r2.yyzw
ldms r5.xyz, r0.xyww, t9.xyzw, l(0)
mul r5.xy, r5.xyxx, r5.xyxx
ldms r0.xyzw, r0.xyzw, t8.xyzw, l(0)
mul r6.xyz, r0.wwww, l(9.980469e-001, 7.984375e+000, 6.387500e+001, 0.000000e+000)
frc r6.xyz, r6.xyzx
mad r6.xy, -r6.yzyy, l(1.250000e-001, 1.250000e-001, 0.000000e+000, 0.000000e+000), r6.xyxx
mad r0.xyz, r0.xyzx, l(2.560000e+002, 2.560000e+002, 2.560000e+002, 0.000000e+000), r6.xyzx
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
mov_sat r5.x, r5.x
mad r0.w, r5.y, l(5.120000e+002), l(-5.000000e+002)
max r0.w, r0.w, l(0.000000e+000)
mad r4.w, r5.y, l(5.120000e+002), -r0.w
mul r0.w, r0.w, l(5.580000e+002)
mad r0.w, r4.w, l(3.000000e+000), r0.w
dp3 r4.w, r1.yzwy, r1.yzwy
rsq r4.w, r4.w
mul r1.yzw, r1.yyzw, r4.wwww
mad r3.xyz, r3.xyzx, r3.wwww, -r1.yzwy
dp3 r3.w, r3.xyzx, r3.xyzx
rsq r3.w, r3.w
mul r3.xyz, r3.wwww, r3.xyzx
movc r2.x, r2.x, l(0), l(0.100000)
mul r1.x, r1.x, r2.x
mul r6.xyz, cb12[3].wwww, cb12[3].yxxz
//mul r6.xyz, cb12[3].wwww, cb12[3].xyzx //Yellow
dp3_sat r2.x, r0.xyzx, r4.xyzx
dp3_sat r7.x, -r1.yzwy, r0.xyzx
dp3_sat r7.y, r3.xyzx, r4.xyzx
add r1.yz, -r7.xxyx, l(0.000000e+000, 1.000000e+000, 1.000000e+000, 0.000000e+000)
mul r4.xy, r1.yzyy, r1.yzyy
mul r4.xy, r4.xyxx, r4.xyxx
mul r1.yz, r1.yyzy, r4.xxyx
add r1.w, -r5.z, l(1.000000e+000)
mad r1.yz, r5.zzzz, r1.yyzy, r1.wwww
add r4.xy, r0.wwww, l(2.000000e+000, 1.000000e-008, 0.000000e+000, 0.000000e+000)
mul r0.w, r4.x, l(1.250000e-001)
mad r1.y, -r5.x, r1.y, l(1.000000e+000)
dp3 r0.x, r0.xyzx, r3.xyzx
add_sat r0.x, r0.x, l(1.000000e-008)
log r0.x, r0.x
mul r0.x, r0.x, r4.y
exp r0.x, r0.x
mul r0.x, r1.z, r0.x
mul r0.x, r0.w, r0.x
mul r0.x, r5.x, r0.x
mul r0.x, r2.x, r0.x
mul r0.y, r1.y, r2.x
mul r0.x, r0.x, cb12[8].z
mad r0.xyz, r2.yzwy, r0.yyyy, r0.xxxx
mul r0.xyz, r6.xyzx, 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 96 instruction slots used
