//Lights 2
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20546
//
//   using 3Dmigoto v1.2.47 on Tue Nov 29 22:46:56 2016
//
//
// Buffer Definitions: 
//
// cbuffer $Globals
// {
//
//   float4 CamNearFarInvXY;            // Offset:    0 Size:    16 [unused]
//   float2 PixelSize;                  // Offset:   16 Size:     8 [unused]
//   float4 DebugMaskValues;            // Offset:   32 Size:    16 [unused]
//   float4 ColorBufferSize;            // Offset:   48 Size:    16
//   float4 LinearDepthBufferSize;      // Offset:   64 Size:    16
//   float4 CoCBufferSize;              // Offset:   80 Size:    16 [unused]
//   float4 MaxTileBufferSize;          // Offset:   96 Size:    16 [unused]
//   float4 PresortBufferSize;          // Offset:  112 Size:    16 [unused]
//   float4 ForegroundBufferSize;       // Offset:  128 Size:    16 [unused]
//   float4 BackgroundBufferSize;       // Offset:  144 Size:    16 [unused]
//   float4 LayerAlphaBufferSize;       // Offset:  160 Size:    16 [unused]
//   float FocusDepth;                  // Offset:  176 Size:     4
//   float FocusDepthNearScale;         // Offset:  180 Size:     4
//   float FocusDepthFarScale;          // Offset:  184 Size:     4
//   float FocusDepthNearAdjust;        // Offset:  188 Size:     4
//   float FocusDepthFarAdjust;         // Offset:  192 Size:     4
//
// }
//
// cbuffer SceneWideParameterConstantBuffer
// {
//
//   float4x4 ViewProjection;           // Offset:    0 Size:    64 [unused]
//   float4x4 View;                     // Offset:   64 Size:    64 [unused]
//   float4x4 Projection;               // Offset:  128 Size:    64 [unused]
//   float4x4 ViewInverse;              // Offset:  192 Size:    64 [unused]
//   float3 EyePosition;                // Offset:  256 Size:    12 [unused]
//   float cameraNearTimesFar;          // Offset:  268 Size:     4 [unused]
//   float3 GlobalAmbientColor;         // Offset:  272 Size:    12 [unused]
//   float cameraFarMinusNear;          // Offset:  284 Size:     4 [unused]
//   float2 cameraNearFar;              // Offset:  288 Size:     8
//   float2 ViewportWidthHeight;        // Offset:  296 Size:     8 [unused]
//   float2 screenWidthHeightInv;       // Offset:  304 Size:     8 [unused]
//   float2 screenWidthHeight;          // Offset:  312 Size:     8 [unused]
//   float4x4 PrevViewProj;             // Offset:  320 Size:    64 [unused]
//   float4 Jitter;                     // Offset:  384 Size:    16 [unused]
//   float2 InvProjXY;                  // Offset:  400 Size:     8 [unused]
//   uint PointLightCount;              // Offset:  408 Size:     4 [unused]
//   uint SpotLightCount;               // Offset:  412 Size:     4 [unused]
//   uint FoliageSpheresCount;          // Offset:  416 Size:     4 [unused]
//   float time;                        // Offset:  420 Size:     4 [unused]
//   float2 CubeFadeValues;             // Offset:  424 Size:     8 [unused]
//   float4 FogParameters0;             // Offset:  432 Size:    16 [unused]
//   float4 FogParameters1;             // Offset:  448 Size:    16 [unused]
//   float4 FogParameters2;             // Offset:  464 Size:    16 [unused]
//   float4 FogParameters3;             // Offset:  480 Size:    16 [unused]
//   float3 CubeSunDir;                 // Offset:  496 Size:    12 [unused]
//   float padding0;                    // Offset:  508 Size:     4 [unused]
//   float3 CubeSunColor;               // Offset:  512 Size:    12 [unused]
//   float padding1;                    // Offset:  524 Size:     4 [unused]
//   float2 WindDirection;              // Offset:  528 Size:     8 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// LinearClampSampler                sampler      NA          NA    0        1
// PointClampSampler                 sampler      NA          NA    1        1
// ColorBuffer                       texture  float4          2d    0        1
// LinearDepthBuffer                 texture   float          2d    1        1
// $Globals                          cbuffer      NA          NA    0        1
// SceneWideParameterConstantBuffer    cbuffer      NA          NA    1        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float       
// TEXCOORD                 0   xy          1     NONE   float   xy  
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
//
ps_4_0
dcl_constantbuffer cb0[13], immediateIndexed
dcl_constantbuffer cb1[19], 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 linear v1.xy
dcl_output o0.xyzw
dcl_temps 4
mad r0.xyzw, cb0[4].zwzw, l(-0.500000, -0.500000, 0.500000, -0.500000), v1.xyxy
sample_l r1.xyzw, r0.xyxx, t1.xyzw, s1, l(0.000000)
sample_l r0.xyzw, r0.zwzz, t1.xyzw, s1, l(0.000000)
mad r0.x, r0.x, cb1[18].y, -cb0[11].x
mad r0.y, r1.x, cb1[18].y, -cb0[11].x
add r0.z, -r0.y, -cb0[11].w
add r0.y, r0.y, -cb0[12].x
max r0.yz, r0.yyzy, l(0.000000, 0.000000, 0.000000, 0.000000)
div_sat r0.yz, r0.yyzy, cb0[11].zzyz
lt r0.w, r0.y, r0.z
movc r0.y, r0.w, -r0.z, r0.y
add r0.z, -r0.x, -cb0[11].w
add r0.x, r0.x, -cb0[12].x
max r0.xz, r0.xxzx, l(0.000000, 0.000000, 0.000000, 0.000000)
div_sat r0.xz, r0.xxzx, cb0[11].zzyz
lt r0.w, r0.x, r0.z
movc r0.x, r0.w, -r0.z, r0.x
min r0.z, r0.x, r0.y
max r0.x, r0.x, r0.y
mad r1.xyzw, cb0[4].zwzw, l(0.500000, 0.500000, -0.500000, 0.500000), v1.xyxy
sample_l r2.xyzw, r1.xyxx, t1.xyzw, s1, l(0.000000)
sample_l r1.xyzw, r1.zwzz, t1.xyzw, s1, l(0.000000)
mad r0.y, r1.x, cb1[18].y, -cb0[11].x
mad r0.w, r2.x, cb1[18].y, -cb0[11].x
add r1.x, -r0.w, -cb0[11].w
add r0.w, r0.w, -cb0[12].x
max r0.w, r0.w, l(0.000000)
div_sat r0.w, r0.w, cb0[11].z
max r1.x, r1.x, l(0.000000)
div_sat r1.x, r1.x, cb0[11].y
lt r1.y, r0.w, r1.x
movc r0.w, r1.y, -r1.x, r0.w
add r1.x, -r0.y, -cb0[11].w
add r0.y, r0.y, -cb0[12].x
max r0.y, r0.y, l(0.000000)
div_sat r0.y, r0.y, cb0[11].z
max r1.x, r1.x, l(0.000000)
div_sat r1.x, r1.x, cb0[11].y
lt r1.y, r0.y, r1.x
movc r0.y, r1.y, -r1.x, r0.y
min r1.x, r0.y, r0.w
max r0.y, r0.y, r0.w
max r0.x, r0.y, r0.x
min r0.y, r0.z, r1.x
lt r0.z, |r0.y|, |r0.x|
movc o0.w, r0.z, r0.x, r0.y
add r0.xy, v1.xyxx, -cb0[3].zwzz
sample r0.xyzw, r0.xyxx, t0.xyzw, s0
dp3 r0.w, r0.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
add r0.w, r0.w, l(1.000000)
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul r1.xyz, r0.xyzx, r1.wwww
mad r0.xyzw, cb0[3].zwzw, l(1.000000, -1.000000, -1.000000, 1.000000), v1.xyxy
sample r2.xyzw, r0.xyxx, t0.xyzw, s0
sample r0.xyzw, r0.zwzz, t0.xyzw, s0
dp3 r0.w, r2.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
add r0.w, r0.w, l(1.000000)
div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul r3.xyz, r2.xyzx, r3.wwww
add r1.xyzw, r1.xyzw, r3.xyzw
add r2.xy, v1.xyxx, cb0[3].zwzz
sample r2.xyzw, r2.xyxx, t0.xyzw, s0
dp3 r0.w, r2.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
add r0.w, r0.w, l(1.000000)
div r3.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul r3.xyz, r2.xyzx, r3.wwww
add r1.xyzw, r1.xyzw, r3.xyzw
dp3 r0.w, r0.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
add r0.w, r0.w, l(1.000000)
div r2.w, l(1.000000, 1.000000, 1.000000, 1.000000), r0.w
mul r2.xyz, r0.xyzx, r2.wwww
add r0.xyzw, r1.xyzw, r2.xyzw
mul r0.xyzw, r0.xyzw, l(0.250000, 0.250000, 0.250000, 0.250000)
div o0.xyz, r0.xyzx, r0.wwww
ret 
// Approximately 75 instruction slots used
