protonscr

Xenia: Shader validation errors

vkd3dclosed
HansKristian-Work/vkd3d-proton#1657 · opened 2023-08-16 by K0bin · updated 2023-08-17 · 0 comments · github
KK0bin 2023-08-16 github

When running the Xenia emulator (I specifically tried RDR1) on vkd3d-Proton, validation errors complain about a handful of shaders. It uses DXBC.

./31c2c452708da23c.spv
error: line 4219: InBoundsAccessChain must appear in a block
  %3510 = OpInBoundsAccessChain %_ptr_Function_float %r13 %uint_1

./76d532a2d81dc53e.spv
error: line 4224: InBoundsAccessChain must appear in a block
  %3514 = OpInBoundsAccessChain %_ptr_Function_float %r14 %uint_1
  
./874ee0cdb053f772.spv
error: line 4214: InBoundsAccessChain must appear in a block
  %3509 = OpInBoundsAccessChain %_ptr_Function_float %r14 %uint_1

./c859d7317d49e6b2.spv
error: line 9671: InBoundsAccessChain must appear in a block
  %7972 = OpInBoundsAccessChain %_ptr_Function_float %r4 %uint_1

I've dumped the shaders and also disassembled both the DXBC and SPIR-V of the first one.
All of them exibit the same validation error, so hopefully it's the same issue for all of them.
xenia shaders.zip

Nothing extracted yet.