//Radial blur PS 1.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.181 on Sun Dec 24 18:59:12 2023
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float
// TEXCOORD                 0   xy          1     NONE   float   xy
// TEXCOORD                 1   xyzw        2     NONE   float   xyzw
// TEXCOORD                 2   xyzw        3     NONE   float   xyzw
// TEXCOORD                 3   xyzw        4     NONE   float   xyzw
// TEXCOORD                 4   xyzw        5     NONE   float   xyzw
// TEXCOORD                 5   xyzw        6     NONE   float   xyzw
// TEXCOORD                 6   xyzw        7     NONE   float   xyzw
// TEXCOORD                 7   xyzw        8     NONE   float   xyzw
// TEXCOORD                 8   xyzw        9     NONE   float   xyzw
// TEXCOORD                 9   xyzw       10     NONE   float   xyzw
// TEXCOORD                10   xyzw       11     NONE   float   xyzw
//
//
// 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[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v1.xy
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xyzw
dcl_input_ps linear v4.xyzw
dcl_input_ps linear v5.xyzw
dcl_input_ps linear v6.xyzw
dcl_input_ps linear v7.xyzw
dcl_input_ps linear v8.xyzw
dcl_input_ps linear v9.xyzw
dcl_input_ps linear v10.xyzw
dcl_input_ps linear v11.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 33
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
dcl_indexrange v2.xyzw 10
mov r0.xyzw, l(0,0,0,0)
loop
  ige r1.x, r0.w, l(10)
  breakc_nz r1.x
  sample_indexable(texture2d)(float,float,float,float) r1.xyz, v[r0.w + 2].xyxx, t0.xyzw, s0
  mad r1.xyz, r1.xyzx, cb0[1].wwww, r0.xyzx
  sample_indexable(texture2d)(float,float,float,float) r2.xyz, v[r0.w + 2].zwzz, t0.xyzw, s0
  mad r0.xyz, r2.xyzx, cb0[1].wwww, r1.xyzx
  iadd r0.w, r0.w, l(1)
endloop

mov r21.xy, v1.xyxx
mad r21.x, r25.x, l(-1.0), r21.x

mad r1.xy, -|r21.xyxx|, |r21.xyxx|, l(1.000000, 1.000000, 0.000000, 0.000000)
max r1.xy, r1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
mad r0.w, -r1.x, r1.y, l(1.000000)
mad_sat r0.w, r0.w, cb0[0].w, cb0[1].x
mul_sat r0.w, r0.w, cb0[1].z
mul o0.xyz, r0.wwww, r0.xyzx
mul o1.xyz, r0.wwww, cb0[2].zzzz
mov o0.w, r0.w
mov o1.w, l(0)
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.181 on Sun Dec 24 18:59:12 2023
// Texture2D<float4> t0 : register(t0);
//
// SamplerState s0_s : register(s0);
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[3];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   float4 v1 : TEXCOORD0,
//   float4 v2 : TEXCOORD1,
//   float4 v3 : TEXCOORD2,
//   float4 v4 : TEXCOORD3,
//   float4 v5 : TEXCOORD4,
//   float4 v6 : TEXCOORD5,
//   float4 v7 : TEXCOORD6,
//   float4 v8 : TEXCOORD7,
//   float4 v9 : TEXCOORD8,
//   float4 v10 : TEXCOORD9,
//   float4 v11 : TEXCOORD10,
//   out float4 o0 : SV_TARGET0,
//   out float4 o1 : SV_TARGET1)
// {
//   float4 r0,r1,r2;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   float4 v[10] = { v0,v1,v2,v3,v4,v5,v6,v7,v8,v9 };
//   r0.xyzw = float4(0,0,0,0);
//   while (true) {
//     r1.x = cmp((int)r0.w >= 10);
//     if (r1.x != 0) break;
//     r1.xyz = t0.Sample(s0_s, v[r0.w+2].xy).xyz;
//     r1.xyz = r1.xyz * cb0[1].www + r0.xyz;
//     r2.xyz = t0.Sample(s0_s, v[r0.w+2].zw).xyz;
//     r0.xyz = r2.xyz * cb0[1].www + r1.xyz;
//     r0.w = (int)r0.w + 1;
//   }
//   r1.xy = -abs(v1.xy) * abs(v1.xy) + float2(1,1);
//   r1.xy = max(float2(0,0), r1.xy);
//   r0.w = -r1.x * r1.y + 1;
//   r0.w = saturate(r0.w * cb0[0].w + cb0[1].x);
//   r0.w = saturate(cb0[1].z * r0.w);
//   o0.xyz = r0.xyz * r0.www;
//   o1.xyz = cb0[2].zzz * r0.www;
//   o0.w = r0.w;
//   o1.w = 0;
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// E:\GOG\Dying Light\ShaderFixes\9ab0ae80f0f68362-ps_replace.txt(47,30-38): error X3504: literal loop terminated early due to out of bounds array access
// E:\GOG\Dying Light\ShaderFixes\9ab0ae80f0f68362-ps_replace.txt(42,10-13): error X3696: infinite loop detected - loop never exits
/////////////////////////////////////////////////////////////////////////////
