Benjamin Saunders
Benjamin Saunders
> Yes, we do that for most shared libraries. I'm not sure why libvulkan.so doesn't have a .$MAJOR suffix. Hmm, are you using the standard Khronos Vulkan loader? This may...
Can't you set `T = u8` and transmute from whatever? edit: ah, right, stride.
I would rather say it's an example of a correctable error in ash, given the explicit intention to expose things losslessly.
That would be consistent with other parts of ash (e.g. `cmd_copy_buffer`), at least.
I remain a fan of how `Option` makes it easy to correctly handle extensions that you support but do not require, which comes up constantly with the debug extension. >...
> But I do believe that is something for the crate user to specify in their own code Yes, strongly agree.
Here's one unfortunate drawback: this breaks the `Default` impl for structs that have required handle fields. Anyone have thoughts on how we might handle that?
One solution is to take a page from `std` and default required handle fields to a nonzero but arbitrary value (say, `!0` or `1`). This will make the structs safe...
I think this is ready, if everyone's on board with the idea.
One interesting note is that this exposes us to breaking API changes from minor metadata updates like https://github.com/KhronosGroup/Vulkan-Docs/pull/759. Care will need to be taken when updating the supported vulkan version.