// MANUALLY DUMPED [ShaderRegex\ShaderFixes\UE5_masterotaku.ini\DecalsPS3z_1_nospec] VoM volumetric lighting PS 1. Extra input.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Sat Jul 11 11:47:56 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                10   xyzw        0     NONE   float
// TEXCOORD                11   xyzw        1     NONE   float
// PRIMITIVE_ID             0   x           2     NONE    uint   x
// SV_RenderTargetArrayIndex     0    y          2  RTINDEX    uint
// SV_POSITION              0   xyzw        3      POS   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[215], immediateIndexed
dcl_constantbuffer CB1[17], immediateIndexed
dcl_constantbuffer CB2[9], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_resource_texture3d (float,float,float,float) t0
dcl_resource_texture3d (float,float,float,float) t1
dcl_resource_texture3d (float,float,float,float) t2
dcl_resource_texture3d (float,float,float,float) t3
dcl_resource_structured t4, 16
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture3d (float,float,float,float) t6
dcl_resource_texture3d (float,float,float,float) t7
dcl_input_ps constant v2.x
dcl_input_ps_siv linear noperspective v3.xyzw, position
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 16
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120

ld_indexable(texture2d)(float,float,float,float) r12.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture1d)(float,float,float,float) r10.xyzw, l(15, 0, 0, 0), t120.xyzw
ftou r11.xyzw, r10.xyzw
mov r13.xy, v3.xyxx
mul r14.xyzw, v3.yyyy, cb0[49].xyzw
mad r14.xyzw, r13.xxxx, cb0[48].xyzw, r14.xyzw
//Pattern break.
mad r14.xyzw, v3.zzzz, cb0[50].xyzw, r14.xyzw
add r14.xyzw, r14.xyzw, cb0[51].xyzw
ge r15.w, cb0[r11.x + 0].x, l(20.0)
if_nz r15.w
mul r15.x, l(0.5), cb0[r11.x + 0].x
else
mul r15.x, l(0.5), cb1[r11.x + 0].x
endif
mad r15.y, r14.w, r12.y, l(-1.0)
mul r15.y, r15.y, r15.x
mad r13.x, r12.x, r15.y, r13.x
mul r0.xyzw, v3.yyyy, cb0[49].xyzw
mad r0.xyzw, r13.xxxx, cb0[48].xyzw, r0.xyzw
//Pattern break.
mad r0.xyzw, v3.zzzz, cb0[50].xyzw, r0.xyzw
add r0.xyzw, r0.xyzw, cb0[51].xyzw
div r0.xyz, r0.xyzx, r0.wwww
add r0.xyz, r0.xyzx, -cb0[74].xyzx
div r1.xyz, r0.xyzx, cb2[6].xxxx
mad r1.xyz, cb0[150].zzzz, cb2[2].xyzx, r1.xyzx
div r2.xyz, r0.xyzx, cb2[6].yyyy
mad r2.xyz, cb0[150].zzzz, cb2[4].xyzx, r2.xyzx
sample_indexable(texture3d)(float,float,float,float) r1.w, r2.xyzx, t6.yzwx, s2
mad r1.xyz, r1.wwww, cb2[6].zzzz, r1.xyzx
sample_indexable(texture3d)(float,float,float,float) r1.x, r1.xyzx, t7.xyzw, s3
ge r1.y, l(0.000000), r1.x
log r1.x, r1.x
mul r1.x, r1.x, cb2[6].w
exp r1.x, r1.x
mul r1.x, r1.x, cb2[7].x
movc r1.x, r1.y, l(0), r1.x
add r1.x, r1.x, cb2[7].y
add r1.yzw, r0.xxyz, -cb0[206].xxyz
add r1.yzw, r1.yyzw, cb0[206].wwww
max r1.yzw, r1.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
add r2.xyz, cb0[206].wwww, cb0[206].xyzx
add r2.xyz, -r0.xyzx, r2.xyzx
max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
min r1.yzw, r1.yyzw, r2.xxyz
min r1.z, r1.w, r1.z
min r1.y, r1.z, r1.y
mul r1.z, cb0[206].w, cb0[214].y
lt r1.y, r1.z, r1.y
if_nz r1.y
  mad r1.yzw, r0.xxyz, cb0[210].wwww, cb0[210].xxyz
  sample_l_indexable(texture3d)(float,float,float,float) r1.y, r1.yzwy, t0.yxzw, s0, l(0.000000)
else
  add r2.xyz, r0.xyzx, -cb0[207].xyzx
  add r2.xyz, r2.xyzx, cb0[207].wwww
  max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  add r3.xyz, cb0[207].wwww, cb0[207].xyzx
  add r3.xyz, -r0.xyzx, r3.xyzx
  max r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
  min r2.xyz, r2.xyzx, r3.xyzx
  min r1.z, r2.z, r2.y
  min r1.z, r1.z, r2.x
  mul r1.w, cb0[207].w, cb0[214].y
  lt r1.z, r1.w, r1.z
  if_nz r1.z
    mad r2.xyz, r0.xyzx, cb0[211].wwww, cb0[211].xyzx
    sample_l_indexable(texture3d)(float,float,float,float) r1.y, r2.xyzx, t1.yxzw, s0, l(0.000000)
  else
    add r2.xyz, r0.xyzx, -cb0[208].xyzx
    add r2.xyz, r2.xyzx, cb0[208].wwww
    max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r3.xyz, cb0[208].wwww, cb0[208].xyzx
    add r3.xyz, -r0.xyzx, r3.xyzx
    max r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r2.xyz, r2.xyzx, r3.xyzx
    min r1.z, r2.z, r2.y
    min r1.z, r1.z, r2.x
    add r2.xyz, r0.xyzx, -cb0[209].xyzx
    add r2.xyz, r2.xyzx, cb0[209].wwww
    max r2.xyz, r2.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    add r3.xyz, cb0[209].wwww, cb0[209].xyzx
    add r3.xyz, -r0.xyzx, r3.xyzx
    max r3.xyz, r3.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
    min r2.xyz, r2.xyzx, r3.xyzx
    min r1.w, r2.z, r2.y
    min r1.w, r1.w, r2.x
    mul r2.x, cb0[208].w, cb0[214].y
    lt r1.z, r2.x, r1.z
    if_nz r1.z
      mad r2.xyz, r0.xyzx, cb0[212].wwww, cb0[212].xyzx
      sample_l_indexable(texture3d)(float,float,float,float) r1.y, r2.xyzx, t2.yxzw, s0, l(0.000000)
    else
      mul r1.z, cb0[209].w, cb0[214].y
      lt r1.z, r1.z, r1.w
      if_nz r1.z
        mul r1.z, r1.w, cb0[213].w
        mul_sat r1.z, r1.z, l(10.000000)
        mad r2.xyz, r0.xyzx, cb0[213].wwww, cb0[213].xyzx
        sample_l_indexable(texture3d)(float,float,float,float) r1.w, r2.xyzx, t3.yzwx, s0, l(0.000000)
        add r1.w, r1.w, -cb0[214].z
        mad r1.y, r1.z, r1.w, cb0[214].z
      else
        mov r1.y, cb0[214].z
      endif
    endif
  endif
endif
div r1.y, r1.y, cb2[7].z
add r1.y, -r1.y, l(1.000000)
ge r1.z, l(0.000000), r1.y
log r1.y, r1.y
mul r1.y, r1.y, cb2[7].w
exp r1.y, r1.y
movc r1.y, r1.z, l(0), r1.y
mul_sat r1.x, r1.y, r1.x
mul r1.y, r1.x, cb2[8].x
mul r1.y, r1.y, l(-1.43829286)
exp r1.y, r1.y
mul r1.yzw, r1.yyyy, cb2[5].xxyz
mul_sat r1.yzw, r1.yyzw, cb2[8].yyyy
add r2.xy, r13.xyxx, -cb0[137].xyxx
mul r2.xy, r2.xyxx, cb0[138].zwzz
sample_indexable(texture2d)(float,float,float,float) r2.x, r2.xyxx, t5.xyzw, s1
mul r1.x, r1.x, r2.x
mad r1.yzw, r1.yyzw, cb0[144].wwww, cb0[144].xxyz
max r1.x, r1.x, l(0.000000)
min r1.x, r1.x, l(65000.000000)
mul r1.yzw, r1.xxxx, r1.yyzw
dp3 r2.x, r1.yzwy, l(0.300000, 0.590000, 0.110000, 0.000000)
add r1.x, r1.x, -r2.x
max r1.x, r1.x, l(0.000000)
div r2.x, v3.w, cb1[16].x
add r2.x, r2.x, l(-0.600000)
mul_sat r2.x, r2.x, l(2.50000024)
add r2.x, -r2.x, l(1.000000)
mul r2.y, r2.x, r2.x
mul r2.x, r2.x, r2.y
mul r2.x, r2.x, l(0.010000)
imad r3.xyzw, v2.xxxx, l(36, 36, 36, 36), l(23, 24, 6, 7)
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r2.yzw, r3.x, l(0), t4.xxyz
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r4.xyz, r3.y, l(0), t4.xyzx
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r3.xyz, r3.z, l(0), t4.xyzx
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r5.xyz, r3.w, l(0), t4.xyzx
imad r6.xy, v2.xxxx, l(36, 36, 0, 0), l(8, 9, 0, 0)
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r6.xzw, r6.x, l(0), t4.xxyz
ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r7.xyw, r6.y, l(0), t4.xyxz
mov r0.w, l(1.000000)
mov r8.x, r3.x
mov r8.y, r5.x
mov r8.z, r6.x
mov r8.w, r7.x
dp4 r8.x, r0.xyzw, r8.xyzw
mov r9.x, r3.y
mov r9.y, r5.y
mov r9.z, r6.z
mov r9.w, r7.y
dp4 r8.y, r0.xyzw, r9.xyzw
mov r7.x, r3.z
mov r7.y, r5.z
mov r7.z, r6.w
dp4 r8.z, r0.xyzw, r7.xyzw
lt r0.xyz, r8.xyzx, r2.yzwy
lt r2.yzw, r4.xxyz, r8.xxyz
or r0.xyz, r0.xyzx, r2.yzwy
or r0.x, r0.y, r0.x
or r0.x, r0.z, r0.x
movc r0.x, r0.x, l(0), r2.x
mul o0.xyzw, r0.xxxx, r1.yzwx
mov o1.xyzw, l(0,0,0,0)
ret
// Approximately 0 instruction slots used
