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
Markus Tavenrath
661d2a9a7c
Include windows.h on windows platforms in case the DynamicLoader is enabled. ( #431 )
2019-11-11 17:23:35 +01:00
Andreas Süßenbach
581b7cb227
Add [[noreturn]] and remove VULKAN_HPP_INLINE to/from function throwResultException ( #430 )
...
Resolves issue #406
2019-11-07 15:42:10 +01:00
Andreas Süßenbach
3fc2ea47fd
Replace namespace layout stuff by a simple const for the sType member of the structures ( #428 )
...
+ reshape of constructors and assignment operators of structs.
2019-11-07 08:22:47 +01:00
Andreas Süßenbach
cea5d7fae3
Add unique-versions of "Register"-functions (currently just registerEventEXTUnique and registerDisplayEventEXTUnique) ( #421 )
2019-11-06 14:45:13 +01:00
Warpten
5512f6df92
Implement support for unicode in Windows projects using vk::DynamicLoader
. ( #422 )
2019-11-06 14:44:33 +01:00
Markus Tavenrath
96b0bfdf0d
Fix DynamicLoader on 32-bit platforms ( #427 )
2019-11-06 13:52:41 +01:00
Andreas Süßenbach
9f7b06cbd1
Remove VULKAN_HPP_NOEXCEPT from functions that throw a LogicError. ( #416 )
2019-10-30 10:10:32 +01:00
mocabe
68b11f1e90
Disable CTAD on ArrayProxy's constructors ( #405 )
...
* Disable CTAD on ArrayProxy's reference constructor
* Disable CTAD on ArrayProxy's initializer_list ctor
2019-10-29 16:00:03 +01:00
Markus Tavenrath
178bf4ded7
Fix typo when calling operator==(enum, enum) ( #415 )
2019-10-28 15:27:48 +01:00
Markus Tavenrath
3976a4cc75
Fix msvc 2015 issue with operator== being ambigious and incorrect constexpr in ResultValue ( #412 )
2019-10-25 13:21:49 +02:00
nyronium
6da60c59dc
Added noexcept on all correct locations (RAII, internal classes, free functions, trivial cases) ( #338 )
...
This includes complex cases such as generated functions (those not returning VkResult and nothing
with an allocator like std::vector), all internal classes (Flags),
all functions not returning VkResult, as well as all trivial cases.
2019-10-23 10:52:29 +02:00
jeremyk-lunarg
65af859e4d
build: Add MacOS Specific Code to DynamicLoader ( #409 )
...
Added MacOS specific code to the DynamicLoader class.
vkCubepp in KhronosGroup/Vulkan-Tools requires this change to
build on MacOS.
2019-10-17 09:59:35 +02:00
Andreas Süßenbach
f379a11a69
Make logical operators on flags constexpr. ( #407 )
2019-10-10 07:29:59 -04:00
Andreas Süßenbach
89c9c91efd
Add define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL to allow hiding the helper class vk::DynamicLoader. ( #396 )
2019-09-30 21:14:22 -04:00
Andreas Süßenbach
cdfb290dc1
Make ConstExpressionArrayCopy::copy() a constexpr with C++14 earliest. ( #394 )
2019-09-27 08:59:59 +02:00
Andreas Süßenbach
becef43315
Change (most of) the samples to use the DispatchLoaderDynamic by default. ( #392 )
2019-09-26 09:55:15 +02:00
Andreas Süßenbach
5ceb4d2801
Add missing extern declaration of defaultDispatchLoaderDynamic ( #391 )
2019-09-25 15:01:29 +02:00
Andreas Süßenbach
a5d14b5c16
Correct indexing in ConstExpressionArrayCopy. ( #388 )
2019-09-25 12:05:31 +02:00
Markus Tavenrath
e26cb8113a
Add support for a full volk replacement by supporting a global DispatchLoaderDynamic. The global dynamic dispatcher will be available if either the define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC is set to 1 or if VK_NO_PROTOTYPES is defined. In those cases it is required to add VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE; to any compilation unit of the project to allocate storage for the dispatcher. ( #390 )
2019-09-25 11:59:39 +02:00
Markus Tavenrath
48d540a23d
Add vk::DynamicLoader and simplify usage of vk::DispatchLoaderDynamic. Update Vulkan-Headers to 1.1.123 ( #387 )
2019-09-24 12:12:49 +02:00
Andreas Süßenbach
e2268eadb6
Introduce usage of constexpr for constructors of structs. ( #385 )
2019-09-23 15:57:48 +02:00
Andreas Süßenbach
a9a4860591
Resolve instantiation issue with structures that are flagged as returnedonly ( #382 )
...
- make layout-structure default constructor an empty function
- introduce default constructor for the corresponding (non-layout) structure, delegating to the layout-structure's constructor
- introduce copy- and assignment constructors from the corresponding vulkan-structure, delegating to the copy- and assignment constructor from the layout-structure
2019-09-18 08:47:17 +02:00
Andreas Süßenbach
a12c3807de
cleanup on stringstream usage. ( #376 )
2019-08-27 09:02:49 +02:00
Andreas Süßenbach
6f80427c41
Move check for redundant aliased enum values from read to write. ( #375 )
2019-08-19 15:40:22 +02:00
Andreas Süßenbach
4ac6dc4760
Fix wrong naming of complex union member types. ( #371 )
2019-08-15 09:50:26 +02:00
Jason Ekstrand
c5e8f86a58
Only emit union constructors and setters if !returnedonly ( #369 )
2019-08-14 11:57:10 +02:00
Markus Tavenrath
b4e27f9be0
Add support for 1.1.119 ( #370 )
2019-08-12 09:55:23 +02:00
orbea
eaf09ee61e
Fix typo. ( #365 )
...
Thanks a lot for spotting this issue!
2019-07-25 14:26:03 +02:00
Yiwei Zhang
d5d4f3457b
Fix the header generation for complex disabled extensions ( #363 )
2019-07-25 09:44:49 +02:00
Andreas Süßenbach
b01f3c0bb5
Introduce namespace layout to have structures with private member sType that still are still standard_layout conformant. ( #360 )
2019-07-23 09:28:14 +02:00
Andreas Süßenbach
b0bfcfdab5
Add a static const(expr) member vk::ObjectType to the vk object classes; add a type_trait cpp_type<> to get the cpp-type from a vk::ObjectType. ( #356 )
2019-07-09 09:24:14 +02:00
Andreas Süßenbach
712acf08f8
Filter out multi-bit values for to_string function on FlagBits. ( #355 )
2019-07-03 13:53:44 +02:00
Andreas Süßenbach
f91fc93fc5
Add CType to handle wrapper classes. ( #354 )
2019-07-03 13:49:40 +02:00
Andreas Süßenbach
89a56017a8
replace memcpy in generated copy and assignment operators of VkStructures by reinterpreted assignments. ( #348 )
...
Fixes #342
2019-06-25 09:43:54 +02:00
past-due
ed11cd8eb8
Add explicit casts to DispatchLoaderDynamic::init(vk::Instance const&, vk::Device const&) ( #344 )
2019-06-24 09:14:17 +02:00
Matthew Pohlmann
c5c5fea2dd
Use VULKAN_HPP_ASSERT instead of assert ( #332 )
...
* Use VULKAN_HPP_ASSERT instead of assert
Update `DispatchLoaderDynamic::init(...)` to use the `VULKAN_HPP_ASSERT` macro instead of a plain `assert`.
* Update vulkan.hpp
2019-06-12 08:17:41 +02:00
Andreas Süßenbach
a6ad0f1eff
Re-introduce vulkan/vulkan.hpp; adjust include order to use that header in samples and tests ( #340 )
2019-06-11 13:25:36 +02:00
nyronium
cd6e0a6a89
Corrected inline if, which should be evaluated before writing output ( #337 )
2019-06-11 10:13:39 +02:00
nyronium
96299b3a1f
Rename variables named 'requires' which is a keyword in c++20 ( #336 )
2019-06-11 10:12:37 +02:00
Markus Tavenrath
50e0a941e9
Use new Vulkan-Headers repository. Don't generate createReturnValue function call if the return type is void. ( #335 )
2019-06-06 13:13:38 +02:00
Markus Tavenrath
d2a1056a56
Add support for Vulkan header version 109 ( #333 )
2019-05-30 09:18:32 +02:00
Frank Richter
0e76bc68e3
Support compilation with VK_NO_PROTOTYPES defined ( #328 )
...
* Add checks for VK_NO_PROTOTYPES so the can still compile if that is defined
2019-05-21 14:57:52 +02:00
Andreas Süßenbach
d566d2200c
Add helper function to copy a vector of UniqueHandles into a vector of UniqueHandle::element_type. ( #327 )
2019-05-16 08:07:36 +02:00
Andreas Süßenbach
ac10dafd73
Add handling of "comment" to disabled extensions. ( #330 )
2019-05-13 12:06:41 +02:00
Jarrett Johnson
61e92d4842
Add type alias for underlying type of vk::UniqueHandle ( #326 )
...
* Add type alias for underlying type of vk::UniqueHandle
* Type alias to UniqueHandle
* Unique Handle Type alias moved
2019-05-09 09:22:10 +02:00
Andreas Süßenbach
d4ddb0a2cd
Add error check before filling a vector of UniqueHandles from just created handles. ( #319 )
2019-04-08 11:33:49 +02:00
Andreas Süßenbach
bcc02a1cb0
Cleanup on platform protection handling. ( #312 )
2019-04-01 09:30:06 +02:00
Andreas Süßenbach
7905145361
Get the to_string function of an enum inside of the corresponding platform protection ( #311 )
2019-03-21 11:53:30 +01:00
Andreas Süßenbach
fe614bd960
Add platform specific protection for enum classes listed in a platform-protected extension. ( #310 )
2019-03-20 17:39:51 +01:00
Andreas Süßenbach
3f20016ba9
Make the default value on "other" types dynamic by reading those types from <type> "requires" in vk.xml. ( #306 )
2019-03-19 15:34:00 +01:00
Andreas Süßenbach
48ceca69f3
Improve alias handling of enums and structs: ( #305 )
...
- Extend and unify alias handling on feature and extension enums
- Extend aliases of enums handling to accept two levels of aliasing
- Extend aliases of structures to allow mulitple aliases of the same structure
- Simplify forward declarations to just declare all structures and aliases
2019-03-18 20:48:10 +01:00
Andreas Süßenbach
70c837fba2
Add DispatchLoaderDynamic constructor for use with linked vulkan library. ( #300 )
2019-03-13 15:33:33 +01:00
Wunkolo
a08954c470
Add structurechain tuple-based getter ( #292 )
2019-03-11 15:25:31 +01:00
Andreas Süßenbach
018ebdd87f
Fix construction of multiple flags in to_string() functions. ( #293 )
...
Fix construction of multiple flags in to_string() functions based on Wunkolos proposal.
2019-02-25 10:46:51 +01:00
Andreas Süßenbach
efe676ab66
Handle aliased enum values with different extension tag as their base value. ( #290 )
...
+ update Vulkan-Docs to version 1.1.100.
2019-02-13 12:18:49 +01:00
Andreas Süßenbach
9a4f863d6e
Add missing return statement to to_string functions on *Flags. ( #287 )
2019-02-05 10:59:17 +01:00
Andreas Süßenbach
67ffe214e3
Change API of class DipatchLoaderDynamic to be based on vkInstance etc. instead of vk::Instance; add test to show how to use it. ( #284 )
2019-01-22 09:03:03 +01:00
Andreas Süßenbach
e3f096bc7c
Cleanup on reading structure members and command arguments. ( #282 )
2019-01-14 10:09:19 +01:00
Andreas Süßenbach
a147b07737
Cleanup code generation with focus on removing the need to sort all dependencies before writing them.
2019-01-09 11:55:11 +01:00
Andreas Süßenbach
b4080fb425
Correct usage of UniqueHandle<Type,Dispatch> in functions returning vectors of UniqueHandle<Type>. ( #278 )
2018-12-05 15:53:54 +01:00
Andreas Süßenbach
e765318a3d
Correct usage of platform/protect information. ( #276 )
...
+ update to version 1.1.94
2018-12-03 14:33:37 +01:00
Andreas Süßenbach
80518392d5
Introduced NoException test and resolved some warnings on unused parameters in the createResultValue functions. ( #275 )
2018-12-03 14:30:36 +01:00
Andreas Süßenbach
a616542f3c
Fix issue with unused parameter "vectorAllocator" in some functions. ( #277 )
...
+ update to version 94.
2018-11-29 13:21:24 +01:00
Mike Cowan
95fde2253b
Use std::move when calling createResultValue with NO_EXCEPTIONS ( #273 )
2018-11-27 13:03:20 +01:00
Andreas Süßenbach
f99407cf28
Check result in two-step functions like enumeratePhysicalDevices ( #270 )
...
Resolves issue #265
2018-11-07 21:46:18 -05:00
Andreas Süßenbach
c02200ce37
Add support for stateful allocators used with functions returning a std::vector. ( #263 )
...
+ update Vulkan-Docs
2018-10-26 09:07:25 +02:00
Andreas Süßenbach
605ff24487
Add an error check on functions returning VkResult but not specifying success codes. ( #262 )
2018-10-15 14:27:42 +02:00
Andreas Süßenbach
b5af45219b
Resolve a couple of warnings. ( #255 )
2018-09-25 11:23:27 +02:00
WubiCookie
e4447ba76e
Fix instance-level functions being loaded with vkGetDeviceProcAddr in vk::DispatchLoaderDynamic::init ( #257 )
2018-09-25 10:53:37 +02:00
Andreas Süßenbach
127de1bf93
Update to Vulkan 1.1.85. ( #258 )
2018-09-25 10:46:26 +02:00
Andreas Süßenbach
295d5c755f
Extend checking of StructureChains to allow transitive extension. ( #254 )
2018-09-20 15:20:00 +02:00
Andreas Süßenbach
1ddafc1c56
Corrected functions dealing with StructureChains. ( #253 )
...
+ adjusted readme.md accordingly
+ added (a first!) test project
2018-09-19 13:49:43 +02:00
Andreas Süßenbach
1944b56b9f
Corrected handling of aliased structure types; ( #251 )
...
Improved checking in enum/bitmask handling.
2018-09-18 16:56:44 +02:00
Andreas Süßenbach
77ff84f711
Introduce missing non-const cast-operator on structs and unions. ( #250 )
2018-09-18 15:03:17 +02:00
Andreas Süßenbach
e48f8f99a3
Correct dependency handling of aliased structures; generalized usage of first argument in member function calls. ( #249 )
2018-09-17 05:56:50 -07:00
Andreas Süßenbach
a9b5b68572
Switch to warning level 4 ( #240 )
2018-08-17 17:47:48 +02:00
Andreas Süßenbach
58873a31ef
Update to Vulkan 1.1.83 ( #239 )
2018-08-15 22:07:08 +02:00
Florian Oetke
198bba07ad
changed type of m_dispatch member from const& to const* in ObjectDestroy, ObjectFree and PoolFree ( fixes #233 ) ( #236 )
2018-08-13 09:55:02 +02:00
Markus Tavenrath
7d264c7c10
Update to Vulkan 1.1.81. #undef major, minor and MemoryBarrier due to namespace conflicts. Those macros are deprecated and should not be used anymore. ( #234 )
2018-07-23 17:23:13 +02:00
Markus Tavenrath
1c06eb7ac0
Change exceptions to warnings for unknown elements & attributes ( #232 )
2018-07-16 10:26:24 +02:00
Andreas Süßenbach
ccd9636c51
Correct return type of create*Unique functions ( #231 )
2018-07-13 13:25:15 +02:00
Andreas Süßenbach
76bf85b50e
Slightly improved vector-size determination on functions returning a vector and detection if a singular version of a function should be generated. ( #229 )
2018-07-11 08:50:20 +02:00
Andreas Süßenbach
fbd17bb272
Provide Dispatch type to Deleter classes to allow UniqueHandle destroy-functions use the correct vk-function provided by that Dispatch type. ( #228 )
2018-07-09 17:13:25 +02:00
Markus Tavenrath
eaf0fda6de
List out default ctor parameters in separate lines ( #225 )
...
It's often useful to browse through vulkan.hpp to check what the default values
for various info structs are, but having them on a single line makes it hard to
read.
This change puts each ctor argument on a different line, which makes the
default values more visible.
2018-06-12 09:58:52 +02:00
Markus Tavenrath
3f9ca5433a
Print a warning when encountering unknown tags in the xml spec instead of aborting with an exception. ( #222 )
2018-06-05 11:28:31 +02:00