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