//
// Generated by Microsoft (R) HLSL Shader Compiler 9.24.949.2307
//
//
//   fxc /Zi /O3 /Gec /Tps_4_0 /Fc3.txt /EMRTWorldPerPixelNormalPS deffered.psh
//
//
// Buffer Definitions: 
//
// cbuffer Ps_Vars
// {
//
//   float4 SpecAlphaBumpParam;         // Offset:    0 Size:    16
//   float4 GlowParamTwoSided;          // Offset:   16 Size:    16
//   float4 EyeVector;                  // Offset:   32 Size:    16
//
// }
//
//
// Resource Bindings:
//
// Name                   Type  Format         Dim Slot Elements
// ---------------- ---------- ------- ----------- ---- --------
// s0                  sampler      NA          NA    0        1
// s2                  sampler      NA          NA    2        1
// s7                  sampler      NA          NA    7        1
// s0                  texture   float          2d    0        1
// s2                  texture   float          2d    1        1
// s7                  texture   float        cube    2        1
// Ps_Vars             cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name             Index   Mask Register SysValue Format   Used
// ---------------- ----- ------ -------- -------- ------ ------
// SV_Position          0   xyzw        0      POS  float       
// TEXCOORD             0   xy          1     NONE  float       
// TEXCOORD             1     zw        1     NONE  float     zw
// TEXCOORD             2   xyz         2     NONE  float   xyz 
// TEXCOORD             3   xyz         3     NONE  float   xyz 
// TEXCOORD             4   xyz         4     NONE  float   xyz 
// TEXCOORD             5   xyzw        5     NONE  float      w
// TEXCOORD             7   xyzw        6     NONE  float   xyz 
//
//
// Output signature:
//
// Name             Index   Mask Register SysValue Format   Used
// ---------------- ----- ------ -------- -------- ------ ------
// SV_Target            0   xyzw        0   TARGET  float   xyzw
// SV_Target            1   xyzw        1   TARGET  float   xyzw
// SV_Target            2   xyzw        2   TARGET  float   xyzw
// SV_Target            3   xyzw        3   TARGET  float   xyzw
//
ps_4_0
dcl_input_ps linear v1.zw
dcl_input_ps linear v2.xyz
dcl_input_ps linear v3.xyz
dcl_input_ps linear v4.xyz
dcl_input_ps linear v5.w
dcl_input_ps linear v6.xyz
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xyzw
dcl_constantbuffer cb0[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s2, mode_default
dcl_sampler s7, mode_default
dcl_resource_texture2d ( float , float , float , float ) t0
dcl_resource_texture2d ( float , float , float , float ) t1
dcl_resource_texturecube ( float , float , float , float ) t2
dcl_temps 3

#line 1652 "G:\nick\sources\bin\blacklabel\pshaders\deffered.psh"
sample r0.xyzw, v1.zwzz, t1.xyzw, s2  // normalTex<3,1,0>
mad r0.yz, r0.wwyw, l(0.000000, 2.000000, 2.000000, 0.000000), l(0.000000, -1.000000, -1.000000, 0.000000)  // normalTex<0,1>

#line 1704
mov o3.yw, r0.xxxx  // MRTWorldPerPixelNormalPS<13,15>

#line 1654
mad r0.x, -r0.y, r0.y, l(1.000000)
mad r0.x, -r0.z, r0.z, r0.x
sqrt r0.x, r0.x  // normalTex<2>

#line 1665
mul r1.xyz, r0.zzzz, v3.xyzx
mad r0.yzw, r0.yyyy, v2.xxyz, r1.xxyz
mad r0.xyz, r0.xxxx, v4.xyzx, r0.yzwy
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.xyzx, r0.wwww  // normal<0,1,2>

#line 375
add r1.xyz, r0.xyzx, r0.xyzx

#line 1668
add r2.xyz, v6.xyzx, -cb0[2].xyzx  // View2Pos<0,1,2>

#line 375
dp3 r0.w, r0.xyzx, r2.xyzx
mad r1.xyz, -r1.xyzx, r0.wwww, r2.xyzx  // mirror<0,1,2>

#line 1694
mad o1.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)  // MRTWorldPerPixelNormalPS<4,5,6>

#line 1670
dp3 r0.x, r1.xyzx, r1.xyzx
rsq r0.x, r0.x
mul r0.xyz, r1.xyzx, r0.xxxx  // ReflectCoord<0,1,2>
sample r0.xyzw, r0.xyzx, t2.xyzw, s7  // CubeRef<0,1,2>

#line 1629
sample r1.xyzw, v1.zwzz, t0.xyzw, s0  // diffuseTex<0,1,2,3>

#line 1672
mul r0.xyz, r0.xyzx, r1.wwww
add r0.w, -r1.w, l(1.000000)
mad o0.xyz, r1.xyzx, r0.wwww, r0.xyzx  // MRTWorldPerPixelNormalPS<0,1,2>

#line 1704
mov o0.w, l(0)  // MRTWorldPerPixelNormalPS<3: 0>
mov o1.w, l(0)  // MRTWorldPerPixelNormalPS<7: 0>

#line 1689
mul o2.xyzw, v5.wwww, cb0[2].wwww  // MRTWorldPerPixelNormalPS<8,9,10,11>

#line 1704
mov o3.x, cb0[0].x  // MRTWorldPerPixelNormalPS<12>
mov o3.z, cb0[1].z  // MRTWorldPerPixelNormalPS<14>
ret 
// Approximately 31 instruction slots used
