-
Notifications
You must be signed in to change notification settings - Fork 713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SPIR-V] RawBufferStore still trips up on missing member offsets #6554
Comments
devshgraphicsprogramming
added
bug
Bug, regression, crash
needs-triage
Awaiting triage
spirv
Work related to SPIR-V
labels
Apr 22, 2024
devshgraphicsprogramming
changed the title
[SPIR-V]
[SPIR-V] RawBufferStore still trips up on missing member offsets
Apr 22, 2024
@devshgraphicsprogramming Thanks for reporting, we'll take a look. |
I tried to fix this with inline SPIR-V
|
s-perron
added a commit
to s-perron/DirectXShaderCompiler
that referenced
this issue
Jun 18, 2024
The first first fix in microsoft#5392 was not correct. It relied on the layout rule for the address to be the correct layout rule, but that is not always the case. The address is just an integer that could exist in any storage class. The correct solution is to explicitly set the layout rule for the BitCast operation when expanding the RawBuffer* functions. We know that the result of the BitCast is a pointer to the physical storage buffer storage class, so we know the layout need to be the storage buffer layout. Fixes microsoft#6554
s-perron
added a commit
that referenced
this issue
Jun 25, 2024
The first first fix in #5392 was not correct. It relied on the layout rule for the address to be the correct layout rule, but that is not always the case. The address is just an integer that could exist in any storage class. The correct solution is to explicitly set the layout rule for the BitCast operation when expanding the RawBuffer* functions. We know that the result of the BitCast is a pointer to the physical storage buffer storage class, so we know the layout need to be the storage buffer layout. Fixes #6554
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
The usage of such a struct with
vk::RawBufferStore
generates the following error
Steps to Reproduce
This Godbolt: https://godbolt.org/z/de8xeaTeq
Environment
The text was updated successfully, but these errors were encountered: