
cbuffer cbDefaultXSC : register(b0)
{
  float4x4 ViewProj : packoffset(c0);
  float4x4 ViewMatrix : packoffset(c4);
  float4x4 SecondaryProj : packoffset(c8);
  float4x4 SecondaryViewProj : packoffset(c12);
  float4x4 SecondaryInvViewProj : packoffset(c16);
  float4 ConstantColour : packoffset(c20);
  float4 Time : packoffset(c21);
  float4 CameraPosition : packoffset(c22);
  float4 InvProjectionParams : packoffset(c23);
  float4 SecondaryInvProjectionParams : packoffset(c24);
  float4 ShaderDebugParams : packoffset(c25);
  float4 ToneMappingDebugParams : packoffset(c26);
  float4 HDR_EncodeScale2 : packoffset(c27);
  float4 EmissiveSurfaceMultiplier : packoffset(c28);
  float4 AlphaLight_OffsetScale : packoffset(c29);
  float4 TessellationScaleFactor : packoffset(c30);
  float4 FogNearColour : packoffset(c31);
  float4 FogFarColour : packoffset(c32);
  float4 FogParams : packoffset(c33);
  float4 AdvanceEnvironmentShaderDebugParams : packoffset(c34);
  float4 SMAA_RTMetrics : packoffset(c35);
}

cbuffer cbRadiosityPSC : register(b8)
{
  float4 RadiosityParams : packoffset(c0);
  float4 RadiosityDebugOutputWeights : packoffset(c1);
  float4 RadiositySSAOScale : packoffset(c2);
  float4 RadiosityParams2 : packoffset(c3);
}

cbuffer cbRadiosityXSC : register(b9)
{
  float4 RadiosityInputSliceTexScaleBias : packoffset(c0);
  float4 RadiosityInputSlicePosScaleBias : packoffset(c1);
  float4 RadiosityOutputSliceTexScaleBias : packoffset(c2);
  float4 RadiosityOutputSlicePosScaleBias : packoffset(c3);
  float4 RadiosityInputOutputSliceSize : packoffset(c4);
  float4 RadiosityComputeParams : packoffset(c5);
}
SamplerState g_smp_albedo_SMP_s : register(s2);
SamplerState g_smp_indirect_irradiance_SMP_s : register(s3);
SamplerState g_smp_mangle_SMP_s : register(s5);
Texture2D<float4> g_smp_albedo_TEX : register(t2);
Texture2D<float4> g_smp_indirect_irradiance_TEX : register(t3);
Texture2D<float4> g_smp_mangle_TEX : register(t5);

Texture2D<float4> StereoParams : register(t125);

void main(
  float4 v0 : TEXCOORD0,
  float4 v1 : SV_Position0,
  out float4 o0 : SV_Target0)
{
  float4 r0,r1;
  uint4 bitmask;
  r0.xyz = g_smp_albedo_TEX.Sample(g_smp_albedo_SMP_s, v0.xy).xyz;
  r0.w = max(r0.z, r0.y);
  r0.w = max(r0.w, r0.x);
  r0.w = 9.999999747e-005 + r0.w;
  r1.xyz = float3(1.000000e-004,1.000000e-004,1.000000e-004) + r0.xyz;
  r1.xyz = r1.xyz / r0.www;
  r1.xyz = r1.xyz + -r0.xyz;
  r0.xyz = RadiosityParams.zzz * r1.xyz + r0.xyz;
  r0.w = dot(r0.xyz, float3(2.126000e-001,7.152000e-001,7.220000e-002));
  r0.xyz = r0.xyz + -r0.www;
  r0.xyz = saturate(RadiosityParams.www * r0.xyz + r0.www);
  r0.xyz = RadiosityParams.yyy * r0.xyz;
  r1.xy = g_smp_mangle_TEX.Sample(g_smp_mangle_SMP_s, v0.xy).xw;
  r1.xy = r1.xy * float2(9.960938e-001,9.960938e-001) + float2(1.953125e-003,1.953125e-003);
  r1.xy = r1.xy * RadiosityOutputSliceTexScaleBias.xy + RadiosityOutputSliceTexScaleBias.zw;
  r1.xyz = g_smp_indirect_irradiance_TEX.Sample(g_smp_indirect_irradiance_SMP_s, r1.xy).xyz;
  r1.xyz = HDR_EncodeScale2.www * r1.xyz;
  r1.xyz = max(r1.xyz, float3(0.000000e+000,0.000000e+000,0.000000e+000));
  o0.xyz = r1.xyz * r0.xyz;
  o0.w = 1.000000000e+000;
  return;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//
// Buffer Definitions: 
//
// cbuffer cbDefaultXSC
// {
//
//   float4x4 ViewProj;                 // Offset:    0 Size:    64 [unused]
//   float4x4 ViewMatrix;               // Offset:   64 Size:    64 [unused]
//   float4x4 SecondaryProj;            // Offset:  128 Size:    64 [unused]
//   float4x4 SecondaryViewProj;        // Offset:  192 Size:    64 [unused]
//   float4x4 SecondaryInvViewProj;     // Offset:  256 Size:    64 [unused]
//   float4 ConstantColour;             // Offset:  320 Size:    16 [unused]
//   float4 Time;                       // Offset:  336 Size:    16 [unused]
//   float4 CameraPosition;             // Offset:  352 Size:    16 [unused]
//   float4 InvProjectionParams;        // Offset:  368 Size:    16 [unused]
//   float4 SecondaryInvProjectionParams;// Offset:  384 Size:    16 [unused]
//   float4 ShaderDebugParams;          // Offset:  400 Size:    16 [unused]
//   float4 ToneMappingDebugParams;     // Offset:  416 Size:    16 [unused]
//   float4 HDR_EncodeScale2;           // Offset:  432 Size:    16
//   float4 EmissiveSurfaceMultiplier;  // Offset:  448 Size:    16 [unused]
//   float4 AlphaLight_OffsetScale;     // Offset:  464 Size:    16 [unused]
//   float4 TessellationScaleFactor;    // Offset:  480 Size:    16 [unused]
//   float4 FogNearColour;              // Offset:  496 Size:    16 [unused]
//   float4 FogFarColour;               // Offset:  512 Size:    16 [unused]
//   float4 FogParams;                  // Offset:  528 Size:    16 [unused]
//   float4 AdvanceEnvironmentShaderDebugParams;// Offset:  544 Size:    16 [unused]
//   float4 SMAA_RTMetrics;             // Offset:  560 Size:    16 [unused]
//
// }
//
// cbuffer cbRadiosityPSC
// {
//
//   float4 RadiosityParams;            // Offset:    0 Size:    16
//   float4 RadiosityDebugOutputWeights;// Offset:   16 Size:    16 [unused]
//   float4 RadiositySSAOScale;         // Offset:   32 Size:    16 [unused]
//   float4 RadiosityParams2;           // Offset:   48 Size:    16 [unused]
//
// }
//
// cbuffer cbRadiosityXSC
// {
//
//   float4 RadiosityInputSliceTexScaleBias;// Offset:    0 Size:    16 [unused]
//   float4 RadiosityInputSlicePosScaleBias;// Offset:   16 Size:    16 [unused]
//   float4 RadiosityOutputSliceTexScaleBias;// Offset:   32 Size:    16
//   float4 RadiosityOutputSlicePosScaleBias;// Offset:   48 Size:    16 [unused]
//   float4 RadiosityInputOutputSliceSize;// Offset:   64 Size:    16 [unused]
//   float4 RadiosityComputeParams;     // Offset:   80 Size:    16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_smp_albedo_SMP                  sampler      NA          NA    2        1
// g_smp_indirect_irradiance_SMP     sampler      NA          NA    3        1
// g_smp_mangle_SMP                  sampler      NA          NA    5        1
// g_smp_albedo_TEX                  texture  float4          2d    2        1
// g_smp_indirect_irradiance_TEX     texture  float4          2d    3        1
// g_smp_mangle_TEX                  texture  float4          2d    5        1
// cbDefaultXSC                      cbuffer      NA          NA    0        1
// cbRadiosityPSC                    cbuffer      NA          NA    8        1
// cbRadiosityXSC                    cbuffer      NA          NA    9        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xy  
// SV_Position              0   xyzw        1      POS   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[28], immediateIndexed
dcl_constantbuffer cb8[1], immediateIndexed
dcl_constantbuffer cb9[3], immediateIndexed
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s5, mode_default
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t5
dcl_input_ps linear v0.xy
dcl_output o0.xyzw
dcl_temps 2
sample_indexable(texture2d)(float,float,float,float) r0.xyz, v0.xyxx, t2.xyzw, s2
max r0.w, r0.z, r0.y
max r0.w, r0.w, r0.x
add r0.w, r0.w, l(0.000100)
add r1.xyz, r0.xyzx, l(0.000100, 0.000100, 0.000100, 0.000000)
div r1.xyz, r1.xyzx, r0.wwww
add r1.xyz, -r0.xyzx, r1.xyzx
mad r0.xyz, cb8[0].zzzz, r1.xyzx, r0.xyzx
dp3 r0.w, r0.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000)
add r0.xyz, -r0.wwww, r0.xyzx
mad_sat r0.xyz, cb8[0].wwww, r0.xyzx, r0.wwww
mul r0.xyz, r0.xyzx, cb8[0].yyyy
sample_indexable(texture2d)(float,float,float,float) r1.xy, v0.xyxx, t5.xwyz, s5
mad r1.xy, r1.xyxx, l(0.996094, 0.996094, 0.000000, 0.000000), l(0.001953, 0.001953, 0.000000, 0.000000)
mad r1.xy, r1.xyxx, cb9[2].xyxx, cb9[2].zwzz
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t3.xyzw, s3
mul r1.xyz, r1.xyzx, cb0[27].wwww
max r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul o0.xyz, r0.xyzx, r1.xyzx
mov o0.w, l(1.000000)
ret 
// Approximately 21 instruction slots used
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
