Benjamin Saunders
Benjamin Saunders
No; the user can easily enable the validation layers themselves by setting the `VK_LAYER_KHRONOS_validation` environment variable or using vkconfig, so there's no need for the examples to enable them explicitly...
No worries, I'm not really blocked, I just feel a little bad opening issues instead of PRs.
On review, I realized that the relevant type should probably be `&'static CStr`, and AFAIK there's no good way to get that in a constant yet.
Your code would be a lot simpler and safer there if you constructed a `CStr` to compare against rather than calling out to libc.
For example, you can do `unsafe { CStr::from_ptr(x.extension_name.as_ptr()) } == y`.
What driver is this? Are you certain that it advertises support for the extension?
Thanks, wgpu's behavior looks sane to me. Debug utils are often implemented by layers, so I wonder if there might be a janky layer involved. Overall, I'm reluctant to support...
Reviewing the specific implementation of `ExtDebugUtilsFn::load`, it should be impossible for `ExtDebugUtilsFn::cmd_begin_debug_utils_label_ext` to become null, because ash already checks that and drops in a stub function if it is null....
Manually inlining `unwrap_unchecked` helped size slightly, but again didn't noticeably impact buildtime.
Even representing every pointer as `usize` and transmuting on call doesn't seem to change anything!