-
Notifications
You must be signed in to change notification settings - Fork 11
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
Wrong push constant size when using buffer references. #29
Comments
Your example does not compile, lowercase Root-caused to: Line 602 in 8894d35
Turns out we were treating any unknown type as zero-sized, when we should obviously panic on encountering something unknown (so that it can be reported and implemented). In your case it was |
@halli2 as it turns out this isn't a supported use-case by upstream SPIR-V Reflect either. It just "happens to work" because they round up a struct to layout(push_constant) uniform Registers
{
uint test; // off=0, size=4
MeshBuffer mesh_buffer; // off=8, size=8?
IndexBuffer index_buffer; // off=16, size=8?
}
registers; This bit of code: Simply finds the offset of If you don't mind I'd like to ask about this on the SPIRV-Reflect repo before merging #5 and releasing it :) |
Using push constant for buffer references gives wrong push constant range size.
Glsl shader:
Should give size of 16, but reflection gives size of 8.
The text was updated successfully, but these errors were encountered: