-
Notifications
You must be signed in to change notification settings - Fork 21
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 validation warnings on macOS #165
Conversation
This commit sets various `UPDATE_AFTER_BIND_POOL_BIT` flags on descriptors to allow reasonable amounts of image samplers in our descriptor sets. Closes #160
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Surely this isn't macOS specific? It looks like we are, in fact, updating this descriptor set while commands may be in flight, so this is just necessary for correctness.
In theory no, but in practice macOS is the only platform that has an absurd difference in the number of descriptors available with and without using In MoltenVK, by default argument buffers are only used when It all works fine regardless, but we just want to stay validation clean.
I don't think this is the case. This is a bit pedantic/spec-lawyery, but even though we do update the descriptor set while commands are in flight,
Since we bind the descriptor set on line 262 of |
This is the critical part to my reading. If updates invalidate the command buffer without this flag, then we need it. There should be more explicit wording somewhere in the descriptor set update spec, though. |
Yeah, I can't find anything more specific either. And what's more we don't get any validation warnings about updating descriptor sets after bind if we don't have this flag enabled - I know validation clean != spec compliant, but it seems like we could reasonably expect to see warnings if we were doing that. |
Here's the relevant text, from Descriptor Set Updates:
See also
I think |
Okay, interesting - that makes more sense. And I suppose the reason we weren't seeing validation warnings is just because we hadn't tripped that specific case yet, even though it was perfectly possible.
Unfortunately not; it seems kind of weird that
|
Aw. Well, probably no harm in the overkill. |
This commit sets various `UPDATE_AFTER_BIND_POOL_BIT` flags on descriptors to allow reasonable amounts of image samplers in our descriptor sets. Closes SecondHalfGames#160
Sets various
UPDATE_AFTER_BIND_POOL_BIT
flags on descriptors to allow reasonable amounts of image samplers in our descriptor sets on platforms like macOS.Closes #160