//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v1.3.16 on Mon Jan 31 23:42:37 2022
//
//
// Buffer Definitions:
//
// cbuffer ConstBuf__passData
// {
//
//   struct PostEffectsFullResPassData
//   {
//
//       struct FullResResolveConstants
//       {
//
//           float MotionBlurEnabled;   // Index:    0
//           float DebugBlur;           // Index:    0.y
//           float DebugBlurEffect;     // Index:    0.z
//           float NoOpaquePass;        // Index:    0.w
//           uint DebugTakingCalibrationScreenshot;// Index:    1
//           float DebugMotionVectors;  // Index:    1.y
//           float BloomEnabled;        // Index:    1.z
//           float2 screenSize;         // Index:    2
//           float2 screenSizeRcp;      // Index:    2.z
//           float2 screenHalfSize;     // Index:    3
//           float2 screenHalfSizeRcp;  // Index:    3.z
//           float2 screenSizeResolved; // Index:    4
//           float2 screenSizeResolvedRcp;// Index:    4.z
//           float2 screenResolvedToUnresolved;// Index:    5
//           float2 screenUnresolvedToResolved;// Index:    5.z
//           float2 motionVectorTemporalRescaleCompress;// Index:    6
//           float2 motionVectorTemporalRescaleDecompress;// Index:    6.z
//           float2 dlssScreenSize;     // Index:    7
//           float2 screenScale;        // Index:    7.z
//           float2 screenOffset;       // Index:    8
//           float4 scaleOffsetR;       // Index:    9
//           float4 scaleOffsetG;       // Index:   10
//           float4 scaleOffsetB;       // Index:   11
//           float3 Vignette_Color;     // Index:   12
//           float Vignette_Brightness; // Index:   12.w
//           float Vignette_Falloff;    // Index:   13
//           float Vignette_Scale;      // Index:   13.y
//           float lensVignetteExposureSq;// Index:   13.z
//           float scale;               // Index:   13.w
//           float rcpScreenLensRadius2;// Index:   14
//           float2 screenLensCenter;   // Index:   14.y
//           int filmGrainOffset;       // Index:   14.w
//           float4 filmGrainUVTransform;// Index:   15
//           float filmGrainEffectShadows;// Index:   16
//           float filmGrainEffectMids; // Index:   16.y
//           float filmGrainEffectBrights;// Index:   16.z
//           float doUnsharp;           // Index:   16.w
//           float unsharpStrength;     // Index:   17
//           bool DebugNoLUT;           // Index:   17.y
//           bool passThrough;          // Index:   17.z
//           bool passThrough_Exposure; // Index:   17.w
//           bool passThrough_WhiteBalance;// Index:   18
//           bool passThrough_SLog;     // Index:   18.y
//
//       } constants;                   // Index:    0
//
//       struct ToneMappingConstants
//       {
//
//           float3 WBMatrixR;          // Index:   19
//           float3 WBMatrixG;          // Index:   20
//           float3 WBMatrixB;          // Index:   21
//           float EnableLocalAdaptation;// Index:   21.w
//           float Adaptation_Exposure; // Index:   22
//           float ExposureEV;          // Index:   22.y
//           float ExposureEVClampMin;  // Index:   22.z
//           float ExposureEVClampMax;  // Index:   22.w
//           float LocalAdaptationShadows;// Index:   23
//           float LocalAdaptationHighlights;// Index:   23.y
//           int Tonemapping_Curve;     // Index:   23.z
//           float Contrast;            // Index:   23.w
//           float HDRMax;              // Index:   24
//           float HDRWhite;            // Index:   24.y
//           float ContrastTimesShoulder;// Index:   24.z
//           float ChannelCrossTalk;    // Index:   24.w
//           float PrecomputedBMult;    // Index:   25
//           float PrecomputedCAdd;     // Index:   25.y
//           float SceneToScreenPower;  // Index:   25.z
//           float IsHDRRendering;      // Index:   25.w
//           float DebugHDRRendering;   // Index:   26
//           float DebugHDRRenderingPhase;// Index:   26.y
//           float DebugNoHDRRendering; // Index:   26.z
//           float ShowWaveform;        // Index:   26.w
//
//       } toneMappingConstants;        // Index:   19
//
//       struct TemporalAAConsts
//       {
//
//           float TAAConvergenceLimit; // Index:   27
//           float TAAHP;               // Index:   27.y
//           float TAALP;               // Index:   27.z
//           float TAAColorExtent;      // Index:   27.w
//           float TAACheckerboardFramePhase;// Index:   28
//           float TAAMotionRejection;  // Index:   28.y
//           float TAAEnable;           // Index:   28.z
//           float HalfResTAAEnable;    // Index:   28.w
//           float HalfResTAAConvergence;// Index:   29
//           uint TAAForceSmooth;       // Index:   29.y
//           float TAATransparentsContributionRejectionMultiply;// Index:   29.z
//           float TAAVarianceBlurIncrease;// Index:   29.w
//           float TAAVarianceTransparentDecrease;// Index:   30
//           float TAAEncodeRange;      // Index:   30.y
//           float TAAInvEncodeRange;   // Index:   30.z
//           uint DebugSimilarity;      // Index:   30.w
//           float VarianceWindow;      // Index:   31
//           float2 UpsampleOffset;     // Index:   31.y
//
//       } temporalConsts;              // Index:   27
//
//       struct DoFCoCStruct
//       {
//
//           float m_Enabled;           // Index:   32
//           float m_DebugDOF;          // Index:   32.y
//           float m_NearDistanceOfAcceptableSharpness;// Index:   32.z
//           float m_FarDistanceOfAcceptableSharpness;// Index:   32.w
//           float m_CircleOfConfusionMultiplier;// Index:   33
//           float m_CameraApertureHeightRelativeRcp;// Index:   33.y
//           float m_HyperFocalDistance;// Index:   33.z
//           float m_FocusDistance;     // Index:   33.w
//           float m_FStop;             // Index:   34
//           float m_DepthReprojectScale;// Index:   34.y
//           float m_DepthReprojectBias;// Index:   34.z
//
//       } dofConstants;                // Index:   32
//
//   } resourceTables__passData;        // Index:    0-34.z           Components:   139
                                        // Textures:  t0-t16
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// resourceTables__passData__smpPointWrap    sampler      NA          NA    2        1
// resourceTables__passData.InputAntialiasedSurface    texture  float4          2d   11        1
// resourceTables__passData.InputGrain    texture  float4          2d   16        1
// ConstBuf__passData                cbuffer      NA          NA    0        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float   xy
// TEXCOORD                 1     zw        1     NONE   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[18], immediateIndexed
dcl_sampler s2, mode_default
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t16
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 11
ftou r0.xy, v0.xyxx
ftou r0.zw, cb0[8].xxxy
iadd r0.xy, -r0.zwzz, r0.xyxx
utof r0.xy, r0.xyxx
mul r0.xy, r0.xyxx, cb0[7].zwzz
ftou r0.xy, r0.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.xyz, r0.xyzw, t11.xyzw
mul r2.xyz, r1.xyzx, r1.xyzx
ne r0.z, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[16].w
if_nz r0.z
  iadd r3.xyzw, r0.xyxy, l(1, 0, -1, 0)
  mov r4.xy, r3.zwzz
  mov r4.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyzw, t11.xyzw
  mul r5.xyz, r4.xyzx, r4.xyzx
  mov r3.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r3.xyz, r3.xyzw, t11.xyzw
  mul r3.xyz, r3.xyzx, r3.xyzx
  iadd r0.xyzw, r0.xyxy, l(0, -1, 0, 1)
  mov r6.xy, r0.zwzz
  mov r6.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r6.xyz, r6.xyzw, t11.xyzw
  mul r7.xyz, r6.xyzx, r6.xyzx
  mov r0.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyzw, t11.xyzw
  mul r8.xyz, r0.xyzx, r0.xyzx
  min r9.xyz, r3.xyzx, r5.xyzx
  min r9.xyz, r2.xyzx, r9.xyzx
  min r10.xyz, r7.xyzx, r8.xyzx
  min r9.xyz, r9.xyzx, r10.xyzx
  max r5.xyz, r3.xyzx, r5.xyzx
  max r5.xyz, r2.xyzx, r5.xyzx
  max r7.xyz, r7.xyzx, r8.xyzx
  max r5.xyz, r5.xyzx, r7.xyzx
  mad r3.xyz, r4.xyzx, r4.xyzx, r3.xyzx
  mad r3.xyz, r6.xyzx, r6.xyzx, r3.xyzx
  mad r0.xyz, r0.xyzx, r0.xyzx, r3.xyzx
  mul r0.xyz, r0.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
  mad r1.xyz, r1.xyzx, r1.xyzx, -r0.xyzx
  mad r0.xyz, cb0[17].xxxx, r1.xyzx, r0.xyzx
  min r1.xyz, r9.xyzx, r0.xyzx
  max r0.xyz, r9.xyzx, r0.xyzx
  min r0.xyz, r5.xyzx, r0.xyzx
  max r2.xyz, r0.xyzx, r1.xyzx
endif
mov_sat r0.xyz, r2.xyzx
dp3 r0.x, r0.xyzx, l(0.299000, 0.587000, 0.114000, 0.000000)
mad r0.y, -r0.x, l(4.000000), l(1.000000)
max r0.y, r0.y, l(0.000000)
mad_sat r0.x, r0.x, l(8.000000), l(-1.000000)
add r0.z, -r0.y, l(1.000000)
add r0.z, -r0.x, r0.z
max r0.z, r0.z, l(0.000000)
mul r0.x, r0.x, cb0[16].z
mad r0.x, r0.y, cb0[16].x, r0.x
mad r0.x, r0.z, cb0[16].y, r0.x
mad r0.yz, v1.xxyx, cb0[15].xxyx, cb0[15].zzwz
sample_l_indexable(texture2d)(float,float,float,float) r0.y, r0.yzyy, t16.yxzw, s2, l(0.000000)
mad r0.y, r0.y, l(2.000000), l(-1.000000)
mad r0.xyz, r0.yyyy, r0.xxxx, r2.xyzx
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
lt r1.xyz, r0.xyzx, l(0.00313080009, 0.00313080009, 0.00313080009, 0.000000)
mul r2.xyz, r0.xyzx, l(12.920000, 12.920000, 12.920000, 0.000000)
log r0.xyz, r0.xyzx
mul r0.xyz, r0.xyzx, l(0.416666657, 0.416666657, 0.416666657, 0.000000)
exp r0.xyz, r0.xyzx
mad r0.xyz, r0.xyzx, l(1.055000, 1.055000, 1.055000, 0.000000), l(-0.055000, -0.055000, -0.055000, 0.000000)
movc o0.xyz, r1.xyzx, r2.xyzx, r0.xyzx
mov o0.w, l(1.000000)
ret
// Approximately 71 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v1.3.16 on Mon Jan 31 23:42:37 2022
//
// cbuffer ConstBuf__passData : register(b0)
// {
//
//   struct
//   {
//
//     struct
//     {
//       float MotionBlurEnabled;
//       float DebugBlur;
//       float DebugBlurEffect;
//       float NoOpaquePass;
//       uint DebugTakingCalibrationScreenshot;
//       float DebugMotionVectors;
//       float BloomEnabled;
//       float2 screenSize;
//       float2 screenSizeRcp;
//       float2 screenHalfSize;
//       float2 screenHalfSizeRcp;
//       float2 screenSizeResolved;
//       float2 screenSizeResolvedRcp;
//       float2 screenResolvedToUnresolved;
//       float2 screenUnresolvedToResolved;
//       float2 motionVectorTemporalRescaleCompress;
//       float2 motionVectorTemporalRescaleDecompress;
//       float2 dlssScreenSize;
//       float2 screenScale;
//       float2 screenOffset;
//       float4 scaleOffsetR;
//       float4 scaleOffsetG;
//       float4 scaleOffsetB;
//       float3 Vignette_Color;
//       float Vignette_Brightness;
//       float Vignette_Falloff;
//       float Vignette_Scale;
//       float lensVignetteExposureSq;
//       float scale;
//       float rcpScreenLensRadius2;
//       float2 screenLensCenter;
//       int filmGrainOffset;
//       float4 filmGrainUVTransform;
//       float filmGrainEffectShadows;
//       float filmGrainEffectMids;
//       float filmGrainEffectBrights;
//       float doUnsharp;
//       float unsharpStrength;
//       bool DebugNoLUT;
//       bool passThrough;
//       bool passThrough_Exposure;
//       bool passThrough_WhiteBalance;
//       bool passThrough_SLog;
//     } constants;
//
//
//     struct
//     {
//       float3 WBMatrixR;
//       float3 WBMatrixG;
//       float3 WBMatrixB;
//       float EnableLocalAdaptation;
//       float Adaptation_Exposure;
//       float ExposureEV;
//       float ExposureEVClampMin;
//       float ExposureEVClampMax;
//       float LocalAdaptationShadows;
//       float LocalAdaptationHighlights;
//       int Tonemapping_Curve;
//       float Contrast;
//       float HDRMax;
//       float HDRWhite;
//       float ContrastTimesShoulder;
//       float ChannelCrossTalk;
//       float PrecomputedBMult;
//       float PrecomputedCAdd;
//       float SceneToScreenPower;
//       float IsHDRRendering;
//       float DebugHDRRendering;
//       float DebugHDRRenderingPhase;
//       float DebugNoHDRRendering;
//       float ShowWaveform;
//     } toneMappingConstants;
//
//
//     struct
//     {
//       float TAAConvergenceLimit;
//       float TAAHP;
//       float TAALP;
//       float TAAColorExtent;
//       float TAACheckerboardFramePhase;
//       float TAAMotionRejection;
//       float TAAEnable;
//       float HalfResTAAEnable;
//       float HalfResTAAConvergence;
//       uint TAAForceSmooth;
//       float TAATransparentsContributionRejectionMultiply;
//       float TAAVarianceBlurIncrease;
//       float TAAVarianceTransparentDecrease;
//       float TAAEncodeRange;
//       float TAAInvEncodeRange;
//       uint DebugSimilarity;
//       float VarianceWindow;
//       float2 UpsampleOffset;
//     } temporalConsts;
//
//
//     struct
//     {
//       float m_Enabled;
//       float m_DebugDOF;
//       float m_NearDistanceOfAcceptableSharpness;
//       float m_FarDistanceOfAcceptableSharpness;
//       float m_CircleOfConfusionMultiplier;
//       float m_CameraApertureHeightRelativeRcp;
//       float m_HyperFocalDistance;
//       float m_FocusDistance;
//       float m_FStop;
//       float m_DepthReprojectScale;
//       float m_DepthReprojectBias;
//     } dofConstants;
//
//   } resourceTables__passData : packoffset(c0);
//
//
// SamplerState resourceTables__passData__smpPointWrap_s : register(s2);
// Texture2D<float4> resourceTables__passData.InputAntialiasedSurface : register(t11);
// Texture2D<float4> resourceTables__passData.InputGrain : register(t16);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   float2 v1 : TEXCOORD0,
//   float2 w1 : TEXCOORD1,
//   out float4 o0 : SV_Target0)
// {
//   Textures: = t0-t16;
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = (uint2)v0.xy;
//   r0.zw = (int2)resourceTables__passData.constants.screenOffset.xy + ;
//   r0.xy = (uint2)-r0.zw;
//   r0.xy =  * r0.xy;
//   r0.xy = (uint2)r0.xy;
//   r0.xy = float2(0,0);
//   r0.zw = .Load(float4(0,0,0,0))(null);
//   r1.xyz = t11.xyz * r0.xyz;
//   r2.xyz = cmp(r1.xyz != r1.xyz);
//   if (r0.z != 0) {
//     r0.z =  + ;
//     r3.xyzw = r0.xyxy;
//     r4.xy = float2(0,0);
//     r4.zw = .Load(float4(0,0,0,0))(null);
//     r4.xyz = t11.xyz * r4.xyz;
//     r5.xyz = float3(0,0,0);
//     r3.zw = .Load(float4(0,0,0,0))(null);
//     r3.xyz = t11.xyz * r3.xyz;
//     r3.xyz = (int3)r3.xyz + (int3)r3.xyz;
//     r0.xyzw = r0.xyxy;
//     r6.xy = float2(0,0);
//     r6.zw = .Load(float4(0,0,0,0))(null);
//     r6.xyz = t11.xyz * r6.xyz;
//     r7.xyz = float3(0,0,0);
//     r0.zw = .Load(float4(0,0,0,0))(null);
//     r0.xyz = t11.xyz * r0.xyz;
//     r8.xyz = min(r0.xyz, r0.xyz);
//     r9.xyz = min(r5.xyz, r3.xyz);
//     r9.xyz = min(r9.xyz, r2.xyz);
//     r10.xyz = min(r8.xyz, r7.xyz);
//     r9.xyz = max(r10.xyz, r9.xyz);
//     r5.xyz = max(r5.xyz, r3.xyz);
//     r5.xyz = max(r5.xyz, r2.xyz);
//     r7.xyz = max(r8.xyz, r7.xyz);
//     r5.xyz = r5.xyz * r7.xyz + ;
//     r3.xyz = r4.xyz * r4.xyz + r3.xyz;
//     r3.xyz = r6.xyz * r6.xyz + r3.xyz;
//     r0.xyz = r0.xyz * r0.xyz;
//     r0.xyz = r0.xyz * float3(0.25,0.25,0.25) + ;
//     r1.xyz = r1.xyz * r1.xyz + -r0.xyz;
//     r0.xyz = min(r1.xyz, resourceTables__passData.constants.unsharpStrength);
//     r1.xyz = max(r0.xyz, r9.xyz);
//     r0.xyz = min(r0.xyz, r9.xyz);
//     r0.xyz = max(r0.xyz, r5.xyz);
//   }
//    = saturate();
//   r0.xyz = dot(r2.xyz, );
//   r0.x = r0.x * 0.298999995 + ;
//   r0.y = max(4.000000, -r0.x);
//   r0.y = saturate(r0.y * 0.000000 + );
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// error X3506: unrecognized compiler target '                                        // Textures:  t0-t16'
/////////////////////////////////////////////////////////////////////////////
