//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//
// Buffer Definitions: 
//
// cbuffer _Globals
// {
//
//   float colourfulness;               // Offset:    0 Size:     4
//   float lim_luma;                    // Offset:    4 Size:     4
//   bool enable_dither;                // Offset:    8 Size:     4
//   bool col_noise;                    // Offset:   12 Size:     4
//   float backbuffer_bits;             // Offset:   16 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim      HLSL Bind  Count
// ------------------------------ ---------- ------- ----------- -------------- ------
// __s0                              sampler      NA          NA             s0      1 
// __V__ReShade__BackBufferTex       texture  float4          2d             t0      1 
// _Globals                          cbuffer      NA          NA            cb0      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  
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyz         0   TARGET   float   xyz 
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[2], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xy
dcl_output o0.xyz
dcl_temps 5
sample_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t0.xyzw, s0
mul_sat r1.xyz, |r0.xyzx|, r0.xyzx
dp3 r0.w, r1.xyzx, l(0.255800, 0.651100, 0.093100, 0.000000)
sqrt r0.w, r0.w
mov_sat r0.xyz, r0.xyzx
add r1.xyz, -r0.wwww, r0.xyzx
add r1.w, cb0[0].x, l(1.000000)
mad r2.xyz, r1.xyzx, r1.wwww, -r1.xyzx
lt r1.w, l(0.000000), cb0[0].x
if_nz r1.w
  mad r3.xyz, r2.xyzx, l(1.200000, 1.200000, 1.200000, 0.000000), r0.xyzx
  max r3.xyz, r3.xyzx, l(-0.000100, -0.000100, -0.000100, 0.000000)
  min r3.xyz, r3.xyzx, l(1.000100, 1.000100, 1.000100, 0.000000)
  add r3.xyz, -r0.xyzx, r3.xyzx
  add r1.w, -r0.w, l(1.000200)
  max r2.w, r1.z, r1.y
  max r2.w, r1.x, r2.w
  add r2.w, |r2.w|, l(0.000100)
  div r1.w, r1.w, r2.w
  add r0.w, r0.w, l(0.000200)
  min r2.w, r1.z, r1.y
  min r2.w, r1.x, r2.w
  add r2.w, |r2.w|, l(0.000100)
  div r0.w, r0.w, r2.w
  min r0.w, r0.w, r1.w
  min r0.w, r0.w, l(32.000000)
  mad r1.xyz, r1.xyzx, r0.wwww, -r1.xyzx
  sqrt r1.xyz, |r1.xyzx|
  add r0.w, -cb0[0].y, l(1.000000)
  sqrt r3.xyz, |r3.xyzx|
  mul r3.xyz, |r0.wwww|, r3.xyzx
  mad r1.xyz, |cb0[0].yyyy|, r1.xyzx, r3.xyzx
  mul r1.xyz, r1.xyzx, r1.xyzx
  max r1.xyz, r1.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  mul r3.xyz, r1.xyzx, r2.xyzx
  mul r4.xyz, r2.xyzx, r2.xyzx
  mad r1.xyz, r1.xyzx, r1.xyzx, r4.xyzx
  sqrt r1.xyz, r1.xyzx
  rcp r1.xyz, r1.xyzx
  mul r2.xyz, r1.xyzx, r3.xyzx
endif 
dp2 r0.w, v0.xyxx, l(0.067111, 0.005837, 0.000000, 0.000000)
frc r0.w, r0.w
mul r0.w, r0.w, l(52.982918)
frc r0.w, r0.w
add r0.w, r0.w, l(-0.500000)
exp r1.x, cb0[1].x
add r1.x, r1.x, l(-1.000000)
div r1.y, r0.w, r1.x
mov r1.xz, -r1.yyyy
movc r1.xyz, cb0[0].wwww, r1.xyzx, r1.yyyy
add r1.xyz, r1.xyzx, r2.xyzx
movc r1.xyz, cb0[0].zzzz, r1.xyzx, r2.xyzx
add_sat o0.xyz, r0.xyzx, r1.xyzx
ret 
// Approximately 55 instruction slots used
