https://bugs.winehq.org/show_bug.cgi?id=54872
Bug ID: 54872 Summary: UAV buffers are not implemented in vkd3d-compiler for sm 5 Product: vkd3d Version: 1.7 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: hlsl Assignee: wine-bugs@winehq.org Reporter: winehq@sub.monoid.al Distribution: ---
Trying to compile a HLSL shader with vkd3d-compiler with any shader model fails if the shader uses a UAV buffer type (RWBuffer, RWStructuredBuffer, RWByteAddressBuffer).
These types aren't in the parser, so things fail with something like
`vkd3d-shader-cs-0.hlsl:1:1: E5000: syntax error, unexpected NEW_IDENTIFIER` Pointing to one of the type names listed above.
An example shader is
``` RWStructuredBuffer<float> foo : register(u0); [numthreads(1, 1, 1)] void main() {} ```
From the source, it seems like the only UAV types are RWTextures, and there are codepaths in the compiler which assume that, for example the valid states of `hlsl_type::sampler_dim`.