Robin Voetter
cc95608912
add missing default foreign types, fix SECURITY_ATTRIBUTES foreign type
2022-10-07 01:36:21 +02:00
Robin Voetter
a21db9e2b5
dont write default structure type if there is none
2022-10-07 01:34:49 +02:00
Robin Voetter
09d2de4fb6
Add special cases for bit packed structs
...
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
2022-10-07 00:21:15 +02:00
Robin Voetter
977b4ca5f4
remove unused unused variables
2022-09-24 00:34:46 +02:00
Robin Voetter
837893c637
clean up flags using new zig features
2022-08-20 12:10:56 +02:00
Robin Voetter
5af6ffe864
zig stage 2 compatibility
2022-08-20 11:31:36 +02:00
Robin Voetter
f6f5f66f20
Add missing try in print argument ( fixes #52 )
2022-07-27 22:52:23 +02:00
InKryption
0b4b6f8acb
Add back methods from cmd enums relating to function pointer types and names, namespaced under the command flag structs
2022-06-12 00:12:28 +02:00
InKryption
be31203f2e
Add command flag mixin for flag computations.
2022-06-03 13:52:58 +02:00
InKryption
05deff877b
Replace command enums with command flag structs
2022-06-03 03:44:03 +02:00
Robin Voetter
2f2125046c
clean up Dispatch construction a little
2022-03-17 00:16:03 +01:00
Robin Voetter
aac20d107a
fix duplicate generation of 'Unknown' error on some commands
2022-03-16 22:57:25 +01:00
Robin Voetter
470615632d
place bit flag align on use site instead of in struct declaration
2022-02-25 12:59:30 +01:00
Robin Voetter
3781fe779c
render error sets for all functions returning VkResult
...
> 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
2022-02-22 13:29:55 +01:00
Robin Voetter
e37b7a0f1b
Merge pull request #35 from InKryption/duck-typing-made-easier
...
Duck typing verification made easier
2022-01-10 18:43:07 +01:00
Robin Voetter
4332a44c28
fix Renderer.isFlags for 64-bit flags
2022-01-02 12:38:28 +01:00
InKryption
e4c0d63aaa
Increase branch-quota to compensate preemptively
2021-12-28 13:55:39 +01:00
InKryption
fd4302f848
Make duck-typing easier
...
* 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
2021-12-28 12:52:52 +01:00
Robin Voetter
bf0d0bc43b
Rename c_void to anyopaque (ziglang/zig/#10316)
2021-12-20 02:15:00 +01:00
Robin Voetter
d9a57859c6
Add non-failing dispatch load function
2021-12-09 00:28:17 +01:00
Robin Voetter
d1e949a434
Don't remove pointers on in_pointer parameters.
...
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.
2021-12-09 00:28:17 +01:00
Robin Voetter
2952901939
Don't generate Khronos copyright
2021-12-09 00:28:17 +01:00
Robin Voetter
cc9ebf50bb
Remove superficial GlobalScope declaration
2021-12-09 00:28:17 +01:00
Robin Voetter
797ae8af88
Adapt to latest Zig master
...
See ziglang/zig/pull/10055
2021-12-09 00:28:17 +01:00
Robin Voetter
8862336b77
Make Vulkan enums always be 32-bit ( fixes #26 )
2021-11-08 13:43:41 +01:00
InKryption
d9c1c79223
Replace anytype with explicit []const {s}Command
2021-11-05 17:45:15 +00:00
InKryption
596672d631
Fix HWND reference
2021-11-03 22:04:52 +00:00
InKryption
941a940122
Fix other references to std.os.windows decls.
...
I noticed these are also incorrectly referencing windows decls inside std.os.
2021-11-03 21:40:23 +00:00
InKryption
5afeb68873
Change 'std.os.HINSTANCE' to 'std.os.windows.HINSTANCE'
...
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`.
2021-11-03 21:26:49 +00:00
Robin Voetter
90d81c1a04
Make command enums lower camel case to reflect command function name style
2021-10-25 14:34:26 +02:00
Robin Voetter
07e530719b
Update std.mem.split usage to new API
2021-08-14 01:07:08 +02:00
Robin Voetter
89e16f69a8
Fix some allocation bugs, replace everything by arena ( #18 )
2021-08-14 00:57:26 +02:00
ashpil
c788b09e78
adds defaults for previously undetected feature struct
2021-08-06 21:43:00 -04:00
ashpil
871d4e7251
implements default for feature structs
2021-07-08 21:31:41 -04:00
Robin Voetter
27c8d4862c
Render error set constant for wrappers
2021-07-02 22:18:37 +02:00
Robin Voetter
844c1564d7
CI: Upload vk.zig as artifact
2021-07-02 19:51:14 +02:00
ashpil
722ddfdb6b
camel -> snake for command enums + fixes
2021-06-26 23:43:59 -04:00
ashpil
e36930ad5d
less verbose interface via @Type
2021-06-25 09:28:52 -04:00
Robin Voetter
79d901a3e0
Fix a whole bunch of issues exposed by ziglang/zig#9191
...
This also includes a workaround for the fact that @"type" refers to the builtin
and not to a variable called "type". See ziglang/zig#2897 .
2021-06-24 02:11:36 +02:00
Robin Voetter
511211f038
zig fmt **.zig
...
This also replaces @byteOffsetOf with @offsetOf.
2021-06-13 15:15:42 +02:00
Robin Voetter
4b4ef38c93
Fix incorrect alignment of Flags64 type packed structs
2021-06-08 00:28:03 +02:00
Robin Voetter
beaa5bb0a5
Adapt to changed hashmap API
2021-06-05 13:42:30 +02:00
Robin Voetter
e0101accda
CallingConvention and Target live in std, not in builtin
2021-05-21 12:55:14 +02:00
Robin Voetter
5375c873d9
Vulkan 1.2.175 compatibility
2021-04-13 19:52:06 +02:00
Robin Voetter
1e7b5edb10
Allow F as floating-point suffix
2021-03-30 13:08:34 +02:00
Robin Voetter
9f23e2e16d
Vulkan 1.2.170 compatibility
2021-02-16 15:26:22 +01:00
Robin Voetter
d8b223bb3b
Remove some old code
2021-02-10 00:01:46 +01:00
Robin Voetter
fe85c8975e
Small styling fix
2021-01-17 03:49:55 +01:00
Robin Voetter
1c8e6b5a4b
Make API-enums non-exhaustive
...
The Vulkan implementation is not required to
filter enums on values supported by the requested
API, and so may return values that the
implementation doesn't know about. By making
these enums non-exhaustive, the programmer is
forced to deal with these kinds of cases
appropriately.
2021-01-16 17:06:43 +01:00
Robin Voetter
4a3700dbdd
Generate fully qualified alias enum variants
2021-01-16 05:14:14 +01:00