Commit Graph

618 Commits

Author SHA1 Message Date
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
asuessenbach
860c2b1d4b refactored generation of simple commands 2020-09-21 12:26:54 +02:00
asuessenbach
0b8e4cb938 Introduce helper function ResultValue<UniqueHandle<Type, Dispatch>>::asTuple()
Allows coding like this:

    vk::Result         result;
    vk::UniquePipeline pipeline;
    std::tie( result, pipeline ) =
      device->createGraphicsPipelineUnique( nullptr, graphicsPipelineCreateInfo ).asTuple();
2020-09-16 09:36:37 +02:00
asuessenbach
d6dfdb547e Correct version of two-step function returning two vectors of data
+ mark wrong version as deprecated (C++14)
2020-09-15 22:54:44 +02:00
asuessenbach
ae88e94ab4 Reintroduce support of separator '::' for len attributes. 2020-09-03 16:36:39 +02:00
asuessenbach
77b401d4a9 correct enhanced version of vkGetQueryPoolResults
- mark wrong version as deprecated (C++14)
- introduce new version returning ResultValue<vector<T,Allocator>>
- introduce new singular version returning ResultValue<T>
2020-09-03 14:20:32 +02:00
asuessenbach
587833bb5d Make the name of the singular version in appendCommandFixedSizeVector singular. 2020-09-02 17:22:26 +02:00
asuessenbach
0db791c687 Special handling for commands that get a size and a void-pointer to write data into
- marked previous function that got an ArrayProxy as deprecated (C++14)
- introduce a new function returning a std::vector of the given size
- introduce a new function returning a single value
2020-09-02 15:00:06 +02:00
asuessenbach
ee38444318 Simplified assignment operator of structs 2020-09-01 10:32:05 +02:00
asuessenbach
9aaa6481e5 Update to VK_HEADER_VERSION 152. 2020-08-27 09:03:06 +02:00
asuessenbach
fa613080a7 Introduce mapping between DebugReportObjectType enum value and the corresponding cpp handle type.
+ new type trait isVulkanHandleType<>
2020-08-24 10:30:05 +02:00
asuessenbach
2af32d03e0 [DispatchLoaderDynamic] get aliases of functions if getting the function pointer failed 2020-08-19 11:54:25 +02:00
asuessenbach
f168fe6931 Remove superfluous assertion. 2020-08-19 09:00:10 +02:00
asuessenbach
e2f7065c5d cleanup on helper class PoolFree. 2020-08-17 16:54:45 +02:00
asuessenbach
b9a1af5aa1 Cleanup on helper classes ObjectDestroy and ObjectFree 2020-08-17 14:26:25 +02:00
Andreas Süßenbach
803110efef
Merge pull request #715 from asuessenbach/localVariable
Improve handling of local Variables in enhanced simple functions.
2020-08-17 13:50:16 +02:00
asuessenbach
03eb851f81 Improve handling of local Variables in enhanced simple functions. 2020-08-17 10:21:39 +02:00
asuessenbach
ee389e42e3 Introduce VULKAN_HPP_NO_DEFAULT_DISPATCHER to not have a default argument for the last argument of each function. 2020-08-13 16:46:42 +02:00
asuessenbach
958f9d476c Additionally guard spaceship-operator by check for existence of std-header <compare> 2020-07-28 09:15:31 +02:00
asuessenbach
99f990afa1 Extend template argument list for functions returning a std::vector<Stuff> to help compilers detecting the correct function.
+ change the order of Allocator and Dispatch template arguments for functions returning a std::vector<UniqueStuff>, as the Allocator needs to use the Dispatch in those cases!
2020-07-23 18:14:05 +02:00
asuessenbach
0ff1e674ee Reordered listing of structures and handles
-> no need to forward declare the structures any more
2020-07-23 10:02:16 +02:00
asuessenbach
fba2516d9c Remove implicit cast operators on ResultValue<T>
As it turned out to not provide a complete solution to the C++-API-change issue on logical-change of the C-API, we simply remove those implicit cast operators. That is, accessing the result and the value need to be explicit.
2020-07-22 16:49:42 +02:00
asuessenbach
4cdc51ba0f Introduce usage of [[nodiscard]] with C++17 2020-07-22 10:59:12 +02:00
Andreas Süßenbach
46aa4e0e95
Merge pull request #672 from asuessenbach/errorMessage
Slightly improve two error messages.
2020-07-14 08:53:35 +02:00
asuessenbach
d76563fb3d Slightly improve two error messages. 2020-07-13 17:17:56 +02:00
asuessenbach
178dbd1367 Simplify determination of returnParameterIndex
Resolves #670.
2020-07-13 16:04:03 +02:00
asuessenbach
abce7c90cd Remove (most of) the special handling of structure members named "sType", replace it by handling of structure members with a "values" attribute with a single element. 2020-07-13 11:55:16 +02:00
asuessenbach
6bcd2759b0 Add support of struct member attribute <values> to specify a default. 2020-07-10 10:48:26 +02:00
Andreas Süßenbach
ad7cbb2c77
Merge pull request #667 from asuessenbach/663
Guard use of ArrayProxyNoTemporaries with structure setter functions
2020-07-09 14:19:44 +02:00
asuessenbach
db7695f18f Guard use of ArrayProxyNoTemporaries with structure setter functions 2020-07-09 12:20:43 +02:00
asuessenbach
d86303c0e4 Introduce structure constructors using ArrayProxyNoTemporaries 2020-07-09 12:03:03 +02:00
asuessenbach
b06457a74b Simplified struct setter functions on a union. 2020-07-06 14:52:22 +02:00
asuessenbach
5ef6c1c43f Extend set of strings ignored in attribute <len> 2020-07-02 17:38:56 +02:00
asuessenbach
8ae008dba8 Change all functions with ArrayProxy[NoTemporaries] as arguments to take by const & instead of by value. 2020-07-02 12:03:13 +02:00
Andreas Süßenbach
4c576dee25
Merge pull request #654 from asuessenbach/ArrayProxyNoTemporaries
Introduce helper class ArrayProxyNoTemporaries and structure setter functions using that.
2020-07-02 10:53:55 +02:00
Andreas Süßenbach
5da023d17a
Merge pull request #650 from mocabe/ArrayWrapper1D-conversion
Small fix for ArrayWrapper1D's conversion operators
2020-07-02 09:20:02 +02:00
asuessenbach
8ddea43942 Introduce helper class ArrayProxyNoTemporaries and structure setter functions using that.
Resolves #62!
2020-07-01 16:39:25 +02:00
Andreas Süßenbach
d4774ad6e8
Merge pull request #649 from mocabe/assert-on-result
Add VULKAN_HPP_ASSERT_ON_RESULT
2020-06-30 09:00:35 +02:00
Andreas Süßenbach
9ac53acc8a
Merge pull request #648 from mtavenrath/shared_default
Add defines to put the storage for a DispatchLoaderDynamic in a DLL.
2020-06-30 08:58:37 +02:00
asuessenbach
be6fcc0612 Turn Conformance Mode on for Visual Studio builds
+ reorganize library loading and still keep windows.h out.

Resolves #600
Resolves #629
2020-06-29 10:16:40 +02:00
Markus Tavenrath
34076925af Add defines to put the storage for a DispatchLoaderDynamic in a DLL. 2020-06-29 09:21:28 +02:00
asuessenbach
c1a769dba9 Improve interpretation of type postfixes. 2020-06-25 15:20:37 +02:00
mocabe
ec562ec33a [HPP] Replace some asserts to VULKAN_HPP_ASSERT_ON_RESULT 2020-06-25 21:19:01 +09:00
mocabe
f0767988c9 [HPP] Add VULKAN_HPP_ASSERT_ON_RESULT 2020-06-25 21:16:43 +09:00
mocabe
237d51d478 [HPP] Remove const and noexcept from string conversion operators of ArrayWrapper1D 2020-06-25 01:45:35 +09:00
asuessenbach
db58507063 Introduce VULKAN_HPP_NO_STRUCT_CONSTRUCTORS so support designated initializers.
You have to define VULKAN_HPP_NO_STRUCT_CONSTRUCTORS to remove all the struct constructors from vulkan.hpp, so that you can use designated initializers on them.
Of course, makes only sense with C++20.
2020-06-24 11:28:43 +02:00
asuessenbach
f2c1304f17 Update and adjustments to VK_HEADER_VERSION 145. 2020-06-22 09:49:18 +02:00
Andreas Süßenbach
6b72356c2a
Merge pull request #642 from byzin/fix-if-condition-of-result-unique-handle3
Fix if condition of result unique handle
2020-06-22 09:25:51 +02:00
Andreas Süßenbach
0c0fe6fbd0
Merge pull request #641 from byzin/replace-hardcoded-namespace2
Replace hardcoded namesapce 'vk::' to 'VULKAN_HPP_NAMESPACE'.
2020-06-22 09:24:54 +02:00
Sho Ikeda
eb905026e6 Cleanup code. 2020-06-18 23:46:11 +09:00
Sho Ikeda
7e9f9b6aac Fix the #if condition of ResultValue<UniqueHandle>. 2020-06-18 23:38:53 +09:00
Sho Ikeda
3abb9592f7 Replace hardcoded namesapce 'vk::' to 'VULKAN_HPP_NAMESPACE'. 2020-06-18 23:06:58 +09:00
asuessenbach
92bc17981b Provide default arguments in ObjectFree constructor for allocationCallbacks and dispatcher. 2020-06-18 11:00:22 +02:00
asuessenbach
1075096d8c Introduce cast-operator to std::string and std::string_view on ArrayWrapper1D<char,N>
-> needed to add all the relational operators on <char,N> as well to keep the compiler happy!
2020-06-17 16:42:38 +02:00
Andreas Süßenbach
8c2d6d7d05
Merge pull request #634 from asuessenbach/ResultValue
Add cast operator to reference of UniqueHandle of ResultValue<UniqueHandle>
2020-06-17 13:35:30 +02:00
asuessenbach
3724bfd0f5 Add cast operator to reference of UniqueHandle of ResultValue<UniqueHandle>. 2020-06-17 11:44:12 +02:00
asuessenbach
d0a42307b6 Resolve deprecated-warnings on cpp_type. 2020-06-17 09:32:52 +02:00
asuessenbach
c6a48460e8 Use memcmp instead of operator==() to compare unknown types from external headers, as they might not support that operator. 2020-06-16 11:49:20 +02:00
asuessenbach
0bc12cc0c1 Support optional ArrayProxy as function arguments 2020-06-15 13:55:23 +02:00
asuessenbach
f87c9330e7 Extend check against protect attribute for types that are required by multiple extensions. 2020-06-15 10:09:07 +02:00
asuessenbach
381494ed3f Update and adjustments to VK_VULKAN_HEADER 143 2020-06-15 08:03:17 +02:00
mocabe
36869db461 [HPP] Add operator T const&&() to ResultValue 2020-06-02 08:45:57 +02:00
mocabe
b36fe941f4 [HPP] Add missing ref-qualifier for conversion operator of ResultValue 2020-06-02 08:45:57 +02:00
Markus Tavenrath
e2066fa002 Add support for optional non-char arrays 2020-05-26 13:54:03 +02:00
asuessenbach
8958396a0c Add support for "allowduplicate" attribute on chainable structures. 2020-05-25 09:36:20 +02:00
asuessenbach
75819e5dce Improve VkIndexType typeTraits handling. 2020-05-19 15:31:07 +02:00
asuessenbach
cc6162991a Improve extension protection string handling. 2020-05-19 14:34:41 +02:00
asuessenbach
895c5766bc Add some workarounds to not include windows.h on _WIN32 platform. 2020-05-13 16:23:19 +02:00
asuessenbach
f79f43498e Extend DynamicLoader loading policy 2020-05-13 11:26:43 +02:00
asuessenbach
d2a23f5086 Change library name to load on linux to "libvulkan.so.1". 2020-05-11 12:00:39 +02:00
Alexandros Frantzis
18da9fdcfd Provide rvalue cast operator for ResultValue
Allows objects returned as ResultValue (instead of
ResultValueType::type) to be moved without requiring
additional casting or explicit use of ResultValue::value.

Resolves #589
2020-05-05 15:45:10 +03:00
Andreas Süßenbach
94c33a5e2c
Merge pull request #597 from asuessenbach/ArrayProxy
Reintroduce ArrayProxy constructors with std::array and std::vector
2020-05-05 13:50:49 +02:00
asuessenbach
f15f2f382b Reintroduce ArrayProxy constructors with std::array and std::vector 2020-05-05 11:34:02 +02:00
asuessenbach
a037ea241c Downgraded check on attribute "requires" in "extension" elements to a warning. 2020-05-05 08:57:50 +02:00
Andreas Süßenbach
f56e99e5b8
Merge pull request #593 from asuessenbach/140
Update to and adjustments for VK_HEADER_VERSION 140.
2020-05-05 08:38:35 +02:00
asuessenbach
bc6eba91f6 Trim tokenized sub-strings. 2020-05-04 17:19:44 +02:00
asuessenbach
daa20d0d90 Update to and adjustments for VK_HEADER_VERSION 140. 2020-05-04 16:46:47 +02:00
asuessenbach
dc1a7ce93e Add filter for identical alias enum values 2020-04-30 14:28:48 +02:00
asuessenbach
94888c9959 Correct handling of enum aliases 2020-04-30 11:30:17 +02:00
asuessenbach
c6f4dfb79b Correct default initializer for array of enums. 2020-04-29 11:45:10 +02:00
asuessenbach
89190683c8 Add checks on member sType of structs:
- only members named <sType> are supposed to have a <values> attribute
- no <values> attribute is allowed to occur more than once.
2020-04-29 09:04:21 +02:00
asuessenbach
f0d58bd24b Add support for basetypes without any type information 2020-04-27 21:01:21 +02:00
asuessenbach
d12585de6c Use attribute [[deprecated]] only if __cplusplus >= 201402L. 2020-04-27 13:39:14 +02:00
asuessenbach
5953d65c16 Use [[deprecated]] only if __has_cpp_attribute(deprecated) is true 2020-04-26 00:25:35 +02:00
asuessenbach
c7c375eb98 Unify type traits handling of Handles, Structures, and IndexTypes. 2020-04-24 09:57:37 +02:00
asuessenbach
ac272a10ff Make compound assignment operators on Flags<> constexpr with C++14. 2020-04-24 09:54:36 +02:00
asuessenbach
f5e59484a6 Introduce usage of clang-format to format vulkan.hpp and the other sources. 2020-04-23 10:55:02 +02:00
asuessenbach
5cb6084118 Adjust structure and union constructors and setter functions to correctly handle sType of a member of that structure/union. 2020-04-21 08:49:17 +02:00
asuessenbach
ccb4ca22b9 Adjustments for VK_HEADER_VERSION 138. 2020-04-17 20:17:45 +02:00
asuessenbach
d40c96b45e [WIP] test on ArrayProxy 2020-04-15 16:42:41 +02:00
asuessenbach
2ca96ade5b Update to and adjustments for VK_HEADER_VERSION 137. 2020-04-08 08:13:01 +02:00
Andreas Süßenbach
eaa8ba4f01
Merge pull request #558 from asuessenbach/hash
Provide std::hash<vk::HandleType> to make handles hashable.
2020-04-07 09:12:04 +02:00
asuessenbach
cc77b67bb8 Provide std::hash<vk::HandleType> to make handles hashable. 2020-04-06 10:41:42 +02:00
asuessenbach
407542705f Change allocation of vectors of UniqueHandles to not rely on std::vector<>::data() returning a valid pointer after calling std::vector<>::reserve(). 2020-04-06 10:14:20 +02:00
asuessenbach
a5e8a7ccb8 Update to and adjustments for VK_HEADER_VERSION 136. 2020-03-30 12:13:07 +02:00
asuessenbach
732274919b Correct actual function called by aliased member functions 2020-03-25 17:13:03 +01:00
asuessenbach
0ea8a527ba Introduce ArrayWrapper?D, replacing ConstExpression?DArrayCopy
+ no explicit copy constructor of structs needed any more
+ removed assignment operator of structs that don't hold a const sType member (for those, we still need the assignment operator!)
+ simplified operator==() of structs (pre C++20)
+ resolved some 32bit warnings
2020-03-25 12:35:35 +01:00
asuessenbach
8c6ac21d27 Relax criterion on determining enhanced return type. 2020-03-24 09:43:50 +01:00
asuessenbach
bebb3a86bd Update to VK_HEADER_VERSION 135 2020-03-19 09:13:41 +01:00
asuessenbach
7826e58909 Add missing handling of unions in readExtensionRequireType. 2020-03-13 08:54:54 +01:00
Andreas Süßenbach
7d5c399cd7
Merge pull request #533 from asuessenbach/disabled
Improve handling of disabled extensions.
2020-03-12 10:18:44 +01:00
asuessenbach
402816919b Add a check on having a valid value for struct members sType. 2020-03-10 16:19:37 +01:00
asuessenbach
8be8282458 Add support of array-sized function arguments 2020-03-10 15:40:05 +01:00
asuessenbach
41cece140e Yet another correction on braces for arrays of enums. 2020-03-10 14:26:36 +01:00
asuessenbach
d5dba659b4 Correct braces around array of enum initializers. 2020-03-10 12:46:45 +01:00
asuessenbach
434c0326f4 Support arrays of enums in structures. 2020-03-10 11:47:09 +01:00
asuessenbach
594acb2ecd Improve handling of disabled extensions.
(Partly) resolves #531
2020-03-10 10:06:33 +01:00
asuessenbach
87cecae683 Update of vk.xml to version 134; resolve warnings
Resolves #535
2020-03-10 10:00:06 +01:00
asuessenbach
cd554ce9e0 Introduce support of VkFlags64
+ add support of structExtends via alias'ed structures
+ add support of alias'ed commands via already alias'ed commands
2020-03-04 15:29:06 +01:00
asuessenbach
1b22ac9658 Introduce spaceship operator<=> on Flags with C++20, replacing all the relational operators
+ replace variables/struct members named "requires" with "requirements"
2020-03-03 14:02:32 +01:00
Mike Barriault
4f56a424c6 Add const versions of StructureChain::get 2020-03-02 21:32:06 +00:00
asuessenbach
f43626d8a1 Move aliased platform specific stuff out of the platform protection. 2020-03-02 14:09:47 +01:00
asuessenbach
862c0abdc7 Correct filtering of struct elements. 2020-02-27 09:50:28 +01:00
asuessenbach
0d65f6a142 Reduced exception on encountering an unknown element to a warning. 2020-02-27 08:58:57 +01:00
asuessenbach
5d124b6d4a Add "enabled" as accepted value for attribute "supported" in extension element 2020-02-26 08:43:29 +01:00
asuessenbach
28d6e3e665 Extend check for attributes "deprecatedby" and "obsoletedby" to include features as well 2020-02-25 13:53:27 +01:00
asuessenbach
947583a1e5 Replace explicit template parameter MaskType for Flags types by std::underlying_type<BitType>::type and specify the underlying type for the FlagBits types
Resolves #507
2020-02-25 13:36:05 +01:00
asuessenbach
cbff9067dc Define VULKAN_HPP_NO_SMART_HANDLE if VULKAN_HPP_DISABLE_ENHANCED_MODE is defined.
Resolves #509.
2020-02-25 10:30:41 +01:00
Andreas Süßenbach
f9d90dfd1c Some more checks 2020-02-25 10:29:13 +01:00
asuessenbach
241e70e9cd Correct ConstExpression2DArrayCopy
+ introduce new test ArrayCopy
2020-02-24 12:05:49 +01:00
Andreas Süßenbach
8dda61900d
Merge pull request #518 from jackoalan/dynamic-loader-move-assign
Use std::swap for DynamicLibrary move assign
2020-02-24 10:19:27 +01:00
asuessenbach
c05772e82d Correct const usage in ConstExpression1DArrayCopy 2020-02-23 00:20:45 +01:00
Jack Andersen
44b1ea9202 Use std::swap for DynamicLibrary move assign 2020-02-21 20:08:03 -10:00
asuessenbach
dc954e0f6d Restructure ConstExpressionNDArrayCopy classes 2020-02-21 09:55:25 +01:00
asuessenbach
0af9093389 Extend ConstExpression2DArrayCopy to support const T src[N][M]. 2020-02-19 18:50:49 +01:00
Dan Sinclair
0fe05fa95d Update tinyxml2 2020-02-18 09:28:50 -05:00
Jack Andersen
b4f482572f Add move semantics to DynamicLoader 2020-02-17 11:52:57 -10:00
Andreas Süßenbach
b08af45046 Resolve warnings from gcc.
Resolves #505
2020-02-13 10:27:30 +01:00
Andreas Süßenbach
f1d3380e31 Add assignment operator for all structs
Resolves #505
2020-02-13 10:27:30 +01:00
asuessenbach
7feffc1b9d Add/Reshape copy constructors for structs and unions.
Allows usage of constexpr on those constructors.

Resolves #493
2020-02-06 11:15:57 +01:00
Andreas Süßenbach
cf39cd4f0c
Introduce helper function check() to ease throwing on spec error detection. (#502)
* Introduce helper function check() to ease throwing on spec error detection.

* Use some more checks

* Some more checks
2020-02-04 10:35:33 +01:00
Andreas Süßenbach
4d53dac22b
Replace usage of std::forward_as_tuple by std::tie. (#501) 2020-02-03 15:55:06 +01:00
Andreas Süßenbach
8c9e881dfe
Change init functions of DispatchLoaderDynamic to use a DynamicLoader specified by a template argument. (#503) 2020-02-03 15:52:53 +01:00
Anatoliy V. Tomilov
7efe3d096b
use VULKAN_HPP_ASSERT instead of raw assert in generated code (#498)
* use VULKAN_HPP_ASSERT instead of raw assert in generated code

* update generated vulkan.hpp to match generator changes
2020-01-30 09:57:51 +01:00
Andreas Süßenbach
bca5adc12d
Change return of StructureChain::get() from tuple of values to tuple of references (#495)
Resolves #494
2020-01-29 10:00:41 +01:00
Andreas Süßenbach
f1668a6e28 Remove template parameter defaultValue from Flags. (#492)
Flags always default to just no FlagBits set.
2020-01-21 12:01:35 +01:00
Andreas Süßenbach
33b244859b Add specific initialization of Flags and FlagBits. (#489)
Resolves #488.
2020-01-16 12:12:31 +01:00
Alex Hirsch
bb5b19deda Fix regression in ObjectDestroy default argument (#485) 2020-01-16 08:50:50 +01:00
Andreas Süßenbach
7e81c7bddf Improve construction of success check and return type of enhanced functions returning a vector of UniqueHandles (#484) 2020-01-15 16:54:55 +01:00
Andreas Süßenbach
129f82dd90 Extend check to determine the returnParameterIndex. (#482) 2020-01-14 16:06:50 +01:00
Andreas Süßenbach
a75cf874c7 Filter aliases of enum values that originally belong to aliases of the enum class. (#483) 2020-01-14 16:05:05 +01:00
Andreas Süßenbach
e49f02013a Mark every non-enhanced function with VULKAN_HPP_NOEXCEPT. (#481) 2020-01-14 10:37:54 +01:00
Andreas Süßenbach
65450515ee Added a couple of features: (#480)
+ support for 2D arrays
+ support for bitfield members in a structure (slightly restricted: no default member initializers and for any vk::*FlagBits member Vk*FlagBits would be used)
+ aliases to enums are listed by using declarations
+ for aliases to handle types, an aliased Unique handle type is added by a using declaration
+ a check in determining an enhanced return type is extended
2020-01-13 15:00:59 +01:00
Andreas Süßenbach
979af1b46e Added test on existence of ObjectType enum value corresponding to handle type in extensions. (#477) 2020-01-10 10:18:55 +01:00
Andreas Süßenbach
8d62969b4d Fix arraySize for array-valued return parameter. (#476) 2020-01-09 16:21:41 +01:00
Andreas Süßenbach
1911d18790 Completed set of operators on Flags (#475) 2020-01-09 09:44:41 +01:00
Andreas Süßenbach
55517484be Add optional attribute "specialuse", currently ignored. (#474) 2020-01-08 14:29:26 +01:00
Markus Tavenrath
d5f58e07dd Add error message when referencing undefined type requirements (#473) 2020-01-07 16:50:46 +01:00
Andreas Süßenbach
4ee2d61ef6 Improve operator==() of structs (#472)
When a struct holds a fixed size array of stuff, and the member variable right before that array is the count (determined by its specific name) for that array, we now only compare that number of stuff.

Resolves #456
2020-01-07 16:28:50 +01:00
Andreas Süßenbach
0b3af1ee76 Add is_error_code_enum only if VULKAN_HPP_NO_EXCEPTIONS is not defined. (#471) 2020-01-06 15:55:31 +01:00
Markus Tavenrath
499d4bb33d
Bring back default arguments to ObjectDestroy class. Update header to Vulkan 1.130 (#468)
Fix issue #467
2020-01-03 10:59:59 +01:00
Andreas Süßenbach
021c7499a0 Cleanup on usage of static vs. dynamic loading (#462) 2019-12-23 08:45:40 +01:00
Andreas Süßenbach
0b01a8a74c
Introduce default initializers for member variables, simplify default values for constructor arguments (#455) 2019-12-12 11:40:21 +01:00
Andreas Süßenbach
3f82338d9f
Fix ambiguous constructor of ObjectDestroy with vk::NoParent. (#451)
Resolves #450
2019-12-04 08:34:58 +01:00
Andreas Süßenbach
2a05d74c23
Change every occurance of vk:: to VULKAN_HPP_NAMESPACE:: (#448)
Resolves #447
2019-12-02 10:06:44 +01:00
Andreas Süßenbach
07edfc45d6 Introduce default constructors for UniqueHandle, ObjectDestroy, and ObjectFree (#446) 2019-11-28 16:01:22 +01:00
Andreas Süßenbach
f2058303cb Introduce functions vk::StructureChain::unlink<ClassType>() and vk::StructureChain::relink<ClassType>(). (#441)
Resolves #439.
2019-11-28 15:58:15 +01:00
Andreas Süßenbach
e40eb90980 Remove not needed operator==() and operator!=() on *FlagBits (#442)
Resolves #436
2019-11-27 11:41:21 +01:00
Andreas Süßenbach
d2a116b57f Correct operator=() by using offsetof instead of sizeof to determine size of memory to copy. (#437) 2019-11-19 17:44:16 +01:00
Andreas Süßenbach
e850963599 Extend functions returning a std::vector<vk::StructureChain> to use an additional local vector for getting the information, and then copy the heads of the StructureChains over to the return vector (#432)
Fixes #400
2019-11-13 10:04:50 +01:00