Commit Graph

959 Commits

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