// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.164 on Wed Oct 28 14:28:24 2026
//
//
// Buffer Definitions:
//
// cbuffer ShadowApplyConstants
// {
//
//   row_major float4x4 g_xLightClipSpaceToCameraClipSpace;// Offset:    0 Size:    64 [unused]
//   row_major float4x4 g_xCameraViewSpaceToLightClipSpace;// Offset:   64 Size:    64
//   row_major float4x4 g_xCameraViewSpaceToLightViewSpace;// Offset:  128 Size:    64
//   row_major float4x4 g_xCameraViewSpaceToWorldSpace;// Offset:  192 Size:    64 [unused]
//   row_major float4x4 g_xUVXForm;     // Offset:  256 Size:    64
//   float4 g_xLightPos;                // Offset:  320 Size:    16 [unused]
//   float4 g_xShadowDirection;         // Offset:  336 Size:    16
//   float4 g_xSelfShadowBias;          // Offset:  352 Size:    16
//   float4 g_xShadowTextureSize;       // Offset:  368 Size:    16
//   float g_fTwoOverScreenWidth;       // Offset:  384 Size:     4
//   float g_fTwoOverScreenHeight;      // Offset:  388 Size:     4 [unused]
//   float g_fCameraTanHalfHorizFOV;    // Offset:  392 Size:     4
//   float g_fCameraTanHalfVertFOV;     // Offset:  396 Size:     4 [unused]
//   bool g_bUseNoise;                  // Offset:  400 Size:     4
//   float g_fShadowFilterTextureScale; // Offset:  404 Size:     4 [unused]
//   float g_fShadowFilterSize;         // Offset:  408 Size:     4 [unused]
//   float g_fShadowStrength;           // Offset:  412 Size:     4 [unused]
//   bool g_bCreatingShadowMask;        // Offset:  416 Size:     4
//   float g_fShadowFrustumNearPlaneDistance;// Offset:  420 Size:     4 [unused]
//   float g_fOneOverShadowFrustumPlaneSeparation;// Offset:  424 Size:     4 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_xFilteredWrap_s                 sampler      NA          NA    4        1
// g_ShadowCmpSam_s                sampler_c      NA          NA    6        1
// g_xKernelRotationTexture          texture  float4          2d   50        1
// g_xNormalDepthTexture             texture  float4          2d   51        1
// g_xShadowMapTexture               texture  float4          2d   52        1
// StereoParams                      texture  float4          2d  125        1
// ShadowApplyConstants              cbuffer      NA          NA   10        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { -0.326212, -0.405805, 0, 0},
                              { -0.840144, -0.073580, 0, 0},
                              { -0.695914, 0.457137, 0, 0},
                              { -0.203345, 0.620716, 0, 0},
                              { 0.962340, -0.194983, 0, 0},
                              { 0.473434, -0.480026, 0, 0},
                              { 0.519456, 0.767022, 0, 0},
                              { 0.185461, -0.893124, 0, 0},
                              { 0.507431, 0.064425, 0, 0},
                              { 0.896420, 0.412458, 0, 0},
                              { -0.321940, -0.932615, 0, 0},
                              { -0.791559, -0.597705, 0, 0} }
dcl_constantbuffer CB10[27], immediateIndexed
dcl_sampler s4, mode_default
dcl_sampler s6, mode_comparison
dcl_resource_texture2d (float,float,float,float) t50
dcl_resource_texture2d (float,float,float,float) t51
dcl_resource_texture2d (float,float,float,float) t52
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 11
round_z r0.xy, v0.xyxx
ftoi r0.xy, r0.xyxx
mov r0.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.xyz, r0.xyzw, t51.xyzw
dp2 r0.w, r0.xyxx, r0.xyxx
add r0.w, -r0.w, l(1.000000)
sqrt r0.w, |r0.w|
mul r1.x, |r0.z|, cb10[24].z
mad r2.yz, v0.xxyx, cb10[24].xxxx, l(0.000000, -1.000000, -1.000000, 0.000000)
ld_indexable(buffer)(float,float,float,float) r1.yz, l(0, 0, 0, 0), t125.zxyw
div r1.z, r1.z, r0.w
add r1.z, -r1.z, l(1.000000)
mad r2.x, -r1.y, r1.z, r2.y
mul r1.xy, r1.xxxx, r2.xzxx
mul r2.xyzw, r1.yyyy, cb10[5].xyzw
mad r2.xyzw, r1.xxxx, cb10[4].xyzw, r2.xyzw
mad r2.xyzw, |r0.zzzz|, cb10[6].xyzw, r2.xyzw
add r2.xyzw, r2.xyzw, cb10[7].xyzw
dp4 r3.x, cb10[16].xyzw, r2.xyzw
dp4 r3.y, cb10[17].xyzw, r2.xyzw
dp4 r3.z, cb10[18].xyzw, r2.xyzw
dp4 r1.z, cb10[19].xyzw, r2.xyzw
div r2.xyz, r3.xyzx, r1.zzzz
lt r3.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r1.z, r3.x, r3.y
or r1.z, r1.z, r3.z
itof r1.z, r1.z
ne r1.z, r1.z, l(0.000000)
discard_nz r1.z
add r3.xyz, -r2.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
lt r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r1.z, r3.x, r3.y
or r1.z, r1.z, r3.z
itof r1.z, r1.z
ne r1.z, r1.z, l(0.000000)
discard_nz r1.z
lt r1.z, l(0.000000), r0.z
movc r3.z, r1.z, r0.w, -r0.w
mul r0.w, r1.y, cb10[9].z
mad r0.w, r1.x, cb10[8].z, r0.w
mad r0.z, |r0.z|, cb10[10].z, r0.w
add r0.z, r0.z, cb10[11].z
movc r1.xy, cb10[26].xxxx, l(-1.000000,1.000000,0,0), l(0,0,0,0)
add r0.z, r0.z, r1.x
mov r3.xy, r0.xyxx
dp3_sat r0.x, cb10[21].xyzx, r3.xyzx
add r0.y, -r0.x, l(1.000000)
mad r0.y, r0.y, cb10[22].x, cb10[22].y
mad r0.y, r2.z, cb10[22].z, r0.y
add r3.z, -r0.y, r2.z
add r0.x, r0.x, r0.x
min r0.x, r0.x, l(1.000000)
dp2 r0.y, r1.yyyy, r0.zzzz
add_sat r0.y, r0.y, l(-1.000000)
movc r1.xz, cb10[25].xxxx, l(1.000000,0,1,0), l(0,0,0,0)
mad r0.y, r0.y, l(2.000000), r1.x
max r0.y, r0.y, l(0.200000)
mul r4.x, r0.y, r1.x
if_nz r1.z
  add r2.w, -r2.y, l(1.000000)
  mul r5.xyzw, r2.xwxw, l(16.000000, 16.000000, 64.000000, 64.000000)
  sample_indexable(texture2d)(float,float,float,float) r0.yw, r5.xyxx, t50.xywz, s4
  mad r0.yw, r0.yyyw, l(0.000000, 2.000000, 0.000000, 2.000000), l(0.000000, -1.000000, 0.000000, -1.000000)
  mul r0.yw, r4.xxxx, r0.yyyw
  sample_indexable(texture2d)(float,float,float,float) r1.zw, r5.zwzz, t50.xwyz, s4
  mad r1.zw, r1.zzzw, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
  mul r1.zw, r4.xxxx, r1.zzzw
  mul r1.zw, r1.zzzw, l(0.000000, 0.000000, 0.330000, 0.330000)
  mad r4.xy, r0.ywyy, l(0.660000, 0.660000, 0.000000, 0.000000), r1.zwzz
else
  mov r4.y, l(0)
endif
mad r3.xy, r2.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), l(0.000000, 1.000000, 0.000000, 0.000000)
mov r4.z, -r4.x
mov r2.z, l(0)
mov r0.yw, l(0,0,0,0)
loop
  ftoi r1.z, r0.w
  ige r1.w, r1.z, l(12)
  if_nz r1.w
    break
  endif
  ftou r1.w, r0.w
  dp2 r2.x, icb[r1.w + 0].xyxx, r4.xyxx
  dp2 r2.y, icb[r1.w + 0].xyxx, r4.yzyy
  add r2.xyw, r3.xyxz, r2.xyxz
  mad r5.xyzw, cb10[23].yxxx, r2.yxxx, l(0.500000, 0.500000, 0.500000, 0.500000)
  round_ni r2.xy, r5.wxww
  add r5.xyzw, -r2.yxxx, r5.xyzw
  mul r2.xy, r2.xyxx, cb10[23].zwzz
  gather4_c_aoffimmi_indexable(-1,-1,0)(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t52.xyzw, s6.x, r2.w
  add r7.xyzw, -r5.xyzw, l(1.000000, 1.000000, 2.000000, 3.000000)
  mul r8.xyzw, r6.wzxy, r7.yzyz
  add r5.yz, r8.yywy, r8.xxzx
  gather4_c_aoffimmi_indexable(1,-1,0)(texture2d)(float,float,float,float) r8.xyzw, r2.xyxx, t52.xyzw, s6.x, r2.w
  add r9.xyz, r5.wwww, l(2.000000, 1.000000, 1.000000, 0.000000)
  mul r6.zw, r5.wwww, r8.zzzy
  mul r1.w, r8.x, r9.x
  mad r8.xy, r9.zzzz, r8.wxww, r6.zwzz
  mul r3.w, r7.x, r8.x
  mad r3.w, r7.x, r5.y, r3.w
  mul r4.w, r5.x, r8.y
  mad r4.w, r5.x, r5.z, r4.w
  gather4_c_aoffimmi_indexable(-1,1,0)(texture2d)(float,float,float,float) r8.xyzw, r2.xyxx, t52.xyzw, s6.x, r2.w
  mul r10.xyzw, r7.yzyz, r8.wzxy
  add r5.yz, r10.yywy, r10.xxzx
  mad r3.w, r7.x, r5.y, r3.w
  mad r4.w, r5.x, r5.z, r4.w
  mad r5.y, r5.w, l(-2.000000), l(2.000000)
  mul r5.z, r6.y, r7.w
  mad r5.z, r6.x, r5.y, r5.z
  mul r6.x, r7.w, r8.z
  mad r5.y, r8.w, r5.y, r6.x
  gather4_c_aoffimmi_indexable(1,1,0)(texture2d)(float,float,float,float) r8.xyzw, r2.xyxx, t52.xyzw, s6.x, r2.w
  mul r2.xy, r5.wwww, r8.zyzz
  mul r2.w, r9.x, r8.w
  mad r6.xy, r8.wxww, r9.yzyy, r2.xyxx
  mad r8.x, r7.x, r6.x, r3.w
  mad r8.y, r5.x, r6.y, r4.w
  mad r1.w, r6.w, l(2.000000), r1.w
  mul r1.w, r1.w, r7.x
  mad r8.z, r7.x, r5.z, r1.w
  mad r1.w, r2.x, l(2.000000), r2.w
  mul r1.w, r1.w, r5.x
  mad r8.w, r5.x, r5.y, r1.w
  dp4 r1.w, r8.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
  mad r0.y, r1.w, l(0.0666666701), r0.y
  iadd r1.z, r1.z, l(1)
  itof r0.w, r1.z
endloop
mul r0.y, r0.y, r1.x
mad r0.z, -r0.z, r1.y, l(1.000000)
mul r0.y, r0.y, l(0.0833333358)
mul_sat r0.z, r0.z, r0.y
mul r0.x, r0.x, r0.z
movc_sat o0.w, cb10[26].x, r0.y, r0.x
mov o0.xyz, l(0,0,0,0)
ret
// Approximately 138 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.164 on Wed Oct 28 14:28:24 2026
//
// cbuffer ShadowApplyConstants : register(b10)
// {
//   row_major float4x4 g_xLightClipSpaceToCameraClipSpace : packoffset(c0);
//   row_major float4x4 g_xCameraViewSpaceToLightClipSpace : packoffset(c4);
//   row_major float4x4 g_xCameraViewSpaceToLightViewSpace : packoffset(c8);
//   row_major float4x4 g_xCameraViewSpaceToWorldSpace : packoffset(c12);
//   row_major float4x4 g_xUVXForm : packoffset(c16);
//   float4 g_xLightPos : packoffset(c20);
//   float4 g_xShadowDirection : packoffset(c21);
//   float4 g_xSelfShadowBias : packoffset(c22);
//   float4 g_xShadowTextureSize : packoffset(c23);
//   float g_fTwoOverScreenWidth : packoffset(c24);
//   float g_fTwoOverScreenHeight : packoffset(c24.y);
//   float g_fCameraTanHalfHorizFOV : packoffset(c24.z);
//   float g_fCameraTanHalfVertFOV : packoffset(c24.w);
//   bool g_bUseNoise : packoffset(c25);
//   float g_fShadowFilterTextureScale : packoffset(c25.y);
//   float g_fShadowFilterSize : packoffset(c25.z);
//   float g_fShadowStrength : packoffset(c25.w);
//   bool g_bCreatingShadowMask : packoffset(c26);
//   float g_fShadowFrustumNearPlaneDistance : packoffset(c26.y);
//   float g_fOneOverShadowFrustumPlaneSeparation : packoffset(c26.z);
// }
//
// SamplerState g_xFilteredWrap_s_s : register(s4);
// SamplerComparisonState g_ShadowCmpSam_s_s : register(s6);
// Texture2D<float4> g_xKernelRotationTexture : register(t50);
// Texture2D<float4> g_xNormalDepthTexture : register(t51);
// Texture2D<float4> g_xShadowMapTexture : register(t52);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   out float4 o0 : SV_Target0)
// {
//   const float4 icb[] = { { -0.326212, -0.405805, 0, 0},
//                               { -0.840144, -0.073580, 0, 0},
//                               { -0.695914, 0.457137, 0, 0},
//                               { -0.203345, 0.620716, 0, 0},
//                               { 0.962340, -0.194983, 0, 0},
//                               { 0.473434, -0.480026, 0, 0},
//                               { 0.519456, 0.767022, 0, 0},
//                               { 0.185461, -0.893124, 0, 0},
//                               { 0.507431, 0.064425, 0, 0},
//                               { 0.896420, 0.412458, 0, 0},
//                               { -0.321940, -0.932615, 0, 0},
//                               { -0.791559, -0.597705, 0, 0} };
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = trunc(v0.xy);
//   r0.xy = (int2)r0.xy;
//   r0.zw = float2(0,0);
//   r0.xyz = g_xNormalDepthTexture.Load(r0.xyz).xyz;
//   r0.w = dot(r0.xy, r0.xy);
//   r0.w = 1 + -r0.w;
//   r0.w = sqrt(abs(r0.w));
//   r1.x = g_fCameraTanHalfHorizFOV * abs(r0.z);
//   r2.yz = v0.xy * g_fTwoOverScreenWidth + float2(-1,-1);
//   r1.yz = StereoParams.Load(float4(0,0,0,0)).xy;
//   r1.z = r1.z / r0.w;
//   r1.z = 1 + -r1.z;
//   r2.x = -r1.y * r1.z + r2.y;
//   r1.xy = r2.xz * r1.xx;
//   r2.xyzw = g_xCameraViewSpaceToLightClipSpace._m10_m11_m12_m13 * r1.yyyy;
//   r2.xyzw = r1.xxxx * g_xCameraViewSpaceToLightClipSpace._m00_m01_m02_m03 + r2.xyzw;
//   r2.xyzw = abs(r0.zzzz) * g_xCameraViewSpaceToLightClipSpace._m20_m21_m22_m23 + r2.xyzw;
//   r2.xyzw = g_xCameraViewSpaceToLightClipSpace._m30_m31_m32_m33 + r2.xyzw;
//   r3.x = dot(g_xUVXForm._m00_m01_m02_m03, r2.xyzw);
//   r3.y = dot(g_xUVXForm._m10_m11_m12_m13, r2.xyzw);
//   r3.z = dot(g_xUVXForm._m20_m21_m22_m23, r2.xyzw);
//   r1.z = dot(g_xUVXForm._m30_m31_m32_m33, r2.xyzw);
//   r2.xyz = r3.xyz / r1.zzz;
//   r3.xyz = cmp(r2.xyz < float3(0,0,0));
//   r1.z = (int)r3.x | (int)r3.y;
//   r1.z = (int)r1.z | (int)r3.z;
//   r1.z = (int)r1.z;
//   r1.z = cmp(r1.z != 0.000000);
//   if (r1.z != 0) discard;
//   r3.xyz = float3(1,1,1) + -r2.xyz;
//   r3.xyz = cmp(r3.xyz < float3(0,0,0));
//   r1.z = (int)r3.x | (int)r3.y;
//   r1.z = (int)r1.z | (int)r3.z;
//   r1.z = (int)r1.z;
//   r1.z = cmp(r1.z != 0.000000);
//   if (r1.z != 0) discard;
//   r1.z = cmp(0 < r0.z);
//   r3.z = r1.z ? r0.w : -r0.w;
//   r0.w = g_xCameraViewSpaceToLightViewSpace._m12 * r1.y;
//   r0.w = r1.x * g_xCameraViewSpaceToLightViewSpace._m02 + r0.w;
//   r0.z = abs(r0.z) * g_xCameraViewSpaceToLightViewSpace._m22 + r0.w;
//   r0.z = g_xCameraViewSpaceToLightViewSpace._m32 + r0.z;
//   r1.xy = g_bCreatingShadowMask ? float2(-1,1) : float2(0,0);
//   r0.z = r1.x + r0.z;
//   r3.xy = r0.xy;
//   r0.x = saturate(dot(g_xShadowDirection.xyz, r3.xyz));
//   r0.y = 1 + -r0.x;
//   r0.y = r0.y * g_xSelfShadowBias.x + g_xSelfShadowBias.y;
//   r0.y = r2.z * g_xSelfShadowBias.z + r0.y;
//   r3.z = r2.z + -r0.y;
//   r0.x = r0.x + r0.x;
//   r0.x = min(1, r0.x);
//   r0.y = dot(r1.yy, r0.zz);
//   r0.y = saturate(-1 + r0.y);
//   r1.xz = g_bUseNoise ? float2(1,1.40129846e-45) : float2(0,0);
//   r0.y = r0.y * 2 + r1.x;
//   r0.y = max(0.200000003, r0.y);
//   r4.x = r1.x * r0.y;
//   if (r1.z != 0) {
//     r2.w = 1 + -r2.y;
//     r5.xyzw = float4(16,16,64,64) * r2.xwxw;
//     r0.yw = g_xKernelRotationTexture.Sample(g_xFilteredWrap_s_s, r5.xy).yz;
//     r0.yw = r0.yw * float2(2,2) + float2(-1,-1);
//     r0.yw = r0.yw * r4.xx;
//     r1.zw = g_xKernelRotationTexture.Sample(g_xFilteredWrap_s_s, r5.zw).yz;
//     r1.zw = r1.zw * float2(2,2) + float2(-1,-1);
//     r1.zw = r1.zw * r4.xx;
//     r1.zw = float2(0.330000013,0.330000013) * r1.zw;
//     r4.xy = r0.yw * float2(0.660000026,0.660000026) + r1.zw;
//   } else {
//     r4.y = 0;
//   }
//   r3.xy = r2.xy * float2(1,-1) + float2(0,1);
//   r4.z = -r4.x;
//   r2.z = 0;
//   r0.yw = float2(0,0);
//   while (true) {
//     r1.z = (int)r0.w;
//     r1.w = cmp((int)r1.z >= 12);
//     if (r1.w != 0) {
//       break;
//     }
//     r1.w = (uint)r0.w;
//     r2.x = dot(icb[r1.w+0].xy, r4.xy);
//     r2.y = dot(icb[r1.w+0].xy, r4.yz);
//     r2.xyw = r2.xyz + r3.xyz;
//     r5.xyzw = g_xShadowTextureSize.yxxx * r2.yxxx + float4(0.5,0.5,0.5,0.5);
//     r2.xy = floor(r5.wx);
//     r5.xyzw = r5.xyzw + -r2.yxxx;
//     r2.xy = g_xShadowTextureSize.zw * r2.xy;
//     r6.xyzw = g_xShadowMapTexture.GatherCmp(g_ShadowCmpSam_s_s, r2.xy, r2.w, int2(-1,-1)).xyzw;
//     r7.xyzw = float4(1,1,2,3) + -r5.xyzw;
//     r8.xyzw = r7.yzyz * r6.wzxy;
//     r5.yz = r8.xz + r8.yw;
//     r8.xyzw = g_xShadowMapTexture.GatherCmp(g_ShadowCmpSam_s_s, r2.xy, r2.w, int2(1,-1)).xyzw;
//     r9.xyz = float3(2,1,1) + r5.www;
//     r6.zw = r8.zy * r5.ww;
//     r1.w = r9.x * r8.x;
//     r8.xy = r9.zz * r8.wx + r6.zw;
//     r3.w = r8.x * r7.x;
//     r3.w = r7.x * r5.y + r3.w;
//     r4.w = r8.y * r5.x;
//     r4.w = r5.x * r5.z + r4.w;
//     r8.xyzw = g_xShadowMapTexture.GatherCmp(g_ShadowCmpSam_s_s, r2.xy, r2.w, int2(-1,1)).xyzw;
//     r10.xyzw = r8.wzxy * r7.yzyz;
//     r5.yz = r10.xz + r10.yw;
//     r3.w = r7.x * r5.y + r3.w;
//     r4.w = r5.x * r5.z + r4.w;
//     r5.y = r5.w * -2 + 2;
//     r5.z = r7.w * r6.y;
//     r5.z = r6.x * r5.y + r5.z;
//     r6.x = r8.z * r7.w;
//     r5.y = r8.w * r5.y + r6.x;
//     r8.xyzw = g_xShadowMapTexture.GatherCmp(g_ShadowCmpSam_s_s, r2.xy, r2.w, int2(1,1)).xyzw;
//     r2.xy = r8.zy * r5.ww;
//     r2.w = r8.w * r9.x;
//     r6.xy = r8.wx * r9.yz + r2.xy;
//     r8.x = r7.x * r6.x + r3.w;
//     r8.y = r5.x * r6.y + r4.w;
//     r1.w = r6.w * 2 + r1.w;
//     r1.w = r7.x * r1.w;
//     r8.z = r7.x * r5.z + r1.w;
//     r1.w = r2.x * 2 + r2.w;
//     r1.w = r5.x * r1.w;
//     r8.w = r5.x * r5.y + r1.w;
//     r1.w = dot(r8.xyzw, float4(1,1,1,1));
//     r0.y = r1.w * 0.0666666701 + r0.y;
//     r1.z = (int)r1.z + 1;
//     r0.w = (int)r1.z;
//   }
//   r0.y = r1.x * r0.y;
//   r0.z = -r0.z * r1.y + 1;
//   r0.y = 0.0833333358 * r0.y;
//   r0.z = saturate(r0.y * r0.z);
//   r0.x = r0.z * r0.x;
//   o0.w = saturate(g_bCreatingShadowMask ? r0.y : r0.x);
//   o0.xyz = float3(0,0,0);
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
