// Vignette while moving part of the time
// See also: 4412aa449d9914db
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//   using 3Dmigoto v1.2.31 on Wed Mar 02 08:06:30 2016
//
//
// Buffer Definitions: 
//
// cbuffer CPostFxHDRBloomEffectsParameterProvider
// {
//
//   float4 BloomSmoothingParams;       // Offset:    0 Size:    16 [unused]
//   float4 BokehParams;                // Offset:   16 Size:    16
//   float4 ColorAdjustment;            // Offset:   32 Size:    16
//   float4 ColorBurnColorNormalized;   // Offset:   48 Size:    16 [unused]
//   float4 ColorBurnParameters;        // Offset:   64 Size:    16 [unused]
//   float4 ColorMaskAlphaOffset;       // Offset:   80 Size:    16
//   float4 ColorMaskColor;             // Offset:   96 Size:    16
//   float4 ColorMaskUVScaleBias;       // Offset:  112 Size:    16
//   float4 ColorSeparationOpacity;     // Offset:  128 Size:    16 [unused]
//   float4 ColorSeparationUVScaleBias0;// Offset:  144 Size:    16 [unused]
//   float4 ColorSeparationUVScaleBias1;// Offset:  160 Size:    16 [unused]
//   float4 ColorSeparationUVScaleBias2;// Offset:  176 Size:    16 [unused]
//   float4 CombineSettings;            // Offset:  192 Size:    16 [unused]
//   float4 DistortionSharpnessAndFactor;// Offset:  208 Size:    16
//   float4 FocusDistances;             // Offset:  224 Size:    16
//   float4 LoResTextureSize;           // Offset:  240 Size:    16 [unused]
//   float4 LuminanceParams;            // Offset:  256 Size:    16 [unused]
//   float4 OverlayColor;               // Offset:  272 Size:    16
//   float4 SourceDistortionTextureScaleBias;// Offset:  288 Size:    16 [unused]
//   float4 VignetteNoiseParams;        // Offset:  304 Size:    16
//   float2 ExposureZoom;               // Offset:  320 Size:     8 [unused]
//   float FocusPlane;                  // Offset:  328 Size:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// PointTextureSampler               sampler      NA          NA    0        1
// LinearTextureSampler              sampler      NA          NA    1        1
// ColorSampler                      texture  float4          2d    0        1
// ColorAndMaskTexture               texture  float4          2d    1        1
// CombinedBloomTexture              texture  float4          2d    2        1
// LinearDepthSampler                texture   float          2d    3        1
// BlurredSceneSampler               texture  float4          2d    4        1
// ColorRemap0VolumeSampler          texture  float4          3d    5        1
// ColorMaskTexture                  texture  float4          2d    6        1
// DistortionTexture                 texture  float4          2d    7        1
// CPostFxHDRBloomEffectsParameterProvider    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  
// SV_IsFrontFace           0   x           2    FFACE    uint       
//
//
// 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
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[21], 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_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture3d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_input_ps_siv linear noperspective centroid v0.xy, position
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 6
dcl_resource_texture2d (float,float,float,float) t125

ld_indexable(texture2d)(float,float,float,float) r4.xyzw, l(0, 0, 0, 0), t125.xyzw

sample_l_indexable(texture2d)(float,float,float,float) r0.xyz, v1.xyxx, t7.xyzw, s1, l(0.000000)
mul r0.x, r0.x, l(6.283200)
sincos r0.x, r1.x, r0.x
mov r1.y, r0.x
mad r2.xyzw, r1.xxyy, r0.zzzz, v1.xxyy
mul r0.xz, r0.zzzz, r1.xxyx
mul r1.xy, r2.xzxx, l(10.000000, 10.000000, 0.000000, 0.000000)
mad r1.zw, r2.yyyw, l(0.000000, 0.000000, -10.000000, -10.000000), l(0.000000, 0.000000, 10.000000, 10.000000)
min_sat r1.xy, r1.zwzz, r1.xyxx
mad r1.zw, r0.xxxz, r1.xxxy, v1.xxxy
mul r0.xz, r0.xxzx, r1.xxyx
sample_l_indexable(texture2d)(float,float,float,float) r0.w, r1.zwzz, t7.xyzw, s1, l(0.000000)
mad r0.xz, r0.xxzx, r0.wwww, v1.xxyx
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, r0.xzxx, t0.xyzw, s0, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r2.xyz, r0.xzxx, t4.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r3.xyzw, r0.xzxx, t1.xyzw, s1, l(0.000000)
add r0.xzw, -r1.xxyz, r2.xxyz
mad r0.xyz, r0.yyyy, r0.xzwx, r1.xyzx
add r1.xyz, -r0.xyzx, r2.xyzx
mad r0.xyz, -cb0[13].xxxx, r1.xyzx, r0.xyzx
add r1.xyz, -r0.xyzx, r3.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r0.w, v1.xyxx, t3.yzwx, s0, l(0.000000)
mad r2.xy, r0.wwww, cb0[14].xzxx, cb0[14].ywyy
lt r0.w, r0.w, cb0[20].z
movc r0.w, r0.w, r2.x, r2.y
min r0.w, |r0.w|, l(1.000000)
mul r0.w, r0.w, r0.w
mad_sat r0.w, r0.w, cb0[1].z, l(-0.500000)
max r0.w, r3.w, r0.w
min r0.w, r0.w, l(1.000000)
mad r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r1.xyz, v1.xyxx, t2.xyzw, s1, l(0.000000)
add r0.xyz, r0.xyzx, r1.xyzx

// Adjust vignette / hunter vision yellow outline fade out:
mov r5.xy, v1.xy
mad r5.x, r4.x, l(-0.5), r5.x

add r1.xy, r5.xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
dp2 r0.w, r1.xyxx, r1.xyxx
add r0.w, -r0.w, l(1.000000)
max r0.w, r0.w, l(0.000000)
log r0.w, r0.w
mul r0.w, r0.w, cb0[19].x
exp r0.w, r0.w
mul r0.xyz, r0.wwww, r0.xyzx
dp3 r1.x, l(0.597180, 0.354580, 0.048230, 0.000000), r0.xyzx
dp3 r1.y, l(0.075990, 0.908340, 0.015660, 0.000000), r0.xyzx
dp3 r1.z, l(0.028400, 0.133820, 0.837760, 0.000000), r0.xyzx
add r0.xyz, r1.xyzx, l(0.0206166003, 0.0206166003, 0.0206166003, 0.000000)
mad r0.xyz, r1.xyzx, r0.xyzx, l(-0.0000745694997, -0.0000745694997, -0.0000745694997, 0.000000)
mad r2.xyz, r1.xyzx, l(0.983796, 0.983796, 0.983796, 0.000000), l(0.433679, 0.433679, 0.433679, 0.000000)
mad r1.xyz, r1.xyzx, r2.xyzx, l(0.246179, 0.246179, 0.246179, 0.000000)
div r0.xyz, r0.xyzx, r1.xyzx
dp3_sat r1.x, l(1.604750, -0.531080, -0.073670, 0.000000), r0.xyzx
dp3_sat r1.y, l(-0.102080, 1.108130, -0.006050, 0.000000), r0.xyzx
dp3_sat r1.z, l(-0.003260, -0.072750, 1.076020, 0.000000), r0.xyzx
log r0.xyz, r1.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)
ge r2.xyz, l(0.00313080009, 0.00313080009, 0.00313080009, 0.000000), r1.xyzx
mul r1.xyz, r1.xyzx, l(12.920000, 12.920000, 12.920000, 0.000000)
movc r0.xyz, r2.xyzx, r1.xyzx, r0.xyzx
mad r0.xyz, r0.xyzx, l(0.968750, 0.968750, 0.968750, 0.000000), l(0.015625, 0.015625, 0.015625, 0.000000)
sample_l_indexable(texture3d)(float,float,float,float) r0.xyz, r0.xyzx, t5.xyzw, s1, l(0.000000)
add r1.xyz, -r0.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
add r1.xyz, r1.xyzx, r1.xyzx
add r2.xyz, -cb0[17].xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mad r1.xyz, -r1.xyzx, r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r2.xyz, r0.xyzx, cb0[17].xyzx
ge r0.xyz, r0.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000)
and r0.xyz, r0.xyzx, l(0x3f800000, 0x3f800000, 0x3f800000, 0)
mad r1.xyz, -r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), r1.xyzx
add r2.xyz, r2.xyzx, r2.xyzx
mad r0.xyz, r0.xyzx, r1.xyzx, r2.xyzx
mad r1.xy, v1.xyxx, cb0[7].xyxx, cb0[7].zwzz
sample_indexable(texture2d)(float,float,float,float) r1.xyzw, r1.xyxx, t6.xyzw, s1
mad r1.xyz, cb0[6].xyzx, r1.xyzx, -r0.xyzx
mad_sat r0.w, cb0[6].w, r1.w, cb0[5].x
mad r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
add r0.w, -r0.w, l(1.000000)
mul r0.w, r0.w, cb0[19].y
log r0.xyz, |r0.xyzx|
mul r0.xyz, r0.xyzx, cb0[2].zzzz
exp r0.xyz, r0.xyzx
mad_sat r0.xyz, r0.xyzx, cb0[2].yyyy, cb0[2].xxxx
round_ni r1.xy, v0.xyxx
ftou r1.xy, r1.xyxx
imad r1.x, r1.x, l(0x0019660d), r1.y
ftou r1.y, cb0[19].z
iadd r1.x, r1.x, r1.y
xor r1.y, r1.x, l(61)
ushr r1.x, r1.x, l(16)
xor r1.x, r1.x, r1.y
imul null, r1.x, r1.x, l(9)
ushr r1.y, r1.x, l(4)
xor r1.x, r1.y, r1.x
imul null, r1.x, r1.x, l(0x27d4eb2d)
ushr r1.y, r1.x, l(15)
xor r1.x, r1.y, r1.x
utof r1.x, r1.x
mad r1.x, r1.x, l(4.656612873E-010), l(-1.000000)
mad r0.xyz, r1.xxxx, r0.wwww, r0.xyzx
dp3 r0.w, r0.xyzx, l(0.212600, 0.715200, 0.072200, 0.000000)
mov o0.xyzw, r0.xyzw
mov o1.x, r0.w
mov o1.yzw, l(0,0,0,0)
ret 
// Approximately 104 instruction slots used