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
Andreas Süßenbach
f03a052717
Add support for another command flavour, returning result and three values. ( #2089 )
2025-02-24 13:57:17 +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
Andreas Süßenbach
5f4583c500
Cleanup work on correctness checks ( #2079 )
2025-02-19 09:11:19 +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
4dc27d82a4
Move lengthy template texts into snippet files. ( #2072 )
2025-02-13 10:56:11 +01:00
Andreas Süßenbach
0ff63e9dc6
Throw on clang_format failure; fix comment ( #2070 )
2025-02-11 09:35:35 +01:00
LEE KYOUNGHEON
8672aa4aaa
Export std::{tuple_size,tuple_element} for vk::StructureChain. ( #2060 )
...
* Export std::{tuple_size,tuple_element} for vk::StructureChain.
* Add separator
2025-02-05 08:47:13 +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
Andreas Süßenbach
ad9104d2b4
Add an error check for struct members with their array size at the wrong position. ( #2059 )
2025-02-03 17:29:23 +01:00
Andreas Süßenbach
9790cf00ed
Add support for one more value for attribute <bits> in format component. ( #2044 )
2025-01-15 08:29:52 +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
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
Andreas Süßenbach
265b317356
Extend enum value alias handling. ( #2004 )
2024-12-02 13:50:53 +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
ab4a7ced0f
Adjustments for update to 1.3.302 ( #1999 )
2024-11-27 09:56:57 +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
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
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
Andreas Süßenbach
64f5bbf55c
Allow the <feature>'s "name" to be a list of members ( #1973 )
2024-10-17 08:19:47 +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
Andreas Süßenbach
00dac1bd21
Add check on <syncstage> <syncsupport> "queues" being specified with at least one command. ( #1968 )
2024-10-08 13:25:37 +02:00
Andreas Süßenbach
b8e4e70adf
Add "BOOL" as accepted value for attribute <numericFormat> for the <component> of a <format> ( #1967 )
2024-10-07 17:58:00 +02:00
Andreas Süßenbach
3b9d6cced3
Upgraded check on required feature name being member of the required struct from warning to error. ( #1966 )
2024-10-07 17:57:38 +02:00
Andreas Süßenbach
31aac24adb
Move correctness checks on syncstage and syncaccess to checkCorrectness ( #1960 )
2024-09-23 13:47:05 +02:00
Andreas Süßenbach
e12c05d628
Add support for multiple top-level tags <types>, <commands>, and <extensions> ( #1959 )
2024-09-17 15:03:34 +02:00
Andreas Süßenbach
4e6e8d3fda
Add support for multiply aliased structs in <require>-<feature> tags. ( #1958 )
2024-09-05 17:44:31 +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
Andreas Süßenbach
0262bef5cd
Add support for new <feature> tags. ( #1953 )
2024-08-27 13:33:57 +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
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
Andreas Süßenbach
6a11b182e1
Extend support of video format properties (no code generated) ( #1937 )
2024-08-06 09:22:31 +02:00
Sharadh Rajaraman
003cf8e090
Don't export symbols in `vk::detail` namespace ( #1931 )
2024-08-05 14:26:29 +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
cdcde2bd0b
Parse <videocodecs> section (no code generated from) ( #1926 )
2024-07-23 09:47:41 +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
Andreas Süßenbach
6f72ceca51
Add g++12 for ubuntu builds. ( #1914 )
2024-07-11 09:36:14 +02:00
Andreas Süßenbach
620cf05ac2
Improve IndexTypeTraits determination. ( #1911 )
2024-06-28 09:41:13 +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
Andreas Süßenbach
3be51fe651
Remove superfluous const in casts of function arguments by value. ( #1905 )
2024-06-17 14:40:59 +02:00
Andreas Süßenbach
b7b92b1e45
Remove an outdated assertion ( #1903 )
2024-06-13 15:30:49 +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
45d90067ee
Add missing cast from VkResult to vk::Result. ( #1901 )
2024-06-13 13:45:46 +02:00
Andreas Süßenbach
66af8942cb
Fix command sequence for enumerating commands with just one success code. ( #1900 )
2024-06-13 10:08:18 +02:00
Andreas Süßenbach
235b1a2f85
Reorganized alias handling of constants. ( #1899 )
2024-06-13 09:47:27 +02:00
Andreas Süßenbach
71031df10a
Fix generation of the standard version of commands to only use the member handle for the first argument. ( #1898 )
2024-06-12 17:31:32 +02:00
Andreas Süßenbach
dc6501456a
Add support for commands with three return parameters, two of them representing a vector. ( #1897 )
2024-06-12 16:36:03 +02:00
Andreas Süßenbach
600e6d67a2
Relax check for commands listed as required for a feature to just check if it's required for a different feature ( #1896 )
2024-06-12 13:52:23 +02:00
Andreas Süßenbach
b35470b05f
Accept type size_t for vector size in vector-describing structure. ( #1895 )
2024-06-12 08:41:25 +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
Andreas Süßenbach
a64aeb648b
Improved alias handling for enum values and structs; extended error checking commands listed as required in features. ( #1889 )
2024-06-05 16:44:13 +02:00
Andreas Süßenbach
eb1f4cfb58
Update Vulkan-Headers to v1.3.286 ( #1887 )
2024-06-04 16:32:05 +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
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
2518f528c0
Simplify handling of structextends ( #1866 )
2024-05-06 10:31:43 +02:00
Andreas Süßenbach
48b5595082
Simplified handling of struct aliases ( #1858 )
2024-05-02 09:28:44 +02:00
Andreas Süßenbach
da28afe109
Simplify alias handling for handles. ( #1857 )
2024-04-30 09:12:25 +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
Andreas Süßenbach
7bd57c7290
Simplify handling of enum aliases ( #1850 )
2024-04-24 08:33:25 +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
Andreas Süßenbach
11121e142a
Simplified constant alias handling ( #1845 )
2024-04-15 10:18:02 +02:00
Andreas Süßenbach
3134b1b42a
Simplify alias handling for Bitmasks and Commands. ( #1843 )
2024-04-11 08:43:15 +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
4e9c7ec4c3
Add SFIXED5 as valid value for numericFormat in format::component. ( #1841 )
2024-04-04 08:18:15 +02:00
Andreas Süßenbach
d111d68be8
Simplify handling of enum value aliases ( #1838 )
2024-04-03 08:29:10 +02:00
Andreas Süßenbach
8c9901c072
Extend finding an enum value to also look for the aliases. ( #1839 )
2024-04-02 13:25:52 +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
Andreas Süßenbach
89dd8393db
Refactored storing of enum values. ( #1831 )
2024-03-25 10:47:09 +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
Andreas Süßenbach
19f90f043f
Removed an invalid error check on structs. ( #1828 )
2024-03-18 12:11:31 +01:00
Andreas Süßenbach
695de1bc3a
Fix messages in checkExtensionCorrectness ( #1826 )
2024-03-11 11:56:56 +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
2b35399a73
Remove unnecessary static_casts on vk::Results. ( #1822 )
2024-03-06 08:54:20 +01:00
Andreas Süßenbach
5e7649dcb5
Simplified generation of lists of arguments or initializers ( #1821 )
2024-03-05 08:16:22 +01:00
Andreas Süßenbach
85daa22a04
Relax requirements on FlagBits types. ( #1817 )
2024-02-29 08:26:01 +01:00
Andreas Süßenbach
73f210a604
Three fixes: ( #1816 )
...
- do not create enhanced struct constructors, if the length of an array is determined by a member of that struct that is a pointer;
- check for error if a command parameter has a len attribute, but is not a pointer
- accept sync access and sync stage to be multiply aliased.
2024-02-28 13:04:56 +01:00
Andreas Süßenbach
789c215e74
Accept multiple XML <formats> tags. ( #1814 )
2024-02-26 15:38:33 +01:00
Andreas Süßenbach
29723f90a1
Update Vulkan-Headers to v1.3.278 ( #1810 )
2024-02-19 22:00:57 +01:00
Andreas Süßenbach
4c130b9051
Switch from using strncpy to strncpy_s. ( #1809 )
2024-02-19 16:06:28 +01:00
Andreas Süßenbach
38e3e8f800
Fix ordering determination of structs. ( #1807 )
2024-02-19 12:35:54 +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
c74c22fb77
Use some special handling for struct vk::DeviceFaultInfoEXT ( #1796 )
2024-02-08 11:40:27 +01:00
Andreas Süßenbach
1b6ea3c295
Resolve warning on multiple len usage in struct VkVideoDecodeAV1PictureInfoKHR ( #1791 )
2024-02-06 13:16:16 +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
Andreas Süßenbach
6bdba3ef31
Add support for command argument attribute "len" with value "1". ( #1789 )
2024-02-05 13:13:38 +01:00
Andreas Süßenbach
bba05939b9
Extend the noDeleterFunction list by vkReleaseCapturedPipelineDataKHR. ( #1784 )
2024-02-02 21:52:35 +01:00
Andreas Süßenbach
81be6ce248
Add missing brace. ( #1783 )
2024-02-02 21:34:43 +01:00
Andreas Süßenbach
3a946ddfa1
Specify std::min to work on type size_t for copy operations in struct constructors. ( #1782 )
2024-02-02 21:22:52 +01:00
Andreas Süßenbach
7bd7372016
Refactored gathering initializers for enhanced struct constructors. ( #1781 )
2024-02-02 18:22:51 +01:00
Andreas Süßenbach
78bfb316aa
Add support of attribute "len" for array-sized structure members. ( #1779 )
2024-02-02 12:53:29 +01:00
Andreas Süßenbach
fa020b9bb5
Resolved some code analysis warnings. ( #1774 )
2024-01-23 14:10:52 +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
Andreas Süßenbach
db5c141013
Downgrade error on multiple identical "depends" attributes for "require" sections for an extension to a warning. ( #1765 )
2024-01-04 11:37:46 +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
Andreas Süßenbach
52666b03f5
Resolve warning on struct with multiple members referencing the same member for len. ( #1759 )
2024-01-02 14:52:16 +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
6b132a4628
Fix usage of wrong command name when determining the skip count for that command ( #1747 )
2023-12-11 14:46:16 +01:00
Andreas Süßenbach
84b77d1406
Add support for a new class of commands. ( #1741 )
2023-11-29 19:21:22 +01:00
Andreas Süßenbach
5bd1e56054
Explicitly ignore new limittype "not". ( #1740 )
2023-11-29 19:20:27 +01:00
Patrick O'Connell
6453966415
Add missing includes ( #1730 )
2023-11-16 08:55:30 +01:00
Andreas Süßenbach
846ac99cee
Remove warning on "ratified" and "supported" being different for an extension. ( #1728 )
2023-11-14 16:50:41 +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
Andreas Süßenbach
962979c679
Identify delete commands starting with "vkRelease" ( #1697 )
2023-10-16 16:01:35 +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
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
Andreas Süßenbach
9aa679e5e8
Add support of attribute "type" for a enums in an extension, storing them as a constant. ( #1668 )
2023-09-28 13:23:31 +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
3e1e9b4653
Add support of commands returning void and getting two simple data type values. ( #1663 )
2023-09-26 12:02:43 +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
Andreas Süßenbach
39c8c02de0
Make the tag on constants uppercase. ( #1657 )
2023-09-18 18:03:18 +02:00
Andreas Süßenbach
9004069b9b
Move Flags<> and FlagTraits<> from vulkan.hpp to vulkan_enums.hpp ( #1654 )
2023-09-07 18:42:46 +02:00
Andreas Süßenbach
d4704cce01
Make C++20 modules work with the defaultDispatchLoaderDynamic. ( #1651 )
...
* Make C++20 modules work with the defaultDispatchLoaderDynamic.
* Add vulkan_hpp_macros.hpp to list of installed files.
* Adjust the text on module in the readme.
* Rename module from vulkan to vulkan_hpp
* Adjust some comments.
* Add a little disclaimer to vulkan.cppm.
2023-09-07 15:20:10 +02:00
Andreas Süßenbach
a2e240c7e7
Relax check for constants as array size: also allow potentially externally defined constants ( #1652 )
2023-09-04 12:31:50 +02:00
Andreas Süßenbach
23606b20f7
Guard vk::raii names in vulkan.cppm just as in vulkan_raii.hpp. ( #1650 )
2023-08-28 13:30:00 +02:00
Andreas Süßenbach
ef0dbd602b
Correct includes in vulkansc-headers. ( #1645 )
2023-08-28 10:21:34 +02:00