Commit Graph

24 Commits

Author SHA1 Message Date
Andreas Süßenbach 9747e68285
Restrict template argument Dispatch to only take evaluate the newly introduced type trait isDispatchLoader with value == true. (#2360)
Set Version Tag / set-version-tag (push) Has been cancelled Details
2025-11-12 18:21:31 +01:00
Andreas Süßenbach 15f4b3024f
Fix default values of function arguments when VULKAN_HPP_NO_DEFAULT_DISPATCHER is defined. (#2356) 2025-11-12 10:08:57 +01:00
Andreas Süßenbach 4bc2057ad8
Cleanup on default assignment macros. (#2335) 2025-10-30 15:37:07 +01:00
github-actions[bot] 0a7333161d
Update Vulkan-Headers to v1.4.330 (#2330)
Co-authored-by: GitHub <noreply@github.com>
2025-10-27 12:49:31 +01:00
Sharadh Rajaraman ed449ac36f
Simplify named module handling and macros (#2303)
* Remove `VULKAN_HPP_ENABLE_STD_MODULE` macro; unconditionally use `import std;`

* Emit compile-time warning about experimental state for module

* Refactor `#include` guard to use `VULKAN_HPP_CXX_MODULE` for all headers

* Group global namespace exports into block

* Simplify CMake setup for modules

- Raise minimum version to 3.22 (this is what we have in CI)
- Remove duplicated options
- Set up a single option that depends on magic `__CMAKE::CXX23` target; defaults to OFF unless magic UUID set (or future CMake version supports)

* Rebase changes

* Guard C++ module warning with compile-time flag

* Fix macro guard for experimental warning

* Force `<vulkan/vulkan_hpp_macros.hpp>` at the top of includes list
2025-10-09 21:04:11 +02:00
Ilya Doroshenko 4ff98ef7a8
#1894 Added macro guard for optional default deleter constructors assignments. (#2296) 2025-09-29 17:22:14 +02:00
Andreas Süßenbach 6cfec828f6
Refactor file generation functions (#2256)
* Refactor file generation functions

* Rebased on main.
2025-08-18 08:31:15 +02:00
Andreas Süßenbach 2010d85fb4
Remove redundant occurrences of VULKAN_HPP_NAMESPACE:: in vulkan_shared.hpp (#2207) 2025-07-03 10:29:37 +02:00
github-actions[bot] a31d678939
Update Vulkan-Headers to v1.4.319 (#2193)
Co-authored-by: GitHub <noreply@github.com>
2025-06-24 10:26:51 +02:00
github-actions[bot] 51a648fa9a
Update Vulkan-Headers to v1.4.317 (#2174)
Co-authored-by: GitHub <noreply@github.com>
2025-06-11 11:07:32 +02:00
github-actions[bot] 7eb8eacec5
Update Vulkan-Headers to v1.4.312 (#2127)
Co-authored-by: GitHub <noreply@github.com>
2025-04-07 11:33:00 +02:00
Jan Kuhlmann 03f07338be
Suppress clang warning `-Wcast-function-type` for shared destroy (#2078)
* supress clang warning for shared destroy

* ignore demoted to -Wcast-function-type

* ignore warning only for clang13 and up

* only pop warning if previously pushed
2025-02-19 09:05:30 +01:00
Andreas Süßenbach 6578bfcc88
Update Vulkan-Headers to v1.4.305 (#2049) 2025-01-21 10:53:23 +01:00
Andreas Süßenbach 6e5489fcd9
Move all the management helper classes for SharedHandles and UniqueHandles into namespace detail. (#1984) 2024-10-30 08:14:48 +01:00
Andreas Süßenbach ed3cf7ac51
Move all the dispatcher related classes into namespace detail (#1983) 2024-10-29 08:13:51 +01:00
GitHub 26cf5590cb Update Vulkan-Headers to v1.3.297 2024-10-05 21:26:32 +02:00
Sharadh Rajaraman 6abd3f42a8
Use `import std;` guarded by macro (#1932)
* Initial build and tests setup

* Enable the `CppStdModule` test

* Snippets and generator changes

* Generated files changes

* Enable std module with macro

* Unconditionally use `import std` with C++23

* Add support for external `import std` control with `VULKAN_HPP_ENABLE_STD_MODULE`

- Rewrite `includes.hpp` and `macros.hpp`
- Unconditionally set `VULKAN_HPP_ENABLE_STD_MODULE` for `vulkan.cppm` to bug-fix
- Generated necessary files again

* Top-level CMake changes

* Reorganise logic, and propagate external macro correctly

* RAII: vulkan_hpp before ifdef

* Define `VK_USE_64_BIT_PTR_DEFINES` in `vulkan_hpp_macros.hpp`

* Generate the `VK_USE_64_BIT_PTR_DEFINES` clause from the XML instead of hardcoding it

* Refactored handling for `VK_USE_64_BIT_PTR_DEFINES`

- Updated condition to positive test for `#ifndef VK_USE_64_BIT_PTR_DEFINES` in `completeMacro`

* Added `#include <string.h>` to resolve `strnlen` missing in the module

* Use only `std.compat`

* FIx after rebase
2024-09-05 08:48:19 +02:00
github-actions[bot] bd70384cd4
Update Vulkan-Headers to v1.3.294 (#1951)
Co-authored-by: GitHub <noreply@github.com>
2024-08-26 16:06:58 +02:00
Ilya Doroshenko 0f4e59bd95
Fix for shared handles for pool deleter (#1925)
* Fix for shared handles for pool deleter

* added pool type traits,
added special constructor for pool types

* return of assert
2024-08-05 14:21:44 +02:00
Andreas Süßenbach 3e6fed9492
Introduce implicit cast operators for vk::UniqueHandles, vk::SharedHandles and vk::raii::Handles (#1771) 2024-01-16 13:48:53 +01:00
github-actions[bot] 1a24b01583
Update Vulkan-Headers to v1.3.275 (#1768)
Co-authored-by: GitHub <noreply@github.com>
2024-01-08 10:21:39 +01:00
github-actions[bot] 9c15a1e1ef
Update Vulkan-Headers to v1.3.269 (#1707)
Co-authored-by: GitHub <noreply@github.com>
2023-10-23 13:58:24 +02:00
Andreas Süßenbach 962979c679
Identify delete commands starting with "vkRelease" (#1697) 2023-10-16 16:01:35 +02:00
Ilya Doroshenko 5d0d3b7bd9
Shared Handles (#1619)
* stage 1: added shared handles and all traits

* moved deleter to the shared part, now Shared handle weights 2 pointers

* Fixed Destroy Function

* generated headers

* At least no errors.

TODO: get image overload of shared handle back
make an example

* fixed all SFINAE issues, moved image specialization

* Added a sample

* made better example, added specialization for swapchain, added shared handles to readme

* Major update:
Fixed all wishes
Made std::shared_ptr do heavy lifting
Reduced code complexity
Added ParentType to basic handles
Added put and put_native for cross-abi usage

* more readme

* safer release()
removed put() for now

* better synchronization
inspired by STL shared_ptr implementation

* removed test shared pointer

* added forward type for better interop with VMA
added parent checking

* fixed getParent()

* added non-deleting overloads for Queue, DisplayKHR and PhysicalDevice

* Shared non-destoyed type now have handles

* using constructors are made to comply standard

* fixed leak

* shared handles migrated to own header,
made module entries

* header is independent now

* rebased repo, updated the example

* fixed most of the stuff

* renamed parent of, added guide to make shared handles

* vulkansc

* moved destructor to shared handle traits

* resolved issues with CI

* more relaxed memory ordering for release operation

* trying to remove submodule

* renamed to destructorType

* suppressed function cast warning

* only GCC should be affected
2023-09-19 13:04:36 +02:00