Commit Graph

970 Commits

Author SHA1 Message Date
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