Commit Graph

268 Commits

Author SHA1 Message Date
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
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
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