-
Notifications
You must be signed in to change notification settings - Fork 680
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
Refactor instance extension and layer handling #1256
base: main
Are you sure you want to change the base?
Conversation
e4124ea
to
6e4ab16
Compare
6e4ab16
to
87849d4
Compare
Not sure on this. It does work, but introduces a fundamental behavior change: You can no longer run samples if the validation layers are not installed. If the requested layers are not found, an exception is thrown and the sample exits. On main (before this change), you only get a debug message telling that the layer is not available, but the sample continues to run. |
@SaschaWillems With what sample do you get that exception? |
Sorry, should've mentioned that. Tested wit the hello triangle sample, and with this PR it throws an exception when it can't find the validation layers and then crashes for me. |
I see... |
64b561a
to
ae0c10c
Compare
…o validation layer
ae0c10c
to
60481ed
Compare
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.
Thanks for the change. The samples that did their own validation layer checking now also work properly 👍🏻
Thanks for the PR. I have a question. Does this architecture handle optional extensions? (i.e. if an extension exists enable it, if it doesn't still allow for the sample to continue but report that the extension isn't enabled?). #780 seeks to handle the use case of allowing for optional extensions. |
Yes it does, as you can see for example in instance.cpp, lines 222-238:
|
Description
Refactors the instance extension and layer handling.
Simplifies getting the "optimal" set of validation layers by just using
VK_LAYER_KHRONOS_validation
, assuming this is everywhere available nowadays.Essentially is a different approach to #780 and would replace that PR.
Build tested on Win10 with VS2022. Run tested on Win10 with NVidia GPU.
General Checklist:
Please ensure the following points are checked:
Note: The Samples CI runs a number of checks including:
If this PR contains framework changes:
batch
command line argument to make sure all samples still work properlySample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist: