This changes to format output from:
MyFlagType{ .first_bit = true, second_bit = false, _reserved_bit_0 = false, _reserved_bit_1 = false }
to the following:
MyFlagType{ first_bit }
That is, we only show bits which are `true`.
Instead of generating a Zig alias for aliased commands, actual wrappers
are now generated. This should make sure that extension commands, such as
vkCmdBeginRenderingKHR, can still be used on older Vulkan implementations.
This commit adds special cases for AccelerationStructureInstanceKHR and
VkAccelerationStructureSRTMotionInstanceNV. These types use bit-packed
fields which are not representable in the current version of the zig
stage 2 compiler. This might change when
https://github.com/ziglang/zig/issues/13009 is resolved.
Fixes#56
> VK_ERROR_UNKNOWN will be returned by an implementation when an unexpected
> error occurs that cannot be attributed to valid behavior of the application
> and implementation. Under these conditions, it may be returned from any
> command returning a VkResult.
Fixes#42
* Use flag struct based on command enum to enable commands
* Include cmds argument as public declaration inside Wrapper structs
* Include Dispatch type as public declaration inside Wrapper structs
Previously pointers were removed here to facilitate using anonymous struct
literals. Now that Zig supports &.{, these are no longer required, and they
can be pointers again.
Note that there are still some problems in the Zig stage1 compiler, see
https://github.com/ziglang/zig/issues/7627 for example.
I got a compile error for this after playing around and doing 'vk.InstanceWrapper(std.enums.values(vk.InstanceCommand))', where the compiler thusly complained that there is no declaration for `HINSTANCE` inside `std.os`.