Commit Graph

331 Commits

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