//VoM distant fog and lighting CS 2.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Thu Jul  9 22:53:26 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[59], immediateIndexed
dcl_constantbuffer CB1[75], immediateIndexed
dcl_constantbuffer CB2[3], immediateIndexed
dcl_resource_texture3d (float,float,float,float) t0
dcl_uav_typed_texture3d (float,float,float,float) u0
dcl_input vThreadID.xy
dcl_temps 27
dcl_thread_group 8, 8, 1
dcl_resource_texture2d (float,float,float,float) t125
ld_indexable(texture2d)(float,float,float,float) r25.xyzw, l(0, 0, 0, 0), t125.xyzw
utof r0.xy, vThreadID.xyxx
add r0.xy, r0.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
div r0.xy, r0.xyxx, cb2[1].xyxx
mad r0.xy, r0.xyxx, l(2.000000, 2.000000, 0.000000, 0.000000), l(-1.000000, -1.000000, 0.000000, 0.000000)
mul r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000)
lt r0.z, cb1[35].w, l(1.000000)

mad r0.x, r25.x, l(-1.0), r0.x

mul r1.xyzw, r0.yyyy, cb0[56].xyzw
mad r1.xyzw, r0.xxxx, cb0[55].xyzw, r1.xyzw
mov r2.xy, vThreadID.xyxx
mov r2.w, l(0)
mov r0.xyw, cb1[71].xyxz
mov r3.xyzw, l(0,0,0,1.000000)
mov r2.z, l(0)
loop
  uge r4.x, r2.z, cb2[0].z
  breakc_nz r4.x
  ld_indexable(texture3d)(float,float,float,float) r4.xyzw, r2.xyzw, t0.xyzw
  utof r5.x, r2.z
  add r5.x, r5.x, l(0.500000)
  div r5.x, r5.x, cb2[2].z
  exp r5.x, r5.x
  add r5.x, r5.x, -cb2[2].y
  div r5.x, r5.x, cb2[2].x
  add r5.y, r5.x, cb1[69].w
  mul r5.y, r5.y, cb1[69].z
  div r5.y, l(1.000000, 1.000000, 1.000000, 1.000000), r5.y
  mad r5.x, r5.x, cb1[34].z, cb1[35].z
  movc r5.x, r0.z, r5.y, r5.x
  mad r5.xyzw, r5.xxxx, cb0[57].xyzw, r1.xyzw
  add r5.xyzw, r5.xyzw, cb0[58].xyzw
  div r5.xyz, r5.xyzx, r5.wwww
  add r5.xyz, r5.xyzx, -cb1[74].xyzx
  add r6.xyz, -r0.xywx, r5.xyzx
  dp3 r5.w, r6.xyzx, r6.xyzx
  sqrt r5.w, r5.w
  mul r5.w, -r4.w, r5.w
  mul r5.w, r5.w, l(1.442695)
  exp r5.w, r5.w
  mad r4.xyz, -r4.xyzx, r5.wwww, r4.xyzx
  max r4.w, r4.w, l(0.000010)
  div r4.xyz, r4.xyzx, r4.wwww
  mad r3.xyz, r4.xyzx, r3.wwww, r3.xyzx
  mul r3.w, r3.w, r5.w
  store_uav_typed u0.xyzw, r2.xyzz, r3.xyzw
  iadd r2.z, r2.z, l(1)
  mov r0.xyw, r5.xyxz
endloop
ret
// Approximately 0 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with geo-11 v0.6.198 on Thu Jul  9 22:53:26 2026
// Texture3D<float4> t0 : register(t0);
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[3];
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[75];
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[59];
// }
//
//
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main)
// {
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_texture3d (float,float,float,float) u0
//   float4 r0,r1,r2,r3,r4,r5,r6;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_thread_group 8, 8, 1
//   r0.xy = (uint2)vThreadID.xy;
//   r0.xy = float2(0.5,0.5) + r0.xy;
//   r0.xy = r0.xy / cb2[1].xy;
//   r0.xy = r0.xy * float2(2,2) + float2(-1,-1);
//   r0.xy = float2(1,-1) * r0.xy;
//   r0.z = cmp(cb1[35].w < 1);
//   r1.xyzw = cb0[56].xyzw * r0.yyyy;
//   r1.xyzw = r0.xxxx * cb0[55].xyzw + r1.xyzw;
//   r2.xy = vThreadID.xy;
//   r2.w = 0;
//   r0.xyw = cb1[71].xyz;
//   r3.xyzw = float4(0,0,0,1);
//   r2.z = 0;
//   while (true) {
//     r4.x = cmp((uint)r2.z >= asuint(cb2[0].z));
//     if (r4.x != 0) break;
//     r4.xyzw = t0.Load(r2.xyzw).xyzw;
//     r5.x = (uint)r2.z;
//     r5.x = 0.5 + r5.x;
//     r5.x = r5.x / cb2[2].z;
//     r5.x = exp2(r5.x);
//     r5.x = -cb2[2].y + r5.x;
//     r5.x = r5.x / cb2[2].x;
//     r5.y = cb1[69].w + r5.x;
//     r5.y = cb1[69].z * r5.y;
//     r5.y = 1 / r5.y;
//     r5.x = r5.x * cb1[34].z + cb1[35].z;
//     r5.x = r0.z ? r5.y : r5.x;
//     r5.xyzw = r5.xxxx * cb0[57].xyzw + r1.xyzw;
//     r5.xyzw = cb0[58].xyzw + r5.xyzw;
//     r5.xyz = r5.xyz / r5.www;
//     r5.xyz = -cb1[74].xyz + r5.xyz;
//     r6.xyz = r5.xyz + -r0.xyw;
//     r5.w = dot(r6.xyz, r6.xyz);
//     r5.w = sqrt(r5.w);
//     r5.w = r5.w * -r4.w;
//     r5.w = 1.44269502 * r5.w;
//     r5.w = exp2(r5.w);
//     r4.xyz = -r4.xyz * r5.www + r4.xyz;
//     r4.w = max(9.99999975e-06, r4.w);
//     r4.xyz = r4.xyz / r4.www;
//     r3.xyz = r4.xyz * r3.www + r3.xyz;
//     r3.w = r5.w * r3.w;
//   // No code for instruction (needs manual fix):
//     store_uav_typed u0.xyzw, r2.xyzz, r3.xyzw
//     r2.z = (int)r2.z + 1;
//     r0.xyw = r5.xyz;
//   }
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// H:\SteamLibrary\steamapps\common\VisionsofMana\VisionsofMana\Binaries\Win64\ShaderFixes\f29dd3ce0f83e7f2-cs_replace.txt(28,10): error X3000: syntax error: unexpected token ')'
/////////////////////////////////////////////////////////////////////////////
