Commit Graph

886 Commits

Author SHA1 Message Date
Andreas Süßenbach
bc19e479f9
Fix determination of StructureChainAllocater usage for returned parameters. (#1591) 2023-06-13 14:24:10 +02:00
Andreas Süßenbach
523491a7df
Extent extension dependency inspection to allow multiple sets of dependencies per version. (#1578) 2023-05-17 10:23:27 +02:00
Andreas Süßenbach
f618b6bd5d
Cleanup work on enum value handling. (#1573) 2023-05-04 13:35:50 +02:00
Andreas Süßenbach
6bf5c311b2
Add support for a new class of functions (#1570)
plus refactor returnType generation
2023-04-26 10:56:57 +02:00
Andreas Süßenbach
95c622a64f
Extend support of some special type of functions. (#1567) 2023-04-24 18:06:06 +02:00
Andreas Süßenbach
20cb37e39f
Add support of new extension attribute "ratified". (#1563) 2023-04-17 13:51:24 +02:00
Andreas Süßenbach
3427b0039b
Introduce overload of getExtensionDepends to get availability and dependencies by vulkan version. (#1559) 2023-04-12 11:48:59 +02:00
Andreas Süßenbach
9de0959474
Introduce extension inspection function vk::getExtensionDepends. (#1558) 2023-04-11 17:49:02 +02:00
Andreas Süßenbach
d1d80ae723
Introduce extension inspection functions get[Device|Instance|Deprecated|Promoted|Obsoleted]Extension; renamed some of the previous extension inspection functions (#1556) 2023-04-11 09:14:50 +02:00
Andreas Süßenbach
a4841bc2f0
Add new extension inspection functions getExtensionObsoletedBy() and isExtensionObsoleted() (#1555) 2023-04-05 13:37:34 +02:00
Andreas Süßenbach
be1bb7645f
Add new extension inspection functions getExtensionPromotedTo() and isExtensionPromoted() (#1553) 2023-04-04 10:45:15 +02:00
Andreas Süßenbach
35ab2bb711
Fix handling of multiple vs. single success codes on handle creation with vulkan_raii.hpp. (#1550) 2023-04-03 12:10:39 +02:00
Andreas Süßenbach
91a92c6c5f
Add functions isExtensionDeprecated() and getExtensionDeprecatedBy() to extension_inspection. (#1547) 2023-03-30 13:25:09 +02:00
Andreas Süßenbach
2175530fd0
Improved tokenizing of extension attribute "depends" (#1546) 2023-03-29 13:33:42 +02:00
Andreas Süßenbach
4420e1f91e
First set of extension inspection helper functions: isDeviceExtension and isInstanceExtension (#1545) 2023-03-28 17:33:11 +02:00
Andreas Süßenbach
9d5220db12
Extend default case in throwResultException to also get the actual message. (#1544) 2023-03-27 12:31:14 +02:00
Andreas Süßenbach
cfed28c23d
Resolve warning on a struct with multiple array members with the same len. (#1543) 2023-03-27 11:06:47 +02:00
Andreas Süßenbach
01db23af60
Minor cleanup work. (#1539) 2023-03-22 08:52:35 +01:00
Andreas Süßenbach
a11116394a
Simplified and corrected structure alias handling. (#1538) 2023-03-21 11:22:48 +01:00
Andreas Süßenbach
c45c87b559
Minor cleanup on supported/unsupported features/extensions. (#1537) 2023-03-21 08:10:00 +01:00
Andreas Süßenbach
086af6f3d7
Removed an invalid assertion in readRequireEnum. (#1534) 2023-03-16 17:16:12 +01:00
Andreas Süßenbach
044844394c
Add support for a new class of commands. (#1533) 2023-03-15 13:02:48 +01:00
Andreas Süßenbach
fa079aefaa
Improve handling of attribute "stride" (#1532) 2023-03-13 14:48:55 +01:00
Andreas Süßenbach
aac3be4855
Second step in generalizing handling of attribute "altLen" (#1529) 2023-03-13 09:08:01 +01:00
Andreas Süßenbach
f4b679c7e7
First step in generalizing handling of attribute "altLen". (#1528) 2023-03-09 10:04:33 +01:00
Andreas Süßenbach
9bee68b723
Adjust name of included vulkan header. (#1527) 2023-03-08 10:10:54 +01:00
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