Fix asserting from uvec2 buffer reference bitcast#259
Fix asserting from uvec2 buffer reference bitcast#259spencer-lunarg merged 1 commit intoKhronosGroup:mainfrom
Conversation
| uint32_t base_id = ac->base_id; | ||
| // Access Chains mostly have their Base ID pointed directly to a OpVariable, but sometimes | ||
| // it will be through a load and this funciton handles the edge cases how to find that | ||
| static uint32_t FindAccessChainBaseVariable(SpvReflectPrvParser* p_parser, SpvReflectPrvAccessChain* p_access_chain) { |
There was a problem hiding this comment.
while here, updated this function name and ac to p_access_chain for consistency
Based on this logic, will we obtain the correct byte size for push constants? |
Yes, as shown from the shader in the issue, the The issue going on here was because inside a buffer reference struct, you can have things pointing to itself (ex, linked list) layout(buffer_reference) buffer VertexBuffer {
VertexBuffer next_pointer;
};and we have logic to handle this recursion, but a Push Constants block, it can't be a |
|
Thanks @spencer-lunarg Looking forward to seeing it merged! |
closes #257
confirmed doing more research that we are safe to return
0for a push constant that tries to useuvec2to pass in a buffer reference handle