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`.
https://bugs.winehq.org/show_bug.cgi?id=54872
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #1 from Zeb Figura z.figura12@gmail.com --- Confirming, as you say, we don't have support for those quite yet.
https://bugs.winehq.org/show_bug.cgi?id=54872
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|UAV buffers are not |SM5 UAV buffers are not |implemented in |implemented in |vkd3d-compiler for sm 5 |vkd3d-compiler
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- I posted something to start this work https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/193.
It won't help with access to RWStructureBuffer, but only changes some common code. Structured buffers are using different store instruction with additional argument, and declarations are extended with structure size. Once this is in, I'm going to improve argument handling there, e.g. destination swizzles as is will be wrong.
https://bugs.winehq.org/show_bug.cgi?id=54872
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- Initial changes were merged. It would be useful to have some test shaders, or application that's using them, because there are many more features to implement.
https://bugs.winehq.org/show_bug.cgi?id=54872
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO