Commit Graph

1005 Commits

Author SHA1 Message Date
github-actions[bot] 1fd397b801
Update Vulkan-Headers to v1.4.311 (#2114)
Co-authored-by: GitHub <noreply@github.com>
2025-03-25 10:37:38 +01:00
Andreas Süßenbach b19b7d7afb
Make the vk::to_string functions constexpr with C++20 and above. (#2101) 2025-03-13 13:44:44 +01:00
Jan Kuhlmann fd13995952
temporarily remove extension dependency inspection (#2099) 2025-03-11 16:59:02 +01:00
github-actions[bot] 1ce3fcac8b
Update Vulkan-Headers to v1.4.310 (#2097)
Co-authored-by: GitHub <noreply@github.com>
2025-03-10 17:53:35 +01:00
Victor Chernyakin fe203f86d0
Optimize `to_string` functions for enums (#2096)
* Optimize `to_string` functions for enums

* Fix `-Wunused-parameter` warning
2025-03-06 17:30:20 +01: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
Andreas Süßenbach 8f9db1bad6
Minor cleanup work (#2090) 2025-02-24 18:02:40 +01:00
github-actions[bot] 16da8bd29e
Update Vulkan-Headers to v1.4.309 (#2088)
Co-authored-by: GitHub <noreply@github.com>
2025-02-24 11:46:40 +01:00
Jan Kuhlmann be9459f9c3
properly export VkGeometryInstanceFlagsKHR symbol (#2085) 2025-02-24 11:08:07 +01:00
Piers Daniell 0236fbad7d
Add additional type conversion operators to the struct classes to make it easier to interoperate with the Vulkan C API (#2087)
* Add type conversion operators to the structs

This improves compatibility with the Vulkan C API so applications can
easily use the vulkan_structs.hpp classes with the C API seamlessly.

* Minor fixes
2025-02-24 09:35:16 +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
Yilong Li 9dbf676cdb
vulkan_handles: Remove the redundant semicolon after ctor definition (#2073)
Semicolons after in-class function definitions are redundant, and may
trigger the "-Wextra-semi" warning of compilers, for example:

* gcc: https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wextra-semi
* clang: https://clang.llvm.org/docs/DiagnosticsReference.html#wextra-semi

This change removes the redundant semicolon in the code generator and
the generated hpp file.

Bug: https://fxbug.dev/378964821
2025-02-17 14:36:07 +01:00
Andreas Süßenbach 3ec3e1c8d1
Add support for clang_format options version 17 (#2063) 2025-02-06 13:20:09 +01:00
Andreas Süßenbach 3f2fe22281
Add support for clang_format options version 16. (#2062) 2025-02-05 13:44:36 +01:00
Andreas Süßenbach d9c7a3b836
Add links into https://registry.khronos.org/vulkan/specs/latest/man/html for relevant data types (#2061) 2025-02-04 11:13:58 +01:00
github-actions[bot] 6b05ffe121
Update Vulkan-Headers to v1.4.307 (#2058)
Co-authored-by: GitHub <noreply@github.com>
2025-02-03 11:44:22 +01:00
github-actions[bot] bc11a75f32
Update Vulkan-Headers to v1.4.306 (#2055)
Co-authored-by: GitHub <noreply@github.com>
2025-01-27 10:21:23 +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 03c775461b
Use VULKAN_HPP_NO_CONSTRUCTORS and VULKAN_HPP_NO_SETTERS as documented in the readme. (#2041) 2025-01-09 15:45:43 +01:00
Andreas Süßenbach 8ca59e086c
Update Vulkan-Headers to v1.4.304 (#2039) 2025-01-09 12:33:24 +01:00
Andreas Süßenbach ed47b1d9ad
Remove special assertion on eFreeDescriptorSet in function Device::createDescriptorPool (#2038) 2025-01-08 19:47:53 +01:00
Andreas Süßenbach 752778463e
Parallelize the generation of the files. (#2035) 2025-01-08 11:53:08 +01:00
Andreas Süßenbach 264d35b58c
Introduce vk::PFN_VoidFunction as a replacement of PFN_vkVoidFunction (#2033) 2025-01-06 18:04:33 +01:00
Andreas Süßenbach d5f49e5a7b
Change using WIN32 to _WIN32 (#2032) 2025-01-06 14:20:22 +01:00
Andreas Süßenbach 0d89df69b3
Export the C-type VkGeometryInstanceFlagsKHR in vulkan.cppm. (#2023) 2025-01-06 10:16:51 +01:00
Andreas Süßenbach 1055cb5e78
Add funcpointer types to vulkan.cppm. (#2022) 2024-12-12 15:20:37 +01:00
Andreas Süßenbach d5a18dc87e
Introduce vk-version of the funcpointers (#2020) 2024-12-12 09:46:53 +01:00
Andreas Süßenbach 07cdcb909d
Adjust namespace of compare operators on vk-handles. (#2013) 2024-12-11 09:33:07 +01:00
Andreas Süßenbach 22a2be853c
Export detail::getDispatchLoaderStatic in vulkan.cppm (#2008) 2024-12-11 09:28:49 +01:00
Andreas Süßenbach bdd57b78fa
Include vulkan_to_string.hpp in vulkan.cppm (#2017) 2024-12-10 17:46:29 +01:00
Andreas Süßenbach a29adc0147
Include vulkan.hpp, instead of vulkan_enums.hpp in vulkan_to_string.hpp. (#2016) 2024-12-10 17:44:47 +01:00
Andreas Süßenbach c2c49478e9
Re-add compare operators of vk-handles, needed for 32bit builds. (#2010) 2024-12-06 09:56:10 +01:00
github-actions[bot] 20ecea9574
Update Vulkan-Headers to v1.4.303 (#2006)
Co-authored-by: GitHub <noreply@github.com>
2024-12-04 10:30:35 +01:00
Andreas Süßenbach 265b317356
Extend enum value alias handling. (#2004) 2024-12-02 13:50:53 +01:00
Andreas Süßenbach 1e92bf4fcd
Add inclusion of new encode file to VideoHppGenerator, add compile test for video. (#2002) 2024-12-02 08:51:02 +01:00
Andreas Süßenbach 06b91cfdc2
Add comparison operators for vk::raii handles, remove them for vk handles (#2001) 2024-11-28 08:50:43 +01:00
Andreas Süßenbach cdfa83ab79
Add specializations of std::hash for all the structs and handles in the vk-namespace. (#1994) 2024-11-26 11:08:49 +01:00
Andreas Süßenbach d433715af0
Extend cases when vk::detail::DispatchLoaderStatic is defined. (#1995) 2024-11-14 12:19:22 +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
github-actions[bot] 6902b578be
Update Vulkan-Headers to v1.3.301 (#1990)
Co-authored-by: GitHub <noreply@github.com>
2024-11-05 11:47: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-actions[bot] 24dee1ce75
Update Vulkan-Headers to v1.3.300 (#1981)
Co-authored-by: GitHub <noreply@github.com>
2024-10-28 12:45:25 +01:00
Andreas Süßenbach e80b3fae8a
Restrict commands taking an allocator as template argument to allocators of the correct data type (#1980) 2024-10-24 16:29:00 +02:00
Andreas Süßenbach eecf79d57f
Add some special handling debug code for vk::raii::DescriptorPool (#1978) 2024-10-24 08:18:43 +02:00
github-actions[bot] 8444972909
Update Vulkan-Headers to v1.3.299 (#1974)
Co-authored-by: GitHub <noreply@github.com>
2024-10-21 14:58:14 +02:00
github-actions[bot] 8592ed9743
Update Vulkan-Headers to v1.3.298 (#1971)
Co-authored-by: GitHub <noreply@github.com>
2024-10-14 12:32:50 +02:00
Andreas Süßenbach 56fdc0b070
Generate only the standard version for commands that would require vector-operations inside a struct. (#1970) 2024-10-09 16:06:13 +02: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
Andreas Süßenbach fbb62163a0
Mark deprecated enum values as deprecated (#1955) 2024-09-03 08:53:36 +02:00
github-actions[bot] 2fcbcfbefe
Update Vulkan-Headers to v1.3.295 (#1954)
Co-authored-by: GitHub <noreply@github.com>
2024-09-02 12:39:56 +02:00
Andreas Süßenbach 98ea600e1f
Removed special handling for enumerating commands with complex size information via a struct, generating just the standard function in such cases (#1952) 2024-08-26 16:21:45 +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
Andreas Süßenbach ecd4b59328
Remove move-constructor and deleted move-assignment of vk::StructureChain. (#1949) 2024-08-26 09:45:57 +02:00
Andreas Süßenbach d86b49ca04
Update Vulkan-Headers to v1.3.293 (#1944) 2024-08-19 16:23:55 +02:00
Andreas Süßenbach b2c409dd31
Add IWYU pragmas to let code-completers use vulkan.hpp. (#1939) 2024-08-07 15:04:06 +02:00
Andreas Süßenbach fde7e0fc84
Remove deprecation message on promoted extensions. (#1938) 2024-08-07 12:09:39 +02:00
github-actions[bot] dd0785dbc1
Update Vulkan-Headers to v1.3.292 (#1934)
Co-authored-by: GitHub <noreply@github.com>
2024-08-05 14:58:22 +02:00
Sharadh Rajaraman 003cf8e090
Don't export symbols in `vk::detail` namespace (#1931) 2024-08-05 14:26:29 +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
github-actions[bot] f7f0d8ccaa
Update Vulkan-Headers to v1.3.291 (#1924)
Co-authored-by: GitHub <noreply@github.com>
2024-07-22 13:20:20 +02:00
Andreas Süßenbach 77f6a638a7
Use clang++14 with Cpp-23 on ubuntu-latest (#1921) 2024-07-17 13:18:25 +02:00
github-actions[bot] e3b0737d57
Update Vulkan-Headers to v1.3.290 (#1918)
Co-authored-by: GitHub <noreply@github.com>
2024-07-15 12:43:47 +02:00
Janeczko Jakub 096e555640
Add alias bitmasks to module interface (#1917)
* add alias bitmasks to c++ module

* generate code

* format
2024-07-15 12:39:19 +02:00
github-actions[bot] 630d8da8c6
Update Vulkan-Headers to v1.3.289 (#1912)
Co-authored-by: GitHub <noreply@github.com>
2024-07-01 14:11:05 +02:00
Andreas Süßenbach 3b0d995a82
Introduce some special handlings for structure VkLayerSettingEXT. (#1910) 2024-06-27 13:32:31 +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
github-actions[bot] bfb16c9781
Update Vulkan-Headers to v1.3.288 (#1904)
Co-authored-by: GitHub <noreply@github.com>
2024-06-17 14:13:31 +02:00
Andreas Süßenbach 842406f2a6
Try to workaround a possible bug with clang and gcc... (#1902) 2024-06-13 14:07:04 +02:00
Andreas Süßenbach d507727fd7
Add support for enumerating functions that originally take a struct with the vector information. (#1892) 2024-06-11 16:53:15 +02:00
github-actions[bot] 6fb0c202be
Update Vulkan-Headers to v1.3.287 (#1891)
Co-authored-by: GitHub <noreply@github.com>
2024-06-10 11:37:10 +02:00
Andreas Süßenbach 4d12a28006
Improve relational operators on ArrayWrapper1D. (#1890) 2024-06-06 08:35:49 +02:00
Andreas Süßenbach eb1f4cfb58
Update Vulkan-Headers to v1.3.286 (#1887) 2024-06-04 16:32:05 +02:00
github-actions[bot] b2810ca912
Update Vulkan-Headers to v1.3.285 (#1871)
Co-authored-by: GitHub <noreply@github.com>
2024-05-14 22:53:57 +02:00
Andreas Süßenbach c8dd4fb5ea
Add support for enumerating commands with more than two success codes. (#1870) 2024-05-08 18:46:23 +02:00
Andreas Süßenbach d3f062dd68
Change default for template non-type parameter value of struct CppType from 0 to Type{}. (#1868) 2024-05-07 13:45:58 +02:00
github-actions[bot] 8d46db6965
Update Vulkan-Headers to v1.3.284 (#1867)
Co-authored-by: GitHub <noreply@github.com>
2024-05-07 12:08:03 +02:00
Andreas Süßenbach 1bbd615b15
Change member initialization lists of structs to use braces {} instead of parentheses () (#1864) 2024-05-06 10:36:48 +02:00
Andreas Süßenbach 2d42465f64
Minor cleanup on fence and event handling in two RAII-samples. (#1859) 2024-05-02 09:37:29 +02:00
Sharadh Rajaraman 79307b6253
Check value of `VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL` instead of existence (#1856)
* Check value of VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL instead of existence

* Also change vulkansc.cppm
2024-04-29 08:59:01 +02:00
Andreas Süßenbach 1de6e89eb2
Explicitly set the copy/move constructors/assignment operators of vk::handle to be default; add static assert on is_copy_constructible for vk::handles (#1852) 2024-04-25 13:30:52 +02:00
github-actions[bot] 2fbc146fee
Update Vulkan-Headers to v1.3.283 (#1849)
Co-authored-by: GitHub <noreply@github.com>
2024-04-22 13:45:11 +02:00
Andreas Süßenbach 0eafe7e55a
Fix name of enum values with more than one "BIT" in its name (#1848) 2024-04-18 16:11:14 +02:00
github-actions[bot] 4bf2835dd1
Update Vulkan-Headers to v1.3.282 (#1846)
Co-authored-by: GitHub <noreply@github.com>
2024-04-15 16:55:23 +02:00
Andreas Süßenbach ed5b48b517
Pay attention to struct aliases to determine struct dependencies. (#1842) 2024-04-08 18:00:46 +02:00
Andreas Süßenbach bb66ad3b04
Moved some implementation details into namespace detail. (#1840) 2024-04-08 11:40:53 +02:00
Andreas Süßenbach d111d68be8
Simplify handling of enum value aliases (#1838) 2024-04-03 08:29:10 +02:00
Andreas Süßenbach a7ac08b8d2
Guard type trait CppType to map from VkHandle to vk::Handle by ( VK_USE_64_BIT_PTR_DEFINES == 1 ). (#1836) 2024-03-25 14:00:43 +01:00
github-actions[bot] 88d508b32f
Update Vulkan-Headers to v1.3.281 (#1834)
Co-authored-by: GitHub <noreply@github.com>
2024-03-25 13:50:59 +01:00
Andreas Süßenbach ce84c37abf
Reorganized enum value alias handling. (#1830) 2024-03-21 08:05:15 +01:00
Andreas Süßenbach 194708b54c
Extent type trait vk::CppType to map from VkHandle to vk::Handle (#1829) 2024-03-19 14:07:03 +01:00
github-actions[bot] e35acfe752
Update Vulkan-Headers to v1.3.280 (#1824)
Co-authored-by: GitHub <noreply@github.com>
2024-03-11 11:50:46 +01: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 2b35399a73
Remove unnecessary static_casts on vk::Results. (#1822) 2024-03-06 08:54:20 +01:00
github-actions[bot] 6fb8def272
Update Vulkan-Headers to v1.3.279 (#1819)
Co-authored-by: GitHub <noreply@github.com>
2024-03-04 13:52:45 +01:00
Andreas Süßenbach 29723f90a1
Update Vulkan-Headers to v1.3.278 (#1810) 2024-02-19 22:00:57 +01:00
Nikolai Siukosev f1a38ff729
Disabled `vk::raii::exchange()` implementation for C++14 or newer (#1803)
* Disabled `vk::raii::exchange()` implementation for C++14 or newer. Replaced with `using std::exchange`

* Regenerated raii headers
2024-02-15 08:35:02 +01:00
Andreas Süßenbach 982afd2929
Special handling for command vkGetDeviceFaultInfoEXT: changed return type from ResultValue to ResultValueType (#1800) 2024-02-08 15:30:36 +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 c74c22fb77
Use some special handling for struct vk::DeviceFaultInfoEXT (#1796) 2024-02-08 11:40:27 +01:00
Andreas Süßenbach 9a8dda30d5
add missing include files in vulkan_video.hpp (#1795) 2024-02-06 21:10:30 +01:00
Andreas Süßenbach a3ecb02131
Downgrade missing attribute "type" in enums in video.xml from error to warning (#1792) 2024-02-06 13:17:39 +01:00
Andreas Süßenbach 9fa4459c50
Add special handling for call sequence in commands for vkGetDeviceFaultInfoEXT (#1790) 2024-02-05 15:44:40 +01:00
github-actions[bot] c5c1994f79
Update Vulkan-Headers to v1.3.277 (#1778)
Co-authored-by: GitHub <noreply@github.com>
2024-02-05 12:15:13 +01:00
github-actions[bot] d4b36b8223
Update Vulkan-Headers to v1.3.276 (#1776)
Co-authored-by: GitHub <noreply@github.com>
2024-01-29 14:01:04 +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
Andreas Süßenbach e4ea505027
Simplified typename checks on allocator template types (#1770) 2024-01-10 13:30:04 +01:00
Andreas Süßenbach 9eab68eb5d
Add function pointer check when using DispatchLoaderDynamic. (#1769) 2024-01-08 12:19:28 +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
Andreas Süßenbach d2f13e2f7f
Include <memory> in vulkan_raii.hpp to have std::unique_ptr available. (#1762) 2024-01-03 11:49:10 +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
github-actions[bot] 2cc4dbdbca
Update Vulkan-Headers to v1.3.274 (#1754)
Co-authored-by: GitHub <noreply@github.com>
2024-01-02 13:10:46 +01:00
github-actions[bot] 170a000750
Update Vulkan-Headers to v1.3.273 (#1748)
Co-authored-by: GitHub <noreply@github.com>
2023-12-13 13:32:34 +01:00
github-actions[bot] e621db0771
Update Vulkan-Headers to v1.3.272 (#1743)
Co-authored-by: GitHub <noreply@github.com>
2023-12-04 12:31:47 +01:00
GitHub f28803081e Update Vulkan-Headers to v1.3.271 2023-11-28 05:51:00 -08:00
Patrick O'Connell 6453966415
Add missing includes (#1730) 2023-11-16 08:55:30 +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
github-actions[bot] 4cb522cc51
Update Vulkan-Headers to v1.3.270 (#1724)
Co-authored-by: GitHub <noreply@github.com>
2023-11-13 15:03:17 +01:00
Andreas Süßenbach 1620b8b0bf
Add missing include guard to vulkan_video.hpp (#1723) 2023-11-09 11:29:46 +01:00
Andreas Süßenbach 2e5e845bb9
Add C++23 to the workflow. (#1713) 2023-11-02 08:54:14 +01:00
Sharadh Rajaraman 26664a38a4
Add extension macros as constexpr (#1710)
* Initial implementation

* Reordered prefixes, added SPEC_VERSION macro

- And added using statements to module file

* Actually add changes to .hpp and .cppm files

* Fixes for extension constexpr macros

- renamed some vars
- simplified logic and control flow

* Grouped by extension name rather than macro guards

- And added titles to all extension constexprs

* Syntax changes

- Removed the structured binding and fixed asserts
- Used C++20 functions
- Added another assert to check that extension and specversion macros exist

* Remove `std::ranges` usage
2023-10-26 14:59:13 +02: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 33ea43b53f
Update submodule glslang to version 13.0.0 (#1700) 2023-10-17 12:41:14 +02:00
Andreas Süßenbach bab0e249f2
Improve implicit conversion operators of vk::ArrayWrapper1D on char type; added constructors from std::string and std::string_view (#1698) 2023-10-17 08:52:54 +02:00
Andreas Süßenbach 962979c679
Identify delete commands starting with "vkRelease" (#1697) 2023-10-16 16:01:35 +02:00
github-actions[bot] d2134fefe2
Update Vulkan-Headers to v1.3.268 (#1696)
Co-authored-by: GitHub <noreply@github.com>
2023-10-16 12:10:45 +02:00
Andreas Süßenbach c8cf030fe9
Add FlagBits type as required if it is not listed where the corresponding Flags type is required (#1689) 2023-10-10 21:54:36 +02:00
Anton Shangareev b961a1a4c2
Fix C++20 module build with -DVULKAN_HPP_NO_SMART_HANDLE (#1678)
* Move SharedHandle and UniqueHandle under correct preprocessor guard in .cppm

* Fix VulkanHppGenerator
2023-10-09 12:25:01 +02:00
github-actions[bot] d8d8b53a31
Update Vulkan-Headers to v1.3.267 (#1681)
Co-authored-by: GitHub <noreply@github.com>
2023-10-09 10:15:08 +02:00
Andreas Süßenbach f76ce52df5
Introduce using CppType type-trait for raii-classes, add two helper functions to filter the cpp-types out of a vector of raii-types. (#1672) 2023-10-05 15:19:16 +02:00
Andreas Süßenbach f97633a220
Extend command generation to support not returning some return stuff and not templatizing a void pointer. (#1666) 2023-10-02 14:57:52 +02:00
Andreas Süßenbach eccf541cd4
Add support of hex numbers for enum values (#1671) 2023-10-02 14:56:27 +02:00
github-actions[bot] 7b70ce4831
Update Vulkan-Headers to v1.3.266 (#1670)
Co-authored-by: GitHub <noreply@github.com>
2023-10-02 10:43:10 +02:00
Andreas Süßenbach f3cdc24a13
Remove clang++12 from the Ubuntu CI. (#1669) 2023-09-28 10:32:26 +02:00
github-actions[bot] c0fa16710b
Update Vulkan-Headers to v1.3.265 (#1665)
Co-authored-by: GitHub <noreply@github.com>
2023-09-27 09:30:15 +02:00
Andreas Süßenbach f1b8af1157
Reduced listing of unused VkStructureType value from error to warning. (#1664) 2023-09-26 15:05:54 +02:00
Andreas Süßenbach 37b50fa9ef
Revert "Update Vulkan-Headers to v1.3.265 (#1661)" (#1662)
This reverts commit 205758299b.
2023-09-25 15:28:32 +02:00
Andreas Süßenbach 205758299b
Update Vulkan-Headers to v1.3.265 (#1661) 2023-09-25 11:56:48 +02:00
Andreas Süßenbach 128261aa45
Add missing header in vulkan.cppm. (#1659) 2023-09-19 17:40: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
Andreas Süßenbach d60453f6ea
Introduce hard-coded default values for some structure members. (#1658) 2023-09-19 12:05:06 +02:00