75 Commits

Author SHA1 Message Date
Andreas Süßenbach
32bd2b7ab7
Adjust order for loading vulkan library by the DynamicLoader for MacOS. (#2231) 2025-07-30 17:19:43 +02:00
Andreas Süßenbach
d16c62670b
Mark deprecated struct members as deprecated. (#2230) 2025-07-30 09:36:58 +02:00
Andreas Süßenbach
7dfe7d3ad9
Extend support of VULKAN_HPP_NO_EXCEPTIONS in the raii-namespace (#2226) 2025-07-22 13:48:50 +02:00
Andreas Süßenbach
da67e807a8
Remove redundant occurrences of VULKAN_HPP_NAMESPACE:: and VULKAN_HPP_RAII_NAMESPACE:: in vulkan_raii.hpp (#2213) 2025-07-14 16:26:20 +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
Andreas Süßenbach
fe0190241c
Remove redundant occurrences of VULKAN_HPP_NAMESPACE:: in vulkan_handles.hpp (#2206) 2025-07-02 15:07:55 +02:00
Andreas Süßenbach
3444a16cfb
Remove redundant occurrences of VULKAN_HPP_NAMESPACE:: in vulkan_funcs.hpp and other headers (#2205) 2025-07-01 17:24:19 +02:00
Andreas Süßenbach
32f2957efc
Remove redundant occurrences of VULKAN_HPP_NAMESPACE:: in vulkan_format_traits.hpp (#2200) 2025-06-26 13:40:36 +02:00
Andreas Süßenbach
dfed90530b
Cleanup work on compare operators (#2169)
* Cleanup work on compare operators

* Use defaulted spaceship operators for handles if available, otherwise use set of explicit comparison operators.
2025-06-24 08:31:14 +02:00
Andreas Süßenbach
c143eb293c
Remove redundant occurrences of VULKAN_HPP_NAMESPACE:: in vulkan.hpp. (#2191) 2025-06-18 13:32:51 +02:00
Andreas Süßenbach
54cc539ab5
Add functions vk::isColor() and vk::getAllFormats() (#2166) 2025-05-14 08:41:20 +02:00
btmxh
715aab1337
Fix undefined assert when using std module (#2165)
* Fix undefined `assert` when using `std` module

Fix #2164

* Move include `<cassert>` to before `<string.h>
2025-05-14 08:40:11 +02:00
Jan Kuhlmann
9e748f985b
C++20 Module: Exporting PFN_* symbols (#2158)
* exporting PFN_* symbols in cppm

* changed fnc signature and removed unnecessary assignment

* forgot one

* moved exports to bottom of cppm
2025-05-13 11:28:32 +02:00
Andreas Süßenbach
91109e1e2f
Add new functions getColorFormats, hasRedComponent, hasGreenComponent, hasBlueComponent, and hasAlphaComponent to vulkan_format_traits.hpp (#2163) 2025-05-12 16:54:37 +02:00
Andreas Süßenbach
02b78071f1
Refactor format traits generation (#2160) 2025-05-07 16:24:40 +02:00
Andreas Süßenbach
3f281b80b4
Add documentation of new format trait functions (#2144) 2025-04-30 08:35:45 +02:00
Andreas Süßenbach
66da6f2b87
Introduce new format traits functions (#2143) 2025-04-23 10:54:17 +02:00
Andreas Süßenbach
ee361cf520
Add BitsType to vk::Flags to get from vk::*Flags to vk::*FlagBits at compile-time (#2139) 2025-04-17 18:11:15 +02:00
Andreas Süßenbach
fda93ae3fb
Include cassert unconditionally (#2134) 2025-04-10 13:56:09 +02:00
Andreas Süßenbach
a428958b7f
Check language feature macro for existence before using it (#2133) 2025-04-10 10:49:25 +02:00
Andreas Süßenbach
450a047750
Extend depends handling of extensions to allow multiple sets of dependencies for the very same vulkan version. (#2126) 2025-04-03 20:21:11 +02:00
Andreas Süßenbach
63eff3a2e0
Re-introduce extension dependencies inspection (#2124)
* Re-introduce extension dependencies inspection.
2025-04-03 09:06:58 +02:00
Andreas Süßenbach
da9db0c8a0
Replace some more "vk::" by "VULKAN_HPP_NAMESPACE::" (#2095) 2025-03-06 17:19:37 +01:00
Andreas Süßenbach
325602c26a
Remove extension dependency inspection functions (temporarily) (#2094) 2025-03-06 17:17:32 +01:00
Jan Kuhlmann
be9459f9c3
properly export VkGeometryInstanceFlagsKHR symbol (#2085) 2025-02-24 11:08:07 +01: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
Jan Kuhlmann
85036c964c
C++20 module: Hide to_string behind VULKAN_HPP_NO_TO_STRING (#2077)
* hide to_string behind VULKAN_HPP_NO_TO_STRING

* adjusted generated cppm
2025-02-18 08:20:17 +01:00
Andreas Süßenbach
4dc27d82a4
Move lengthy template texts into snippet files. (#2072) 2025-02-13 10:56:11 +01:00
Andreas Süßenbach
a4d53f4a22
Move extension inspection template to a snippet file. (#1992) 2024-11-11 11:41:24 +01:00
Andreas Süßenbach
43f7a18b02
Adjust loading procedure of the vk::detail::DynamicLoader on MacOS (#1991) 2024-11-05 19:52:08 +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
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
Andreas Süßenbach
fbb62163a0
Mark deprecated enum values as deprecated (#1955) 2024-09-03 08:53:36 +02:00
Andreas Süßenbach
ecd4b59328
Remove move-constructor and deleted move-assignment of vk::StructureChain. (#1949) 2024-08-26 09:45:57 +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
Nikolai Siukosev
ae1eb5f449
Non raii handles move exchange (#1929)
* Add move semantics for non-raii hpp handles. (#1919)

* Updated generated vulkan/* files
2024-07-23 09:55:09 +02:00
Andreas Süßenbach
aac0b4d3ac
Simplify helper class vk::ArrayProxyNoTemporaries. (#1908) 2024-06-25 17:43:55 +02:00
Andreas Süßenbach
6604f5a1d9
Make generated headers resistant to missing definition of NOMINMAX for windows builds. (#1906) 2024-06-17 14:51:12 +02:00
Andreas Süßenbach
4d12a28006
Improve relational operators on ArrayWrapper1D. (#1890) 2024-06-06 08:35:49 +02:00
Andreas Süßenbach
bb66ad3b04
Moved some implementation details into namespace detail. (#1840) 2024-04-08 11:40:53 +02:00
David Ryskalczyk
17226363e7
Fix for VULKAN_HPP_TYPESAFE_CONVERSION defined to 0 (#1806)
* Fix for VULKAN_HPP_TYPESAFE_CONVERSION defined to 0

* Remove the check if VULKAN_HPP_TYPESAFE_CONVERSION actually is defined, just check if it's 1.

---------

Co-authored-by: asuessenbach <asuessenbach@nvidia.com>
2024-03-11 09:39:39 +01:00
Andreas Süßenbach
80826e4001
Switched from using "typedef" to using "using". (#1823) 2024-03-11 09:37:43 +01:00
Andreas Süßenbach
7a048a0cc7
Fix issue with vk::StructureChain::assign: use auto, instead of void *, to also support structures with const void * as type for pNext. (#1799) 2024-02-08 12:32:57 +01: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
Nikolai Siukosev
180ef2f598
Added VULKAN_HPP_NO_WIN32_PROTOTYPES preprocessor condition (#1756)
* Added VULKAN_HPP_NO_WIN32_PROTOTYPES preprocessor condition which disables dynamic loader type declaration for win32

* Added VULKAN_HPP_NO_WIN32_PROTOTYPES README.md section
2024-01-09 09:13:37 +01:00
Juan Ramos
d684b72b3e
Check for libvulkan.1.dylib (#1755) 2024-01-02 13:56:05 +01:00
Andreas Süßenbach
197017ef20
Add support of noexcept-path for vk::raii classes (#1742) 2024-01-02 13:47:01 +01:00
Andreas Süßenbach
e86419f738
Include headers holding feature-test macros in vulkan_hpp_macros.hpp. (#1727) 2023-11-14 16:50:21 +01:00
Andreas Süßenbach
9bece47d4c
Fix ArrayWrapper1D::operator std::string() and ArrayWrapper1D::operator std::string_view() to return a string/string_view of the correct length. (#1725) 2023-11-14 16:49:01 +01:00