Commit Graph

577 Commits

Author SHA1 Message Date
asuessenbach
3922b25e9f Add check for multiple listing of types in a feature. 2021-05-06 10:41:57 +02:00
asuessenbach
6fef0916b4 Add some detail for a specific suspect case of not supported creation functions. 2021-05-05 13:51:32 +02:00
asuessenbach
183d08fed7 Add check on commands that do not return a VkResult, but specify errorcodes or successcodes. 2021-05-05 09:28:00 +02:00
asuessenbach
e370ab5178 Move check on known enum alias value from readEnum to final checkCorrectness. 2021-05-04 17:08:24 +02:00
asuessenbach
7e0c9d16e8 Reorder bitmasks by features and extensions. 2021-05-03 09:22:47 +02:00
asuessenbach
9450883e0e Reorder enums by features and extensions. 2021-04-29 16:23:21 +02:00
Andreas Süßenbach
acb75fe9dc
Merge pull request #951 from asuessenbach/sort
Correct sorting extensions by number
2021-04-29 08:05:15 +02:00
asuessenbach
7492af0630 Correct sorting extensions by number 2021-04-28 15:43:41 +02:00
asuessenbach
59165f1383 Simplified handling of alias commands 2021-04-28 13:35:14 +02:00
asuessenbach
e47c3c8b84 Reorder commands in DispatchLoaderStatic. 2021-04-28 08:17:11 +02:00
asuessenbach
89df7a1a7b Add check on structures never listed as required in any feature or extension. 2021-04-27 09:06:55 +02:00
asuessenbach
ab15e49b00 Relax check on mutual exclusive arrays as part of a structure to allow all empty as well. 2021-04-22 10:47:26 +02:00
asuessenbach
d58fa53496 Introduce vk::raii::InstanceDispatcher and vk::raii::DeviceDispatcher 2021-04-21 15:31:48 +02:00
asuessenbach
6a72c6f43a Correct data type in singular version of one generated function flavor. 2021-04-20 09:02:59 +02:00
asuessenbach
aca79e075d Refactor command generation logic. 2021-04-19 15:57:23 +02:00
asuessenbach
11b851dc20 Correct capitalization of allocateInitializer used in vector-returning functions with provided allocator. 2021-04-19 10:03:58 +02:00
asuessenbach
af54ea22a8 Update to VK_HEADER_VERSION 175. 2021-04-15 15:40:22 +02:00
asuessenbach
d9bb97d9ec Correct enum values for AccessFlagBits2KHR and PipelineStageFlagBits2KHR.
All those values erroneously started with "e2", instead of just "e".
2021-04-13 12:25:10 +02:00
Andreas Süßenbach
bd7a3e8ab7
Merge pull request #933 from rosasco-wk/master
Add Fuchsia platform defines
2021-04-13 08:31:33 +02:00
Andreas Süßenbach
36635b899c
Merge pull request #932 from asuessenbach/asTuple
Add missing ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>::asTuple()
2021-04-13 08:25:24 +02:00
John Rosasco
d790fb8c76 Add std::move to createResult 2021-04-12 11:40:41 -07:00
John Rosasco
188329cc4f Add Fuchsia platform defines 2021-04-12 11:27:39 -07:00
asuessenbach
7f01d662de Replace dispatcher in vk::rai::Context by helper class vk::raii::ContextDispatcher 2021-04-12 16:17:22 +02:00
asuessenbach
e7805795e1 Add missing ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>::asTuple() 2021-04-12 16:03:50 +02:00
asuessenbach
352dfbf430 Add support for functions with a new parameter pattern. 2021-04-12 12:38:04 +02:00
asuessenbach
ae49faf6b8 Allow older version of clang-format. 2021-03-30 13:39:15 +02:00
asuessenbach
3b04005776 Update to VK_HEADER_VERSION 174. 2021-03-30 10:48:34 +02:00
Andreas Süßenbach
026e07639f
Merge pull request #923 from asuessenbach/type
Add "type" as an optional attribute for enums.
2021-03-29 16:52:36 +02:00
asuessenbach
9f930fe2fd Add "type" as an optional attribute for enums. 2021-03-29 10:27:09 +02:00
asuessenbach
5e2edc10e0 Reduce parents of a handle from a vector to a single element 2021-03-29 10:11:19 +02:00
asuessenbach
4d806569ab Remove an outdated check. 2021-03-22 12:51:12 +01:00
asuessenbach
afb0adce5b Add support of define VK_USE_64_BIT_PTR_DEFINES. 2021-03-22 09:38:14 +01:00
asuessenbach
d973957ab5 Add assertion on valid function pointer for functions depending on extensions. 2021-03-16 10:09:05 +01:00
asuessenbach
7cae06b5bc Introduce support of a function with multiple success codes, returning two values, and non-zero error codes. 2021-03-10 17:03:47 +01:00
Andreas Süßenbach
dbe01543d6
Merge pull request #906 from asuessenbach/relax
Relax an assertion.
2021-03-10 15:43:08 +01:00
asuessenbach
3cc1aae3f8 Relax an assertion. 2021-03-10 12:34:47 +01:00
asuessenbach
dd9664b6a9 Reshaped check on mutually exclusive arrays in structs. 2021-03-10 09:48:20 +01:00
Yiwei Zhang
238093f1c6 Fix enum array initializer using enum constant 2021-03-09 10:12:24 +00:00
asuessenbach
7318a091be Make attribute provisional="true" imply attribute platform="provisional" 2021-03-03 08:47:05 +01:00
Andreas Süßenbach
1db86d0204
Merge pull request #898 from asuessenbach/inline
Add missing VULKAN_HPP_INLINE to function definitions
2021-03-03 08:21:18 +01:00
asuessenbach
f06419b905 Add missing VULKAN_HPP_INLINE to function definitions 2021-03-02 13:51:22 +01:00
asuessenbach
6121475ba1 Introduce support of "encode" and "decode" for attribute <queues> of a command
+ improved formatting of bitmasks and enums
2021-03-02 12:23:50 +01:00
asuessenbach
5c33370234 Update to VK_HEADER_VERSION 171 2021-03-02 09:06:31 +01:00
asuessenbach
c376dff68c Add placeholder dummy function pointers in DispatchLoaderDynamic for not defined platforms.
- Prevents function offset differences in case of (erroneous) different definitions of platform in different translation units.

Resolves #887
2021-03-01 12:30:23 +01:00
Andreas Süßenbach
e7bec052db
Merge pull request #890 from mgorchak-blackberry/master
Add support for QNX.
2021-02-26 18:48:49 +01:00
Mike Gorchak
15f591fada Add support for QNX. 2021-02-24 11:47:19 -05:00
asuessenbach
7888f82bda Add support for functions getting a value and returning a VkBool32. 2021-02-24 15:47:30 +01:00
asuessenbach
2cb1c19c7f Introduce raii-compliant handle wrapper classes. 2021-02-22 16:19:12 +01:00
asuessenbach
14651d6d73 Change an assertion into an error check. 2021-02-22 14:00:51 +01:00
asuessenbach
0441b87c6c Add support for bitmask attribute "bitvalues" and enum attribute "bitwidth". 2021-02-10 13:47:13 +01:00
asuessenbach
a86b568866 Add some missing "VULKAN_HPP_NAMESPACE::". 2021-02-10 10:50:44 +01:00
asuessenbach
5576841441 Changed defaults for ArrayProxy arguments from VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT to VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT. 2021-02-09 11:42:23 +01:00
asuessenbach
3c7123f506 Add platform protection on enum value level. 2021-01-25 19:52:54 +01:00
asuessenbach
db7e75bf06 Remove error checks on unknown enums for disabled extensions. 2021-01-21 22:33:36 +01:00
Andreas Süßenbach
d421b3fbf6
Merge pull request #863 from asuessenbach/command
Add support for functions getting two values with more than one allowed success code.
2021-01-21 22:11:17 +01:00
asuessenbach
0d9f2fb882 Add support for functions getting two values with more than one allowed success code. 2021-01-21 18:11:51 +01:00
asuessenbach
8a21c2e0eb Fix function StructureChain::unlink(). 2021-01-21 16:56:14 +01:00
asuessenbach
2e2782448c Introduce new function StructureChain::isLinked<>() 2021-01-20 14:09:52 +01:00
Andreas Süßenbach
b9ec269ab2
Merge pull request #845 from mtavenrath/fix_warnings
Fix compiler warnings on gcc/clang
2021-01-19 08:38:45 +01:00
Markus Tavenrath
160dc916f9 Change structure member sType to non-const to allow default assignment operator. Make copy constructor and copy assignment default. The latter is required for C++20 designated initializers. Delegate the constructor from C-type to the copy constructor by casting rhs accordingly. Fix warnings on gcc/clang. 2021-01-18 12:25:50 +01:00
Andreas Süßenbach
6021a83770
Merge pull request #855 from tomilov/fix-werror
[linux][warnings] Fix -Werror=unused-but-set-variable on GCC 10.2, Linux
2021-01-18 12:07:03 +01:00
Andreas Süßenbach
92c91a9f46
Merge pull request #853 from asuessenbach/StorageAPI
Guard definition of VULKAN_HPP_STORAGE_API by an if !defined(); extend internal support to gcc and clang.
2021-01-18 11:30:00 +01:00
Anatoliy Tomilov
c45058764e [linux][warnings] Fix -Werror=unused-but-set-variable on GCC 10.2, Linux
Variable definition moved into a block where it is conditionally used.
2021-01-15 07:29:00 +05:00
asuessenbach
376dd7aff3 Guard definition of VULKAN_HPP_STORAGE_API by an if !defined(); extend internal support to gcc and clang.
+ mention that define in the README.md
2021-01-14 14:32:01 +01:00
asuessenbach
dcc775eb53 Make ArrayProxyNoTemporaries complete by marking all constructors getting rvalue references as deleted. 2021-01-14 11:49:35 +01:00
asuessenbach
983c8795e6 Introduce configuration flag VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC. 2021-01-12 10:04:13 +01:00
asuessenbach
6e86de19ab Remove error checks on unknown types and commands for disabled extensions. 2021-01-06 12:35:56 +01:00
asuessenbach
e5be32f093 Fix construction of implicit function argument from class member. 2020-12-17 11:21:51 +01:00
asuessenbach
45e06d1753 Special handling for detecting mutual exclusive len usage on structures. 2020-12-14 16:18:23 +01:00
asuessenbach
a0f6203570 Update to VK_HEADER_VERSION 165 2020-12-14 13:26:02 +01:00
asuessenbach
4bc8906990 Make structure information "obsolete" a vector of bool.
+ remove an obsolete assertion
2020-12-10 11:12:55 +01:00
asuessenbach
fad90eadf6 Update to VK_HEADER_VERSION 164. 2020-12-08 10:28:51 +01:00
asuessenbach
696206b0aa Remove obsolete helper object ObjectReleaseExt. 2020-12-07 14:32:20 +01:00
asuessenbach
de79787457 Fix issue on name construction for objtypeenum attribute 2020-12-07 09:26:48 +01:00
Markus Tavenrath
301bbf08dd Add special handling for new VK_NV_acquire_winrt_display extension 2020-12-04 23:57:48 +01:00
asuessenbach
40bc006527 Update to VK_HEADER_VERSION 163. 2020-12-01 10:09:03 +01:00
asuessenbach
28422de041 Introduce VULKAN_HPP_NO_SPACESHIP_OPERATOR to disable operator<=>() for all structs and classes. 2020-11-17 15:31:13 +01:00
asuessenbach
96fe7ed2c6 Fixed a typo in functions enumerating chained structures. 2020-11-17 11:57:50 +01:00
asuessenbach
16ace53e02 Add support for functions that enumerate chained structures. 2020-11-17 09:51:55 +01:00
asuessenbach
04b4e5a077 Update to VK_HEADER_VERSION 161.
+ changed two now outdated warnings into error checks
+ removed VS2019 builds for now due to an internal compiler error!
2020-11-16 14:53:05 +01:00
asuessenbach
06c708fc24 Removed an outdated assertion. 2020-11-12 16:42:38 +01:00
asuessenbach
eb9370922b Replace check on (deprecated) VkDebugReportObjectTypeEXT enum values with check on VkObjectType values. 2020-11-10 10:26:05 +01:00
asuessenbach
e159e685d4 Add missing const-qualifier in the static_cast in function T const & StructureChain::getFeatures2() const. 2020-11-09 09:55:45 +01:00
asuessenbach
864d1854fc Cleanup on call arguments construction. 2020-11-04 10:26:39 +01:00
Andreas Süßenbach
a5b62787fe
Merge pull request #815 from asuessenbach/159
Update to VK_HEADER_VERSION 159.
2020-11-02 17:15:18 +01:00
asuessenbach
8a53e8da06 Update to VK_HEADER_VERSION 159. 2020-11-02 15:15:35 +01:00
asuessenbach
2a700aaa74 Removed default arguments from standard versions of functions, and the shortened function versions of destroy* and free*
This is needed to prevent compiler ambiguities!
2020-11-02 11:51:07 +01:00
Andreas Süßenbach
9003d5fc18
Merge pull request #810 from asuessenbach/constVectorIndirect
Adding support for functions with a const pointer input with its len specified by a structure member.
2020-10-29 17:37:10 +01:00
asuessenbach
50cc580941 Adding support for functions with a const pointer input with its len specified by a structure member. 2020-10-28 10:18:05 +01:00
Krzysztof Kurek
0eb17d3f86
Default Flags' copy functions
User-provided copy constructor and copy assignment operators prevent the class' ABI from being trivial.
2020-10-27 22:09:14 +01:00
Andreas Süßenbach
cf92bfea25
Merge pull request #807 from asuessenbach/toHexString
Introduce helper function toHexString used in to_string functions on invalid values.
2020-10-27 12:30:27 +01:00
asuessenbach
987d6a4d98 Final cleanup on command generation refactoring. 2020-10-26 16:16:48 +01:00
asuessenbach
244a096d77 Introduce helper function toHexString used in to_string functions on invalid values. 2020-10-26 10:58:50 +01:00
asuessenbach
e4f8003dbd Refactor commands handling pointers to alien data types
+ some dead code elimination
2020-10-25 22:00:53 +01:00
asuessenbach
e973e585c7 Refactor commands enumerating a vector of chained structures. 2020-10-23 22:10:33 +02:00
asuessenbach
1a7e754609 Correct size and pointer arguments for singular versions of a command 2020-10-22 13:27:02 +02:00
Andreas Süßenbach
62a9e28264
Merge pull request #799 from asuessenbach/ArrayProxy
Stop mapping const pointer command arguments with indirect len specifiation to ArrayProxy.
2020-10-22 10:20:08 +02:00
asuessenbach
c48441d223 Stop mapping const pointer command arguments with indirect len specifiation to ArrayProxy. 2020-10-22 09:36:45 +02:00
asuessenbach
243e0fa7aa Refactor commands getting a pointer to a IDirectFB. 2020-10-21 23:12:54 +02:00
asuessenbach
5168ba6a11 Refactor command that returns a vector of data and potentially gets vector(s) of data as input. 2020-10-21 16:25:12 +02:00
Andreas Süßenbach
ede635596c
Merge pull request #794 from asuessenbach/refactor
Refactor commands that enumerate handles (no unique versions)
2020-10-21 13:35:13 +02:00
asuessenbach
dc4777a206 Refactor commands that enumerate handles (no unique versions) 2020-10-21 10:14:51 +02:00
xantares
2cb33d744a
Fix T & ArrayWrapper1D::operator[](int index)
With MinGW I get the following error, because constexpr clashes with const:
vulkan.hpp:544:30: error: ‘constexpr T& vk::ArrayWrapper1D<T, N>::operator const’
cannot be overloaded with ‘constexpr const T& vk::ArrayWrapper1D<T, N>::operator const’
544 | VULKAN_HPP_CONSTEXPR T & operator[](int index) VULKAN_HPP_NOEXCEPT
2020-10-21 09:11:26 +02:00
Andreas Süßenbach
ffafec88ca
Merge pull request #790 from asuessenbach/refactor
Refactor commands that enumerate some oqaque data behind a void pointer.
2020-10-21 08:47:52 +02:00
Andreas Süßenbach
3dce283fa7
Merge pull request #789 from asuessenbach/StructureChain
Introduce default template type for functions StructureChain::get<T,Which>
2020-10-21 08:47:26 +02:00
asuessenbach
1da76e4b4a Refactor commands that enumerate some oqaque data behind a void pointer. 2020-10-20 23:30:53 +02:00
Andreas Süßenbach
55a27c7dfa
Merge pull request #787 from asuessenbach/refactor
Refactor commands enumerating some non-handle, non-StructureChain data type.
2020-10-20 23:03:37 +02:00
asuessenbach
80fa34bfb5 Introduce default template type for functions StructureChain::get<T,Which>
allows
    auto root = structureChain.get();
instead of
    auto root = structureChain.get<RootStructure>();
2020-10-20 15:47:57 +02:00
asuessenbach
75ce35813d Refactor commands enumerating some non-handle, non-StructureChain data type. 2020-10-20 14:24:39 +02:00
asuessenbach
2e95313c1d fix some warnings (errors) on release build. 2020-10-20 10:05:18 +02:00
Andreas Süßenbach
32c994335a
Merge pull request #783 from asuessenbach/refactor
Refactor commands that get a handle which has no create or destroy function.
2020-10-20 09:26:21 +02:00
Andreas Süßenbach
9bea192d1a
Merge pull request #782 from dj2/build
Fixup build errors.
2020-10-19 23:19:29 +02:00
asuessenbach
53fe4d445f Refactor commands that get a handle which has no create or destroy function. 2020-10-19 23:13:57 +02:00
dan sinclair
2b7f7c32ef fix non-release build 2020-10-19 12:03:49 -04:00
dan sinclair
88e0bc07f7 Fixup build errors.
When building in Release mode there are several build errors due to use
`-Wall -Werror` and having undefined variables. This CL wraps the
various variables which are only used in `assert` calls to be behind
`#if !defined(NDEBUG)` preprocessor checks.
2020-10-19 11:59:16 -04:00
asuessenbach
57de549b73 Refactor commands returning some value with no enhancements available. 2020-10-19 15:43:29 +02:00
asuessenbach
32a21fb4ed Update to VK_HEADER_VERSION 158. 2020-10-19 13:53:34 +02:00
asuessenbach
2b47c6f9e5 Refactor command that returns a vector of values and a single value. 2020-10-19 10:15:50 +02:00
asuessenbach
1a851d00af Refactor commands returning some value 2020-10-15 14:50:52 +02:00
Andreas Süßenbach
b7f58f87b9
Merge pull request #775 from asuessenbach/refactor
Refactor commands returning a StructureChain and a Result.
2020-10-15 11:07:28 +02:00
asuessenbach
74498b2b9e Refactor commands returning a StructureChain and a Result. 2020-10-15 09:09:35 +02:00
asuessenbach
8d1c84b3f5 Set warnings as errors for the generator, the samples, and the tests. 2020-10-14 17:44:16 +02:00
asuessenbach
85e17d053b Refactor commands potentially returning a StructureChain. 2020-10-14 12:24:02 +02:00
asuessenbach
28cc3e6ae7 Refactor simple functions returning some value. 2020-10-13 14:39:12 +02:00
asuessenbach
3c19a37922 Update to VK_HEADER_VERSION 157
+ Turn warning on never used VkStructureType enum value into an error.
2020-10-13 10:13:57 +02:00
asuessenbach
c77158525b Refactor trivial functions returning a VkResult. 2020-10-12 23:09:07 +02:00
asuessenbach
1050424e85 Refactor functions returning a vector of handles, that might as well be just one. 2020-10-12 17:06:55 +02:00
Krzysztof Kurek
66ae5c7419
Remove m_success from vk::DynamicLoader 2020-10-09 21:55:38 +02:00
asuessenbach
d1c03d5ba8 Refactor command consuming two vectors. 2020-10-08 17:05:14 +02:00
asuessenbach
45c187997b Refactor functions returning a vector of handles. 2020-10-08 11:44:50 +02:00
asuessenbach
9dec09ac6e Refactor handle getting functions 2020-10-07 11:54:52 +02:00
asuessenbach
b8b620b118 Refactor command classification code. 2020-10-06 09:54:18 +02:00
asuessenbach
87fc3571c6 Refactor simple functions getting a single value 2020-10-05 15:55:13 +02:00
Andreas Süßenbach
28a18d49cb
Merge pull request #758 from asuessenbach/noexcept
Correct usage of noexcept on functions that need to check vector sizes.
2020-09-30 11:29:18 +02:00
Andreas Süßenbach
f7dce6bc5b
Merge pull request #757 from asuessenbach/refactor
Refactor simple functions with more than one success code.
2020-09-30 10:58:09 +02:00
Andreas Süßenbach
d9f768874c
Merge pull request #756 from asuessenbach/allocator
Correct actual name of vectorAllocator in generated function bodies.
2020-09-30 10:16:19 +02:00
asuessenbach
152353da3e Correct usage of noexcept on functions that need to check vector sizes. 2020-09-30 10:13:51 +02:00
asuessenbach
bb0de4db93 Refactor simple functions with more than one success code. 2020-09-30 09:32:02 +02:00
Andreas Süßenbach
5fd780c189
Merge pull request #755 from mtavenrath/clang10
Fix clang 10 related compile time issues
2020-09-30 09:15:30 +02:00
asuessenbach
a77b68ce05 Correct actual name of vectorAllocator in generated function bodies. 2020-09-30 09:13:44 +02:00
Markus Tavenrath
46a80d0a07 Fix clang 10 related compile time issues 2020-09-29 13:55:57 +02:00
asuessenbach
8219ca081d Refactor generation of simple commands with up to one vector parameter 2020-09-29 12:21:27 +02:00
asuessenbach
b6e6294fb9 Refactor function generation of void-functions enumerating a single vector of data. 2020-09-28 16:34:50 +02:00
asuessenbach
63aa7ede28 Improved handling of function parameters with array sizes. 2020-09-27 00:33:38 +02:00
asuessenbach
865069ccc3 correct value-check of parameters
+ add missing array sizes for parameters
2020-09-25 23:45:55 +02:00
asuessenbach
1f31648973 Refactor some trivial functions 2020-09-25 09:02:37 +02:00
asuessenbach
0d02918ce8 refactor more functions into the simple void case. 2020-09-24 11:47:18 +02:00
asuessenbach
4d21e2b210 refactor command generation of two-vector getting functions returning void 2020-09-23 09:52:21 +02:00
asuessenbach
5f5ce584ac refactor generation of trivial void functions 2020-09-22 10:22:19 +02:00
asuessenbach
542d2903f4 refactor generation of simple void-functions 2020-09-21 23:18:24 +02:00