Skip to content
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

Fix twocall_chain_vectors mechanism #1031

Merged

Conversation

MathiasMagnus
Copy link
Contributor

VulkanSC found that the twocall machinery makes the assumption that there is at least one property output struct with array members. While this breaks VulkanSC (results in unresolved external symbol), it also breaks Vulkan when used with older vk.xml files where this assumption may also not hold true. Also, instead of unconditionally querying properties twice, only call the query again if the given output struct has array members.

Note: the current refinement is still "happens to work" territory, as a generic solution would need to do n calls to query, depending on the number of nesting of structs with array members. twocall works today but may break tomorrow.

Instead of unconditionally querying properties twice,
only call the query again if the given output struct has array members.
Also fix the case where if there are no output structs with array properties (VulkanSC),
then don't end up with unresolved external symbols.
@CLAassistant
Copy link

CLAassistant commented Sep 26, 2024

CLA assistant check
All committers have signed the CLA.

@charles-lunarg charles-lunarg merged commit 29fb030 into KhronosGroup:main Sep 26, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants