-
Notifications
You must be signed in to change notification settings - Fork 187
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
Khronos validation layer #84
Conversation
Has much more verbose message now, don't need additional logging.
On my RTX 2070 SUPER HandleSize is 32, while BaseAlignment is 64. It still works on this driver, but it is a spec error to use unaligned shader binding offsets in CmdTraceRays. Unfortunately this means we have to expand the handles out into an aligned table, as far as I could tell from the usage.
The curse of macros.
To avoid needing to comment the define in/out.
Split out so it can be dropped if old CMake support is needed for some reason.
Can't reproduce sampler error again (argh!), but did find an issue with the unused texture cleanup (due to the |
Ah the god rays shadow map sampler was leaked on swapchain recreation (eg. going into / out of windowed). I realized I haven't shown the new validation messages, so here's an example:
|
The last issue I've seen is warnings when windows reports a size of 0x0, which happens when the window is minimized. This one is a bit annoying as |
The validation layer has been updated, and many errors and warnings fixed with the release 1.4.0. Closing this PR, please open a new one if there are any similar issues in the new version. |
Sounds good! |
Only thing obvious in a quick look over of the diff on my phone is the texture.c DESTROY_LATENCY is still not parenthesised and thus expands to an incorrect index: it seems this was fixed some other way, but perhaps it's something to check? |
Wow, how did I miss that. Will fix soon, thank you! |
Wanted to get validation going, but from what I can tell, the LUNARG_standard_validation is no longer included in the 1.2 SDK. The new hotness KHRONOS_validation is an easy switch, and has a much more descriptive and helpful message by default. The fancy thing here would be to try in order, but that seems to be a bit too fancy for something that's commented out by default. (Perhaps
#define VKPT_ENABLE_VALIDATION KHRONOS
to get the new layer, if that's wanted?)This makes booting into a map clean, but there's missing deletes for samplers on quit still, and it's possible there are other paths that are not exercised (cinematics? glass/water etc?)
Suggestions welcome on what to test and any style / etc. things I missed (the
malloc()
usage in particular)