Andreas Süßenbach
da4ab05a14
Adjust include snippet of vulkan[sc].hpp to actually use vulkan[sc]. ( #1526 )
2023-03-07 17:32:10 +01:00
Andreas Süßenbach
ae07aa7254
First version to support both, "vulkan" and "vulkansc". ( #1524 )
...
The files set generated is controlled by command line argument -api [vulkan|vulkansc]
2023-03-07 08:23:14 +01:00
Andreas Süßenbach
31554d2aca
Simplify enum value alias handling. ( #1523 )
...
* Simplify enum value handling.
* Simplified enum value generation
2023-03-06 08:37:40 +01:00
Andreas Süßenbach
81633480b9
Simplified enum value handling ( #1522 )
2023-03-02 22:14:37 +01:00
Andreas Süßenbach
9e66a8886a
Refactor reading procedures ( #1521 )
2023-03-01 10:17:02 +01:00
Andreas Süßenbach
bceab2b9d2
Change assertion to condition on generating the vector size check. ( #1518 )
2023-02-23 10:07:26 +01:00
Andreas Süßenbach
2207dc92c6
Corrected handling of attribute "depends" of <require> sections on extending enums. ( #1517 )
2023-02-22 16:20:44 +01:00
Andreas Süßenbach
71acf3515b
Change requiredIn in TypeData from std::string to std::set<std::string> ( #1514 )
...
+ some member data renaming
2023-02-20 20:01:34 +01:00
Andreas Süßenbach
00eee2ef0f
Change referencedIn in CommandData from std::string to std::set<std::string> ( #1512 )
2023-02-20 15:58:14 +01:00
Andreas Süßenbach
7c073da2c1
Adjust handling of attribute "depends" in <extension> ( #1508 )
2023-02-16 16:07:33 +01:00
Andreas Süßenbach
a3cd63a4e2
Add handling of attribute "deprecated", extend handling of attribute "api" ( #1506 )
2023-02-16 13:12:55 +01:00
Andreas Süßenbach
1e95278b04
Renamed member functions and variables from "skipped" to "removed". ( #1505 )
2023-02-16 08:24:33 +01:00
Andreas Süßenbach
25289b1d0d
Added missing support of attribute "comment" in require clause of extensions. ( #1504 )
2023-02-15 17:13:02 +01:00
Andreas Süßenbach
ab08f20c01
Sort handle classes by feature and extension. ( #1500 )
2023-02-08 17:21:03 +01:00
Andreas Süßenbach
e651117495
Unify detection logic for raii- and non-raii-command-generation ( #1499 )
2023-02-02 14:09:45 +01:00
Andreas Süßenbach
d796a40abb
Add support for filtering out vulkansc stuff. ( #1496 )
2023-01-26 17:12:29 +01:00
Andreas Süßenbach
db11b8b62b
Add support for a new type of functions. ( #1492 )
2023-01-23 16:41:43 +01:00
Andreas Süßenbach
8179bd05bd
Add support for a new class of commands. ( #1481 )
2023-01-20 20:41:26 +01:00
Andreas Süßenbach
5e8166e284
Handle potential shadowing of function parameter name "objectType" with class member. ( #1476 )
2023-01-09 11:32:23 +01:00
Andreas Süßenbach
49a288231b
Add missing braces in union constructors on array members. ( #1469 )
2022-12-13 10:03:05 +01:00
asuessenbach
5accdbc9d5
Adjust ci-ubuntu.yml to latest changes of runners.
2022-12-10 21:11:05 +01:00
asuessenbach
561354a79b
Unify command set handling.
2022-11-29 13:38:36 +01:00
asuessenbach
1365fa3c27
Simplyfied some generator functions by combining a couple of bool arguments into a Flags object.
2022-11-28 16:53:24 +01:00
asuessenbach
556c0d3434
Introduce additional constructor for unions holding a fixed size array of data.
2022-11-24 08:59:50 +01:00
asuessenbach
ad5f67d330
Add support of more complex logic of attribute <depends>
2022-11-23 17:42:23 +01:00
asuessenbach
9eab4b61e1
Add format trait function compatibilityClass()
2022-11-23 10:51:18 +01:00
asuessenbach
6412502686
Add support for a new class of functions.
2022-11-22 19:22:16 +01:00
asuessenbach
1b61fc6cf7
Use std::equal to compare array of null-terminated strings in structs.
2022-11-17 14:05:55 +01:00
asuessenbach
412471771a
Fix include guard of vulkan_static_assertions.hpp
2022-11-16 08:38:00 +01:00
asuessenbach
73276f2c26
Remove outdated conditions around two init functions of the DispatchLoaderDynamic.
2022-11-14 12:28:20 +01:00
asuessenbach
196978705e
Extent support of functions returning some typed value
2022-11-14 10:06:49 +01:00
asuessenbach
7b5fc43e10
Add support for attribute "depends".
2022-11-09 16:25:43 +01:00
asuessenbach
d481557fef
Improved plural-s detection in command names.
2022-11-09 09:58:48 +01:00
asuessenbach
33f2837650
Add support for handle creation functions taking createInfo structs that are not an anchor of a structure chain.
2022-11-07 11:30:47 +01:00
asuessenbach
2382684a69
Move explicitly defaulted copy assignment operators of structs into !defined(VULKAN_HPP_NO_STRUCT_CONSTRUCTORS) section
...
To explicitly default the copy assignment operator is only needed, if there are other constructors. Otherwise, some compilers warn about it.
2022-10-26 08:56:25 +02:00
asuessenbach
d5ad2e1883
Introduce function release() to all vk::raii::HandleTypes.
2022-10-25 12:11:29 +02:00
asuessenbach
0f07e41849
Add support for functions getting a structure chain and having more than one success codes.
2022-10-24 12:33:27 +02:00
asuessenbach
1ab5fa6550
Support structs holding arrays of data, where the data size is given by a pointer-type.
...
In that case, no improved constructor and no improved setters are generated.
Plus some minor cleanup.
2022-10-24 10:39:19 +02:00
asuessenbach
4bf02b2588
Reorganized generating bitmasks in vulkan_enums.hpp.
2022-10-17 16:10:36 +02:00
asuessenbach
302389d550
Templatized bitwise operators on FlagBits.
2022-10-10 11:04:27 +02:00
asuessenbach
a49fd51629
Minor cleanup on bitmask generation.
2022-10-05 16:58:40 +02:00
asuessenbach
a55e3eb2a0
Cleanup on protection handling
...
+ some other minor cleanup
2022-10-05 09:28:37 +02:00
asuessenbach
f5be57e498
Corrected handling of mutual exclusive arrays in constructors of structures VkAccelerationStructureTrianglesOpacityMicromapEXT and VkMicromapBuildInfoEXT
2022-10-04 11:34:04 +02:00
asuessenbach
7dc59adf40
Add support of "opticalflow" as a candidate for the "queues" attribute of a command.
2022-09-28 12:09:49 +02:00
asuessenbach
1173c9ab77
Allow union attribute "selection" to have multiple comma-separted values.
2022-09-27 08:50:36 +02:00
asuessenbach
6fe966c6d9
Fix inconsistency with return type of vk::raii::SwapchainKHR::getImages()
...
+ some minor cleanup
2022-09-21 10:08:07 +02:00
asuessenbach
a630fcdf84
Explicitly ignore new command attribute "tasks"
2022-09-19 10:21:43 +02:00
asuessenbach
d0317af5a9
[raii] Add missing handling of successCode in move-construction and move-assignment of multi-successCode handles.
2022-09-14 12:21:26 +02:00
asuessenbach
34725b3192
Introduce helper class vk::StridedArrayProxy; use it on functions with parameters having the 'stride' attribute.
2022-09-12 16:53:44 +02:00
asuessenbach
02c8049f42
Switch to C++20 for the Generator + some minor cleanup.
2022-09-06 18:22:04 +02:00
asuessenbach
5ede04aa9d
Add support for functions returning more than one success code and getting two values.
2022-08-30 10:47:43 +02:00
Stephan Seitz
1e67e5aba4
fix: use feature test macros for usage of <format>
...
Fixes #1394
2022-08-29 23:12:25 +02:00
Stephan Seitz
8afaf0e2d0
fix: include <utility> in vulkan_raii.hpp for std::exchange
2022-08-29 23:12:25 +02:00
asuessenbach
5480d192f5
Refactor the CMakeLists for all the samples; use vulkan.hpp/vulkan_raii.hpp as precompiled header.
2022-08-10 15:29:28 +02:00
asuessenbach
e8bf9bed9a
Move all the static_assertions from vulkan_handles.hpp and vulkan_structs.hpp into the new header vulkan_static_assertions.hpp
2022-08-03 11:53:57 +02:00
Andreas Süßenbach
921995589d
Merge pull request #1375 from asuessenbach/error
...
Add missing string assignment.
2022-08-02 14:12:07 +02:00
Andreas Süßenbach
a57b04a569
Merge pull request #1374 from asuessenbach/refactor
...
Refactor top-level file generation function.
2022-08-02 12:07:23 +02:00
asuessenbach
deae8ceb49
Add missing string assignment.
2022-08-02 12:06:32 +02:00
asuessenbach
a8a2c5f910
Refactor top-level file generation function.
2022-08-02 10:00:16 +02:00
asuessenbach
95507d1e7c
Removed some dead code.
2022-08-02 08:18:26 +02:00
Andreas Süßenbach
f50243e683
Merge pull request #1372 from asuessenbach/refactor
...
Refactor top-level function to generate vulkan.hpp
2022-08-01 17:40:22 +02:00
asuessenbach
893d6847bb
Refactor top-level function to generate vulkan.hpp
2022-08-01 16:40:15 +02:00
asuessenbach
cb4a573b42
Combine two types of commands into one generation function
2022-08-01 14:53:06 +02:00
Andreas Süßenbach
b95c02b89d
Merge pull request #1370 from asuessenbach/function
...
Combine two types of commands into one generation function
2022-08-01 13:54:24 +02:00
Andreas Süßenbach
e23588f893
Merge pull request #1369 from asuessenbach/attribute
...
Add "videocoding" as an optional attribute for commands.
2022-08-01 13:52:01 +02:00
asuessenbach
e8179c8f49
Combine two types of commands into one generation function
2022-08-01 11:32:05 +02:00
asuessenbach
9c4a906d07
Add "videocoding" as an optional attribute for commands.
2022-08-01 10:11:45 +02:00
asuessenbach
d3c95e9527
Add support for functions returning void, that get you a some data behind a void *.
2022-08-01 10:00:11 +02:00
asuessenbach
056abda3e2
Reduce number of included headers
2022-07-27 16:39:37 +02:00
asuessenbach
3aae157e5b
Move the vk::to_string functions into a separate header vulkan_to_string.hpp.
2022-07-26 11:19:42 +02:00
asuessenbach
527e52a1bd
Introduce VULKAN_HPP_NO_TO_STRING to optionally remove the various vk::to_string functions.
...
Also extend the samples to hold some local version of the needed to_string functions in case VULKAN_HPP_NO_TO_STRING is defined.
2022-07-25 17:11:30 +02:00
asuessenbach
75f02617cb
Revert struct conversion operators to be implicit.
2022-07-19 08:18:22 +02:00
asuessenbach
b81fb59ca6
Remove some dead code.
2022-07-18 10:28:20 +02:00
asuessenbach
248e6eeef3
Combine two types of commands into one generation function
2022-07-13 08:32:02 +02:00
asuessenbach
8acf224201
Add support for functions returning some data with error codes.
2022-07-12 09:00:47 +02:00
asuessenbach
bc6d481a5b
Remove some dead code.
2022-07-11 13:54:33 +02:00
Andreas Süßenbach
fac74444fa
Extend check for function pointers on creating compare operators of structs. ( #1348 )
2022-07-07 11:41:43 +02:00
asuessenbach
49a2fc679a
Add support for comma-separated list of names for attribute "extension" of element <require> in element <extension>.
2022-07-04 18:02:22 +02:00
Andreas Süßenbach
86cc8f2ed1
Merge pull request #1345 from asuessenbach/attributes
...
Add support for new attribute "validstructs"; ignore new possible values for attribute "limittype".
2022-07-04 16:08:42 +02:00
asuessenbach
a7d2d85d63
Add support for new attribute "validstructs"; ignore new possible values for attribute "limittype".
2022-07-04 11:37:22 +02:00
asuessenbach
0d9ca30378
Removed some dead code.
2022-07-04 10:59:55 +02:00
asuessenbach
2ddd380a23
Combine two types of commands into one generation function
2022-06-29 08:13:42 +02:00
asuessenbach
39be44dc65
Combine two types of commands into one generation function
2022-06-28 13:33:36 +02:00
asuessenbach
429e610f7e
Combine two types of commands into one generation function
2022-06-28 08:41:36 +02:00
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