Commit Graph

428 Commits

Author SHA1 Message Date
InKryption
05deff877b Replace command enums with command flag structs 2022-06-03 03:44:03 +02:00
Robin Voetter
8bf440cdf0 Merge pull request #46 from Avokadoen/master
update to latest zig
2022-05-28 20:32:34 +02:00
Aksel Hjerpbakk
7fdaece86c update to latest zig 2022-05-28 15:30:07 +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
5b1385de70 ci: bump vulkan sdk version 2022-02-15 22:13:05 +01:00
Robin Voetter
ed13b3ec74 Update readme to new api usage 2022-02-10 01:24:55 +01:00
Robin Voetter
9607e97fe9 example: really resolve swapchain memory leak this time 2022-02-08 12:36:38 +01:00
Robin Voetter
7b80166108 example: handle potential memory leak 2022-02-02 17:14:44 +01:00
Robin Voetter
0f496af7e9 Adapt to new ArgsIterator api 2022-02-02 17:14:33 +01:00
Robin Voetter
ec4b4a0d46 Merge pull request #39 from maxxnino/master
example: fix memory leak in swapchain.deinit
2022-01-30 05:17:30 +01:00
maxxnino
e9615a2ce2 example: fix memory leak in swapchain.deinit 2022-01-30 12:00:11 +09:00
Robin Voetter
a09cca0801 Merge pull request #38 from maxxnino/master
fix segfault when add more device extensions in example
2022-01-23 00:44:37 +01:00
maxxnino
86ba5f9980 fix segfault when add more device extensions in example 2022-01-22 14:34:12 +09: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
d7f499c949 ++y 2022-01-07 16:53:47 +01:00
Robin Voetter
4332a44c28 fix Renderer.isFlags for 64-bit flags 2022-01-02 12:38:28 +01:00
Robin Voetter
1e1af94949 Merge pull request #37 from maxxnino/master
Destroy correct semaphore when error
2022-01-02 12:27:13 +01:00
maxxnino
ac1eb6fa17 destroy correct semaphore when error 2022-01-02 14:26:24 +09:00
Robin Voetter
dc2015adc3 Merge pull request #36 from ashpil/master
Tweaks to shader build integration
2021-12-30 16:17:20 +01:00
ashpil
809537f536 appends .spv to glslc compiled filename 2021-12-29 21:49:52 +03:00
ashpil
e2268a7eb4 makes shader build comment output directory user-specifiable 2021-12-29 21:45:12 +03:00
Robin Voetter
b337356ecc Merge pull request #34 from InKryption/patch-1
Copy array of strings instead of assuming lifetime
2021-12-29 01:50:42 +01:00
InKryption
e4c0d63aaa Increase branch-quota to compensate preemptively 2021-12-28 13:55:39 +01:00
InKryption
10fe28eddc Remove debug assertion 2021-12-28 13:12:45 +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
InKryption
2c9aa3655d Copy array of strings instead of assuming lifetime
Current setup works fine if passed static memory like '&.{ "glslc" }', but produces errors of various types (segmentation faults, access denied, file doesn't exist, etc) if passed a dynamically allocated slice, such as a slice containing the result of a call to `Builder.pathJoin`, a la `b.pathJoin(&.{ b.env_map.get("VULKAN_SDK").?, "bin", "glslc" })`.
2021-12-27 23:17:07 +01:00
Robin Voetter
eb4373bb7c Merge pull request #33 from antlilja/err_opt_order
Fix order of handling of optional error union type in generator
2021-12-24 23:38:57 +01:00
antlilja
9034c90184 Fix order of handling of optional error union type
std.process.args().next(...) returns an optional error union type, the
potential error has to be handled before the optional can be unwrapped.
2021-12-24 23:29:31 +01:00
Robin Voetter
bf0d0bc43b Rename c_void to anyopaque (ziglang/zig/#10316) 2021-12-20 02:15:00 +01:00
Robin Voetter
0fffe145ed also pass the parameter in this test 2021-12-17 20:15:31 +01:00
Robin Voetter
7c2d1d466b parse pointers in function pointer declarations always as optional 2021-12-17 20:13:19 +01:00
Robin Voetter
c169871f96 Clarify loader calling convention characteristics (implements #30) 2021-12-09 00:28:17 +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
e634a4b434 CI: Bump Vulkan SDK version 2021-12-09 00:28:17 +01:00
Clement Rey
c036464d21 use Allocator.dupe instead of std.mem.dupe 2021-12-09 00:28:17 +01:00
maxxnino
a3f4e6a400 use present_queue for present_queue 2021-11-21 23:41:46 +09:00
Robin Voetter
156843cb9a Merge pull request #28 from Aransentin/patch-1
Updated Vulkan XML registry master branch name
2021-11-11 20:37:32 +01:00
Jens Goldberg
9aab9f4480 Updated Vulkan XML registry master branch name
The Vulkan XML registry changed their name from "master" to "main". This bit me when I followed the link in the README, didn't read too carefully that it was X commits behind, and downloaded a pretty old and incompatible version of `vk.xml` by mistake.
2021-11-11 19:34:34 +00:00
Robin Voetter
c6b46172c8 example: Cheap fix to make the window resizable on wl 2021-11-08 14:06:00 +01:00
Robin Voetter
8862336b77 Make Vulkan enums always be 32-bit (fixes #26) 2021-11-08 13:43:41 +01:00
Robin Voetter
caf8e6be99 Merge pull request #25 from InKryption/patch-1
Replace `anytype` with explicit `[]const {s}Command`
2021-11-05 19:10:11 +01:00
InKryption
087cd02413 Update graphics_context.zig 2021-11-05 18:06:20 +00:00
InKryption
d9c1c79223 Replace anytype with explicit []const {s}Command 2021-11-05 17:45:15 +00:00