Commit Graph

774 Commits

Author SHA1 Message Date
GitHub
c109b8b2f4 Update Vulkan-Headers to v1.2.202 2021-12-08 00:38:42 +00:00
asuessenbach
6fdeaa8001 Make struct cast operators explicit. 2021-12-07 10:39:23 +01:00
asuessenbach
3515c720fc Introduce support of std::hash for vk-structures. 2021-12-02 23:28:26 +01:00
GitHub
09cc1f69c8 Update Vulkan-Headers to v1.2.201 2021-12-02 00:35:54 +00:00
asuessenbach
5d5182ce70 Introduce a couple of trait functions on vk::Format. 2021-11-29 10:00:19 +01:00
Andreas Süßenbach
a29a6894de
Merge pull request #1149 from KhronosGroup/update-vulkan-headers-pr
Update Vulkan-Headers to v1.2.200
2021-11-24 13:51:36 +01:00
asuessenbach
8e3a52edc0 Filter out to get vkGetInstanceProcAddr in vk::raii::InstanceDispatcher
Since Vulkan 1.2 this can return nullptr!
2021-11-24 08:42:52 +01:00
GitHub
303bdb2238 Update Vulkan-Headers to v1.2.200 2021-11-24 00:36:04 +00:00
asuessenbach
0c311a7589 Adjust comments in ArrayProxy and ArrayProxyNoTemporaries tests. 2021-11-22 15:11:03 +01:00
GitHub
66d80093dc Update Vulkan-Headers to v1.2.199 2021-11-17 00:35:21 +00:00
asuessenbach
a3807fb92b Use VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL with vk::raii::Context
-> vk::raii::Context constructor now either gets
     no argument as before, loading vkGetInstanceProcAddr via an internal DynamicLoader;
     or a PFN_vkGetInstanceProcAddr, using that to fill the dispatcher
+ changed the sample RAII_Samples/RayTracing to work with VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL defined to be zero
+ fixed the missing destructor call in most of the move assignments of the vk::raii classes
2021-11-16 18:07:19 +01:00
asuessenbach
bf73d74aa9 Remove deprecated versions of function PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR 2021-11-16 13:29:50 +01:00
Andreas Süßenbach
9b94931267
Merge pull request #1137 from asuessenbach/link
Fix wrong linking in copied StructureChains with unlinked elements
2021-11-16 08:40:42 +01:00
asuessenbach
75bf4a0f93 Fix allocator name in generateCommandResultEnumerateChained()
+ correctly format vulkan_structs.hpp
2021-11-15 23:25:42 +01:00
Andreas Süßenbach
323c921a19
Merge pull request #1132 from Saalvage/more-constexpr
More support for constexpr
2021-11-15 17:59:19 +01:00
asuessenbach
5009b39f57 Fix wrong linking in copied StructureChains with unlinked elements 2021-11-15 17:50:18 +01:00
asuessenbach
b5d312187c Add support of functions enumerating chained structure data.
+ slightly reordered error handling in enumerating functions.
2021-11-15 15:05:17 +01:00
Salvage
4017a99055
More constexpr support! 2021-11-12 02:59:37 +01:00
GitHub
7ee89386ba Update Vulkan-Headers to v1.2.198 2021-11-10 00:35:52 +00:00
asuessenbach
0beeac873a Remove dumb parent-pointer in raii-objects. 2021-11-08 17:31:36 +01:00
asuessenbach
533129308a Change m_dispatcher in vk::raii::Context, vk::raii::Instance and vk::raii::Device from member to std::unique_ptr<> 2021-11-04 13:53:43 +01:00
GitHub
4b9b902b59 Update Vulkan-Headers to v1.2.197 2021-11-03 00:34:42 +00:00
Andreas Süßenbach
95fbfbe36d
Merge pull request #1115 from asuessenbach/throw
Change function throwResultException from static to anonymous namespace
2021-10-25 17:57:45 +02:00
asuessenbach
c5218f5a82 Change function throwResultException from static to anonymous namespace 2021-10-25 15:44:42 +02:00
asuessenbach
e725ff31bd Refactor parent member of the vk::raii classes. 2021-10-25 13:37:43 +02:00
asuessenbach
26630f0691 Provide generated vulkan.hpp for #1109 2021-10-25 10:51:37 +02:00
asuessenbach
5a4eceb0ab Introduce factory methods for the RAII handle classes. 2021-10-18 13:42:45 +02:00
GitHub
1144b65e7a Update Vulkan-Headers to v1.2.196 2021-10-14 00:34:01 +00:00
asuessenbach
c3f32b8538 Introduce constructors on nullptr_t for the RAII handle classes. 2021-10-11 17:49:13 +02:00
asuessenbach
dcb654bc0b Minor cleanup work.
+ changed CXX_STANDARD for VulkanHppGenerator from 14 to 17.
2021-10-11 10:20:26 +02:00
asuessenbach
bc942e42da Add 'inline' to static getDispatchLoaderStatic() 2021-10-07 10:22:19 +02:00
asuessenbach
6db58639f8 Add support of functions taking and returning a vector of data 2021-10-06 12:51:26 +02:00
GitHub
a67c40379d Update Vulkan-Headers to v1.2.195 2021-10-06 00:37:42 +00:00
asuessenbach
cc3549ec58 Change 32-bit test in ArrayWrapper1D to using VK_USE_64_BIT_PTR_DEFINES. 2021-10-04 11:08:19 +02:00
GitHub
b88b27ad64 Update Vulkan-Headers to v1.2.194 2021-09-29 00:34:11 +00:00
asuessenbach
11f18e8502 Add "singular" version of functions returning a vector of values and one value, now returning just a pair of values 2021-09-27 15:32:23 +02:00
asuessenbach
992de7d190 Update to VK_HEADER_VERSION 193. 2021-09-22 09:24:36 +02:00
asuessenbach
f3d91d6ca9 Update to VK_HEADER_VERSION 192. 2021-09-16 09:18:47 +02:00
asuessenbach
13bdb2ff69 Introducde getDispatchLoaderStatic() to prevent dangling pointers in debug builds 2021-09-08 13:38:56 +02:00
asuessenbach
dea1345852 Introduce VULKAN_HPP_STATIC_ASSERT. 2021-09-07 13:47:18 +02:00
asuessenbach
8b7852b390 Update to VK_HEADER_VERSION 191 2021-09-07 10:20:55 +02:00
asuessenbach
b563641fa6 Remove constexpr specifier from defaulted struct assignment operators.
Those operators are implicitly declared as constexpr, if they are constexpr-compatible.
2021-09-01 10:02:25 +02:00
asuessenbach
d645cbb056 Introduce NativeType to get the C-type from the corresponding Cpp-type.
This name is defined for Handles, Structures, and Unions.
2021-08-31 14:58:34 +02:00
asuessenbach
303f044d43 Update to VK_HEADER_VERSION 190. 2021-08-30 16:03:05 +02:00
asuessenbach
bc67967db5 Update to VK_HEADER_VERSION 189. 2021-08-30 14:44:47 +02:00
asuessenbach
9d7ade83f2 Minor cleanup work. 2021-08-05 17:28:06 +02:00
asuessenbach
af80b7aee8 Introduce constructors of ArrayProxy and ArrayProxyNoTemporaries from std::span (C++20) 2021-08-05 13:37:49 +02:00
asuessenbach
6bbd64aaa5 Minor cleanup work. 2021-08-04 13:34:08 +02:00
asuessenbach
6e1a3de4d2 Update to VK_HEADER_VERSION 187 2021-08-04 10:45:53 +02:00
asuessenbach
b8476a29af Update to VK_HEADER_VERSION 186. 2021-07-28 08:28:16 +02:00
asuessenbach
3247dce132 Change dispatcher default argument in ObjectDestroy, ObjectFree, ObjectRelease, and PoolFree constructor VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT 2021-07-27 14:33:25 +02:00
asuessenbach
93cfc93fa6 Minor cleanup work. 2021-07-26 11:05:07 +02:00
asuessenbach
5117c83ad9 Add placeholder members to Dispatchers to keep the relative position of other members constant when compiling for different platforms 2021-07-22 12:00:44 +02:00
asuessenbach
4a3c6d024d Gather commands and types per require-block in features and extensions 2021-07-21 17:09:21 +02:00
asuessenbach
b9ee920bbf Update to VK_HEADER_VERSION 185. 2021-07-21 09:13:46 +02:00
Andreas Süßenbach
7255bfef39
Merge pull request #1020 from asuessenbach/versioncheck
Introduce version check in function wrappers
2021-07-21 08:19:23 +02:00
asuessenbach
987bd214e5 Introduce version check in function wrappers
The assertions fire when the dispatcher and the actual function call is compiled with different VK_HEADER_VERSION.
2021-07-20 15:38:54 +02:00
asuessenbach
488780dfd4 Introduce struct hash<vk::Flags<BitType>>
Allows the use of any vk::*Flags type as the key in a std::unordered_map
2021-07-19 12:12:12 +02:00
asuessenbach
4190218813 Minor cleanup work. 2021-07-19 10:37:44 +02:00
asuessenbach
ff6985fd34 Minor cleanup work. 2021-07-11 00:10:25 +02:00
asuessenbach
f2525a2cce Minor cleanup work. 2021-07-08 09:36:02 +02:00
asuessenbach
7a534998ba Improve command name determination of second level commands in RAII handle wrappers. 2021-07-07 09:03:54 +02:00
asuessenbach
98f6375374 Update to VK_HEADER_VERSION 184. 2021-07-06 09:03:42 +02:00
asuessenbach
b54860a92b Add support of attribute "protect" for enum values, third part 2021-06-30 15:10:17 +02:00
asuessenbach
a4bae802d4 Update to VK_HEADER_VERSION 183. 2021-06-29 08:44:03 +02:00
asuessenbach
71e67fa32d Introduce operator bool() and operator!() on vk::raii handle wrapper classes
Only if VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS is defined, as otherwise those checks are not meaningful.
2021-06-23 11:37:51 +02:00
asuessenbach
9c0c2095d7 Update to VK_HEADER_VERSION 182. 2021-06-22 09:40:12 +02:00
asuessenbach
9fbd3e3552 Introduce VULKAN_HPP_RAII_ENABLE_DEFAULT_CONSTRUCTORS 2021-06-17 17:11:12 +02:00
asuessenbach
74cb47eb82 Split vulkan.hpp into multiple sub-headers 2021-06-14 15:35:34 +02:00
asuessenbach
1c7a24b3b2 Update to VK_HEADER_VERSION 181. 2021-06-14 09:11:42 +02:00
asuessenbach
b0bf764266 Re-arranged handling of FlagBits not listed as required for a Flags. 2021-06-08 11:08:11 +02:00
Andreas Süßenbach
d3888a84f1
Merge pull request #981 from asuessenbach/cleanup
Minor cleanup work.
2021-06-07 15:18:58 +02:00
asuessenbach
d795efa30a Minor cleanup work. 2021-06-07 10:26:00 +02:00
asuessenbach
43e3b2245a Update to VK_HEADER_VERSION 180. 2021-06-07 09:25:15 +02:00
asuessenbach
f2d623cb7a Correct postfix tag of some enums. 2021-06-01 19:48:06 +02:00
scribam
189f4ebf1f Support BSD operating systems 2021-05-31 10:28:16 +02:00
asuessenbach
47af02da37 Correct enum values for some video decode enums. 2021-05-28 19:56:12 +02:00
asuessenbach
4019ef40a5 Cleanup on usage of generateProtection(). 2021-05-27 11:08:04 +02:00
asuessenbach
d0fa2d4247 Reorder member functions by features and extensions. 2021-05-26 09:59:30 +02:00
Andreas Süßenbach
4333c04bdd
Merge pull request #969 from asuessenbach/noexcept
Make move-constructors and move-assignment operators of vk::raii handle classes noexcept.
2021-05-26 08:26:28 +02:00
asuessenbach
7debcfa416 Make move-constructors and move-assignment operators of vk::raii handle classes noexcept. 2021-05-25 15:40:26 +02:00
asuessenbach
cdce3140cd Update to VK_HEADER_VERSION 179. 2021-05-25 14:18:48 +02:00
asuessenbach
35ce74025c Update to VK_HEADER_VERSION 178. 2021-05-11 09:15:45 +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
8de126f0f7 Update to VK_HEADER_VERSION 177 2021-04-26 10:10:41 +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
72284f4c71 Update to VK_HEADER_VERSION 176. 2021-04-19 09:29:52 +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
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
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
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
asuessenbach
d55facfd9e Update to VK_HEADER_VERSION 173. 2021-03-22 09:53:35 +01:00
asuessenbach
d973957ab5 Add assertion on valid function pointer for functions depending on extensions. 2021-03-16 10:09:05 +01:00
asuessenbach
3a776dd1d8 Update to VK_HEADER_VERSION 172. 2021-03-09 09:13:32 +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
asuessenbach
2cb1c19c7f Introduce raii-compliant handle wrapper classes. 2021-02-22 16:19:12 +01:00
asuessenbach
9d6d783372 Update to VK_HEADER_VERSION 170. 2021-02-16 09:55:19 +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
450f8d88bd Update to VK_HEADER_VERSION 169. 2021-02-03 08:22:24 +01:00
asuessenbach
fe73611127 Update to VK_HEADER_VERSION 168. 2021-01-26 08:47:17 +01:00
asuessenbach
3c7123f506 Add platform protection on enum value level. 2021-01-25 19:52:54 +01:00
asuessenbach
8a21c2e0eb Fix function StructureChain::unlink(). 2021-01-21 16:56:14 +01:00
asuessenbach
40dbf184fc Update to VK_HEADER_VERSION 167. 2021-01-21 09:43:44 +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
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
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
5defbab14b Update to VK_HEADER_VERSION 166. 2021-01-04 10:06:24 +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
asuessenbach
40bc006527 Update to VK_HEADER_VERSION 163. 2020-12-01 10:09:03 +01:00
asuessenbach
8d8436cc51 Update to VK_HEADER_VERSION 162. 2020-11-23 09:46:41 +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
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
Andreas Süßenbach
009e56beb1
Merge pull request #820 from asuessenbach/160
Update to VK_HEADER_VERSION 160.
2020-11-09 13:39:31 +01:00
asuessenbach
6b2c310cf8 Update to VK_HEADER_VERSION 160. 2020-11-09 10:04:02 +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
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
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
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
asuessenbach
dc4777a206 Refactor commands that enumerate handles (no unique versions) 2020-10-21 10:14:51 +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
asuessenbach
53fe4d445f Refactor commands that get a handle which has no create or destroy function. 2020-10-19 23:13:57 +02: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
87fc3571c6 Refactor simple functions getting a single value 2020-10-05 15:55:13 +02:00
asuessenbach
1629bf53e2 Update to VK_HEADER_VERSION 156. 2020-10-05 10:10:39 +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
3b30cb3a9c Update to VK_HEADER_VERSION 155. 2020-09-28 10:30: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
Andreas Süßenbach
745e1342bd
Merge pull request #745 from asuessenbach/154
Update to VK_HEADER_VERSION 154.
2020-09-23 11:52:18 +02:00
asuessenbach
6d89283b79 Update to VK_HEADER_VERSION 154. 2020-09-23 10:00:13 +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
45813fe9c8 Update to VK_HEADER_VERSION 153. 2020-09-15 10:31:32 +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
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
987fbd8ee1
Merge pull request #716 from asuessenbach/151
Update to VK_HEADER_VERSION 151.
2020-08-17 13:52:26 +02:00
asuessenbach
e76b61e2e0 Update to VK_HEADER_VERSION 151. 2020-08-17 10:29:59 +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
406aeaf72c Update to VK_HEADER_VERSION 150 2020-08-11 08:33:48 +02:00
asuessenbach
042e64ccfa Update to VK_HEADER_VERSION 149 2020-08-04 09:59:51 +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
asuessenbach
22ba23d36f Update to VK_HEADER_VERSION 148. 2020-07-21 12:24:17 +02:00
asuessenbach
39177001fc Update to VK_HEADER_VERSION 147. 2020-07-14 09:03:33 +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
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
bacb376630 Update to VK_HEADER_VERSION 146. 2020-07-06 17:36:46 +02:00
asuessenbach
b06457a74b Simplified struct setter functions on a union. 2020-07-06 14:52:22 +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
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
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
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
asuessenbach
8958396a0c Add support for "allowduplicate" attribute on chainable structures. 2020-05-25 09:36:20 +02:00
asuessenbach
cc6162991a Improve extension protection string handling. 2020-05-19 14:34:41 +02:00
asuessenbach
014b92f91d Updated to VK_HEADER_VERSION 141. 2020-05-18 12:14:59 +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
asuessenbach
f15f2f382b Reintroduce ArrayProxy constructors with std::array and std::vector 2020-05-05 11:34:02 +02:00
asuessenbach
daa20d0d90 Update to and adjustments for VK_HEADER_VERSION 140. 2020-05-04 16:46:47 +02:00
asuessenbach
94888c9959 Correct handling of enum aliases 2020-04-30 11:30:17 +02:00
asuessenbach
15f5f25ee4 Update to VK_HEADER_VERSION 139. 2020-04-28 09:17:41 +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
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
bebb3a86bd Update to VK_HEADER_VERSION 135 2020-03-19 09:13:41 +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
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
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
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
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