asuessenbach
448efe9edb
Combine two types of commands into one generation function
2022-06-27 10:03:03 +02:00
asuessenbach
5075c94b8a
Combine two types of commands into one generation function
2022-06-23 11:42:03 +02:00
asuessenbach
b7146538a5
Combine two types of commands into one generation function
2022-06-21 09:22:03 +02:00
asuessenbach
2c536b75b9
Combine two types of commands into one generation function
2022-06-20 12:26:30 +02:00
Andreas Süßenbach
94244d51d5
Merge pull request #1329 from asuessenbach/spaceship
...
Change used check for using spaceship operator from "impl" to "lib".
2022-06-20 11:28:48 +02:00
asuessenbach
cbb02bf5ab
Change used check for using spaceship operator from "impl" to "lib".
2022-06-20 09:32:27 +02:00
asuessenbach
de7127a963
Combine two types of commands into one generation function
2022-06-15 11:57:25 +02:00
asuessenbach
66fc081783
Combine two types of commands into one generation function
2022-06-14 10:53:50 +02:00
asuessenbach
4630feb760
Combine two types of commands into one generation function
2022-06-14 09:08:56 +02:00
Andreas Süßenbach
15788c576c
Merge pull request #1322 from asuessenbach/spaceship
...
Remove spaceship operator for structures containing function pointers
2022-06-13 12:05:51 +02:00
asuessenbach
67f9357bb8
Remove spaceship operator for structures containing function pointers
2022-06-13 10:54:04 +02:00
asuessenbach
a7d6e1be5d
Combine two types of commands into one generation function
2022-06-08 16:39:15 +02:00
asuessenbach
484373a54a
Combine two types of commands into one generation function
2022-06-08 08:53:11 +02:00
asuessenbach
d691f5f0e8
Combine two types of commands into one generation function
2022-06-07 18:02:52 +02:00
asuessenbach
5c571c1b9a
Combine two types of commands into one generation function
2022-05-25 20:21:21 +02:00
asuessenbach
b35993287e
Combine two types of commands into one generation function
2022-05-24 09:01:00 +02:00
asuessenbach
d7a1a254d4
Combine two types of commands into one generation function
2022-05-23 10:31:40 +02:00
asuessenbach
e3e124e5e2
Combine two types of commands into one generation function
2022-05-19 08:34:26 +02:00
asuessenbach
3f240ea665
Combine two types of commands into one generation function
2022-05-18 09:24:39 +02:00
asuessenbach
66c3c89d8e
Combine two types of commands into one generation function
2022-05-17 10:35:57 +02:00
Teodor Spæren
466fab3dfc
Fix missing <utility> import for std::exchange
...
In GCC 12, std::exchange is no longer implicitly included in many header files, and so must be explicitly included by including `utility`.
2022-05-15 12:15:07 +02:00
asuessenbach
b3863a385b
Combine two types of commands into one generation function
2022-05-12 09:02:27 +02:00
asuessenbach
66953f4039
Combine two types of commands into one generation function
2022-05-11 10:00:53 +02:00
asuessenbach
1bdb86cea9
Cleanup on generateDataDeclarations.
2022-05-09 13:44:08 +02:00
asuessenbach
7375def842
Cleanup on return type generation
2022-05-04 17:06:28 +02:00
asuessenbach
a591ef69e3
(re-)add support of commands enumerating a chained structure type.
2022-05-04 09:55:27 +02:00
asuessenbach
f9ad86aef8
Remove deprecated implicit-cast operators on vk::ResultValue.
2022-05-03 09:47:58 +02:00
asuessenbach
145c10e945
Combine two types of commands into one generation function
2022-05-02 17:01:38 +02:00
asuessenbach
b45a44b479
Combine two types of commands into one generation function
2022-04-28 16:32:33 +02:00
Andreas Süßenbach
734457987b
Merge pull request #1294 from asuessenbach/check
...
Add check that every member type of a struct that begins with "Vk" is listed in a feature or extension.
2022-04-27 15:43:42 +02:00
asuessenbach
825bc59313
Add check that every member type of a struct that begins with "Vk" is listed in a feature or extension.
2022-04-27 14:30:52 +02:00
asuessenbach
74fd07216e
Combine two types of commands into one generation function
2022-04-27 13:37:28 +02:00
asuessenbach
e5921db439
Combine two types of commands into one generation function
2022-04-26 12:35:15 +02:00
asuessenbach
90afc89e66
Combine two types of commands into one generation function
2022-04-21 11:27:39 +02:00
Andreas Süßenbach
828ac8e246
Merge pull request #1288 from phantom10111/array-proxy-with-raw-arrays
...
Add ArrayProxy constructors with support for raw array with size
2022-04-19 17:38:31 +02:00
Andreas Süßenbach
e9c343c402
Merge pull request #1289 from asuessenbach/function
...
Combine two types of commands into one generation function
2022-04-19 13:34:44 +02:00
asuessenbach
769827ed3d
Combine two types of commands into one generation function
2022-04-19 11:59:33 +02:00
phantom10111
5df998c0d6
Add ArrayProxy constructors with support for raw array with size
...
There's a little known C language family feature, which makes it
possible to take a pointer or reference to an array with size. Use this
feature to add constructors to ArrayProxy and ArrayProxyNoTemporaries
which can wrap raw arrays and deduce their size automatically.
2022-04-19 11:49:09 +02:00
phantom10111
9e95c0072d
Make type conversions implicit for dispatchable handles
...
Vulkan handles are not typesafe on 32-bit platforms, but only for
non-dispachable handles. Dispatchable handles are opaque struct pointers
on all platforms, and thus typesafe.
This commit makes all conversions for dispatchable handles implicit,
regardless of VULKAN_HPP_TYPESAFE_CONVERSION setting.
2022-04-15 11:24:30 +02:00
asuessenbach
9c99d1b2ce
Combine two types of commands into one generation function
2022-04-14 08:03:15 +02:00
asuessenbach
4ba01be8d1
Combine two types of commands into one generation function.
2022-04-13 09:45:31 +02:00
asuessenbach
956cda998b
Combine two types of commands into one generation function.
2022-04-12 13:56:21 +02:00
asuessenbach
26e2fc42c8
Combine two types of commands into one generation function.
2022-04-07 16:04:26 +02:00
asuessenbach
d50485c5c7
Combine two types of commands into one generation function.
2022-04-07 08:48:55 +02:00
asuessenbach
45e5418332
Combine two types of commands into one generation function.
2022-04-05 10:02:00 +02:00
asuessenbach
0328693bba
Add support for commands returning void and getting you a single opaque object represented by a size and a void-pointer
2022-04-04 11:58:06 +02:00
asuessenbach
dd6deccf52
Add missing allocator template argument in createResultValue helper functions working on std::vector<UniqueHandle> types.
2022-04-04 10:00:13 +02:00
asuessenbach
d966e4e3ac
Remove surplus closing brace in command generation template.
2022-03-31 21:02:32 +02:00
asuessenbach
6fca13eaba
Add support of commands returning void and getting a vector of data.
2022-03-31 17:52:32 +02:00
asuessenbach
333083e44e
Combine two types of commands into one generation function.
2022-03-31 09:52:06 +02:00
asuessenbach
16a44bb94f
Re-add accidentally removed version of createResultValue
...
+ add test project for UniqueHandles.
2022-03-30 09:45:51 +02:00
asuessenbach
f60264fee5
Resolved an assertion in readTypesTypeStruct.
2022-03-29 08:41:49 +02:00
asuessenbach
a8d47f4694
Combine two types of commands into one generation function.
2022-03-28 17:52:45 +02:00
asuessenbach
aad66ebe1c
Add support for commands enumerating some stuff, without any error codes.
2022-03-28 09:58:37 +02:00
asuessenbach
d90c6cbbfc
Add pNext as optional last argument to constructors of structs that hold a pNext.
2022-03-23 17:08:19 +01:00
asuessenbach
5e8fb94890
Add support for commands getting two values.
2022-03-23 10:00:40 +01:00
Andreas Süßenbach
ecc6d37d91
Merge pull request #1257 from asuessenbach/constructor
...
Introduce copy constructor and assignment operator for vk::raii classes that hold handles without a destructor.
2022-03-23 08:17:47 +01:00
asuessenbach
23c11fe38d
Introduce copy constructor and assignment operator for vk::raii classes that hold handles without a destructor.
2022-03-22 13:53:21 +01:00
Stephan Seitz
5a8532b0f7
fix: include <algorithm>
in VulkanHppGenerator.cpp
...
This fixes the build on Clang with `-stdlib=libc++` (if you disable -Werror as there are a lot of warnings)
```
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:781:28: error: no member named 'find_if_not' in namespace 'std'
auto endDigit = std::find_if_not( beginDigit, valueName.end(), []( std::string::value_type c ) { return isdigit( c ); } );
~~~~~^
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:1261:15: error: no member named 'find_if_not' in namespace 'std'
return std::find_if_not( vectorParams.begin(),
~~~~~^
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:2041:24: error: no member named 'find_if_not' in namespace 'std'
valid = ( std::find_if_not( destructorIt->second.params.begin(), destructorIt->second.params.end(), isConstructorCandidateParam ) ==
~~~~~^
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:2145:21: error: no member named 'find_if_not' in namespace 'std'
( std::find_if_not( sd.second.members.begin(), sd.second.members.end(), isMember ) == sd.second.members.end() );
~~~~~^
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:6047:17: error: no member named 'count_if' in namespace 'std'
( std::count_if( arrayIt->type.postfix.begin(), arrayIt->type.postfix.end(), []( char c ) { return c == '*'; } ) < 2 ) )
~~~~~^
5 errors generated.
```
Fixes #1175 together with the optional inclusion of vulkan_hash.hpp
2022-03-22 13:43:38 +01:00
asuessenbach
a104fd65d3
Combine two types of commands into one generation function.
2022-03-16 13:51:43 +01:00
asuessenbach
aca9dd319e
Add some error handling for a std::system call.
2022-03-16 09:35:26 +01:00
asuessenbach
ae11e13e0b
Combine two types of commands into one generation function.
...
Generation of functions that return a VkResult and either get some data or not are combined into one function.
+ some minor cleanup
2022-03-15 11:58:55 +01:00
Andreas Süßenbach
582bade14d
Merge pull request #1242 from asuessenbach/deprecated
...
Remove deprecated cpp_type.
2022-03-15 08:52:49 +01:00
Andreas Süßenbach
f759596be8
Merge pull request #1241 from asuessenbach/cleanup
...
Combine two types of commands into one generation function.
2022-03-14 17:32:33 +01:00
asuessenbach
cf5ecd7cc6
Remove deprecated cpp_type.
2022-03-14 15:13:33 +01:00
asuessenbach
f58ffe385f
Combine two types of commands into one generation function.
...
Generation of functions that get a StructureChain or some value are combined into one function.
2022-03-14 14:54:56 +01:00
asuessenbach
8a921fc90c
Explicitly mark a call to std::system() as void.
2022-03-14 10:56:20 +01:00
asuessenbach
2148249e0f
Minor cleanup work in command generation.
2022-03-10 17:41:47 +01:00
asuessenbach
611365b986
Updated clang_format options
2022-03-09 12:28:52 +01:00
asuessenbach
4fd8ad4baa
Minor cleanup work in command generation.
2022-03-09 10:13:51 +01:00
Andreas Süßenbach
d493aa4ab6
Merge pull request #1234 from theHamsta/fix-warnings
...
chore(warnings): fix warnings about unused variables in Release mode
2022-03-08 13:57:29 +01:00
Stephan Seitz
c747ca4588
chore(warnings): fix warnings about unused variables in Release mode
...
```
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:9105:12: error: unused variable 'constructorCommandIt' [-Werror,-Wunused-variable]
auto constructorCommandIt = m_commands.find( handle.second.constructorIts.front()->first );
^
/home/stephan/projects/Vulkan-Hpp/VulkanHppGenerator.cpp:9732:12: error: unused variable 'handleIt' [-Werror,-Wunused-variable]
auto handleIt = m_handles.find( "Vk" + parentType );
```
2022-03-08 11:46:03 +01:00
asuessenbach
7be761b203
Add template parameter support to generateCommandVoidGetChain.
2022-03-08 09:11:11 +01:00
asuessenbach
04cca4cfbc
Add template parameter support to generateCommandVoidGetValue.
2022-03-07 12:19:32 +01:00
asuessenbach
02cd5ee1c9
Combine two types of commands into one generation function.
2022-03-02 17:57:36 +01:00
asuessenbach
ffead3984d
Add some support of attribute "altlen" on command parameters.
2022-03-02 09:51:12 +01:00
asuessenbach
eb9aa3d948
Add support of functions getting a pointer to void.
2022-03-01 09:21:33 +01:00
asuessenbach
5fe410279a
Change ColumnLimit with clang-format from 120 to 160.
2022-02-28 10:11:04 +01:00
asuessenbach
85510bf12c
Combine two types of commands into one generation function.
2022-02-24 09:09:45 +01:00
asuessenbach
fe8fad5d96
Combine two types of commands into one generation function.
2022-02-23 08:31:36 +01:00
asuessenbach
7f58864c78
Combine two types of command into one generation function.
2022-02-22 10:03:17 +01:00
asuessenbach
1c39502170
Extract trait functions on vk::Format into the additional header vulkan_format_traits.hpp.
2022-02-21 10:11:25 +01:00
asuessenbach
3e1e23914e
Hide functions reflect() behind VULKAN_HPP_USE_REFLECT.
2022-02-17 09:53:32 +01:00
Andreas Süßenbach
12dac7ffaa
Merge pull request #1208 from asuessenbach/vector
...
Introduce explicit default construction on nullptr_t for vector-based raii-classes.
2022-02-16 14:08:24 +01:00
asuessenbach
782c4aa46c
Introduce explicit default construction on nullptr_t for vector-based raii-classes.
2022-02-16 09:51:18 +01:00
asuessenbach
815afe1f70
Introduce trait function componentName() and componentNumericFormat() on vk::Format.
2022-02-15 14:47:38 +01:00
asuessenbach
b8522e483c
Introduce member function clear() for raii-classes.
2022-02-15 10:50:52 +01:00
asuessenbach
b1a822983d
Introduce member function swap() for raii-classes.
2022-02-14 15:11:46 +01:00
asuessenbach
1b12dd8cbb
Enclose "free" in parenthesis to prevent interference with MSVC's debug free
2022-02-10 09:49:24 +01:00
asuessenbach
6f2dd058a0
Unified generation of a special type of commands.
...
Commands returning a VkResult with one or more error codes specified, getting no non-const pointer and zero or more vectors are combined into one function, no matter if it is specified to have one or more success codes.
2022-02-09 09:27:30 +01:00
asuessenbach
c25e890527
Remove support of all functions marked as deprecated.
2022-02-07 10:09:46 +01:00
asuessenbach
7135c7e1a3
Remove the 'allFlags' from the general FlagTraits struct to catch unintentional usage with something different than a supported FlagBitsType.
2022-02-03 17:34:43 +01:00
Andreas Süßenbach
bac1a58f80
Merge pull request #1188 from asuessenbach/function
...
Generalize command generation for a specific type of commands
2022-02-02 15:34:40 +01:00
Andreas Süßenbach
5156ca24af
Merge pull request #1186 from sugoi1/master
...
Fix 'missing braces around initializer' warnings in vulkan_enums.hpp
2022-02-02 12:11:04 +01:00
asuessenbach
4ebd8a8b2c
Generalize command generation for a specific type of commands
...
Commands returning some value (not a VkResult), that get no non-const pointers, no input vectors, but zero or more const-pointers of any type are generalized into one function.
2022-02-02 10:46:38 +01:00
sugoi1
4ecb073416
Update VulkanHppGenerator.cpp
2022-01-28 11:06:17 -05:00
asuessenbach
7e1161da9b
Generalize command generation for a specific type of commands
...
Commands returning void, that are supposed to enumerate one vector of data is generalized to also support void-data by a templated type.
2022-01-26 14:24:06 +01:00
asuessenbach
c29a549f8c
Generalize command generation for a specific type of commands
...
Commands returning a VkResult, with multiple success codes and at least one error code, that get no non-const pointers and zero or more input vectors are generalized into one function.
2022-01-24 10:19:23 +01:00
asuessenbach
b643095d78
Generalize command generation for a specific type of commands
...
Commands returning a VkResult, with a single success code and at least one error code, that get no non-const pointers and zero or more input vectors are generalized into one function.
2022-01-19 08:45:28 +01:00
asuessenbach
350a74f1e1
Generalize command generation for a specific type of commands
...
Commands returning void, that get no non-const pointers but one or more const pointers or vectors are generalized into one function.
2022-01-13 16:16:16 +01:00