asuessenbach
9e4f6812fb
Add CI on MacOS.
2022-06-21 14:48:56 +02:00
phantom10111
1bc663f851
Add tests for ArrayProxy constructors with raw arrays with size
...
Add tests for new ArrayProxy and ArrayProxyNoTemporaries constructors.
Also add more size assertions, to verify that ArrayProxy size is correct
after construction.
2022-04-19 11:49:17 +02:00
asuessenbach
26e2fc42c8
Combine two types of commands into one generation function.
2022-04-07 16:04:26 +02:00
asuessenbach
d50485c5c7
Combine two types of commands into one generation function.
2022-04-07 08:48:55 +02:00
asuessenbach
dd6deccf52
Add missing allocator template argument in createResultValue helper functions working on std::vector<UniqueHandle> types.
2022-04-04 10:00:13 +02:00
asuessenbach
16a44bb94f
Re-add accidentally removed version of createResultValue
...
+ add test project for UniqueHandles.
2022-03-30 09:45:51 +02:00
asuessenbach
23c11fe38d
Introduce copy constructor and assignment operator for vk::raii classes that hold handles without a destructor.
2022-03-22 13:53:21 +01:00
asuessenbach
a104fd65d3
Combine two types of commands into one generation function.
2022-03-16 13:51:43 +01:00
asuessenbach
7e6083e5b2
Make test/FormatTraits.cpp valid for C++11.
2022-03-07 10:15:27 +01:00
asuessenbach
bde88d1c87
Disable init-list-lifetime warning with tests in ArrayProxyNoTemporaries.cpp
2022-03-02 16:26:09 +01:00
asuessenbach
5fe410279a
Change ColumnLimit with clang-format from 120 to 160.
2022-02-28 10:11:04 +01:00
asuessenbach
1c39502170
Extract trait functions on vk::Format into the additional header vulkan_format_traits.hpp.
2022-02-21 10:11:25 +01:00
asuessenbach
eecfe9bf42
Extend operator==() and operator<=>() on structures to compare null-terminated string members
2022-01-05 16:20:13 +01:00
Antonio Maiorano
e84bb64746
Fix std::hash specializations for null-terminated strings
...
Instead of hashing the pointer, hash the string contents.
Fixes: https://github.com/KhronosGroup/Vulkan-Hpp/issues/1169
2022-01-03 14:26:34 -05:00
asuessenbach
cdb64cdefd
Generate std::hash specializations into the new file vulkan_hash.hpp, requiring C++14 for std::hash specializations of the vulkan structures.
2021-12-13 17:00:00 +01:00
asuessenbach
3515c720fc
Introduce support of std::hash for vk-structures.
2021-12-02 23:28:26 +01:00
asuessenbach
0c311a7589
Adjust comments in ArrayProxy and ArrayProxyNoTemporaries tests.
2021-11-22 15:11:03 +01:00
asuessenbach
13bdb2ff69
Introducde getDispatchLoaderStatic() to prevent dangling pointers in debug builds
2021-09-08 13:38:56 +02:00
asuessenbach
af80b7aee8
Introduce constructors of ArrayProxy and ArrayProxyNoTemporaries from std::span (C++20)
2021-08-05 13:37:49 +02:00
asuessenbach
fe846ff445
Extendend test on designated initializers
2021-03-22 10:24:07 +01:00
asuessenbach
2cb1c19c7f
Introduce raii-compliant handle wrapper classes.
2021-02-22 16:19:12 +01:00
asuessenbach
8a21c2e0eb
Fix function StructureChain::unlink().
2021-01-21 16:56:14 +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
asuessenbach
dcc775eb53
Make ArrayProxyNoTemporaries complete by marking all constructors getting rvalue references as deleted.
2021-01-14 11:49:35 +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
2e95313c1d
fix some warnings (errors) on release build.
2020-10-20 10:05:18 +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
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
Markus Tavenrath
6f4e1e41a7
Add documentation on how to build the generator, tests, and samples.
2020-08-13 11:38:21 +02:00
asuessenbach
8918c644a7
Update of submodule glslang
2020-07-29 09:16:09 +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
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
d86303c0e4
Introduce structure constructors using ArrayProxyNoTemporaries
2020-07-09 12:03:03 +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
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
92bc17981b
Provide default arguments in ObjectFree constructor for allocationCallbacks and dispatcher.
2020-06-18 11:00:22 +02:00
asuessenbach
3724bfd0f5
Add cast operator to reference of UniqueHandle of ResultValue<UniqueHandle>.
2020-06-17 11:44:12 +02:00
mocabe
52dc8eb2fe
[test] Rename target ResultValueRValue to ResultValue
2020-06-02 08:45:57 +02:00
mocabe
a7f155f6bc
[test] Update test for ResultValue
2020-06-02 08:45:57 +02:00
mocabe
63f3412b03
[test] Add missing test cases for ResultValueRValue.cpp
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
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
f5e59484a6
Introduce usage of clang-format to format vulkan.hpp and the other sources.
2020-04-23 10:55:02 +02:00
asuessenbach
d40c96b45e
[WIP] test on ArrayProxy
2020-04-15 16:42:41 +02:00
asuessenbach
cc77b67bb8
Provide std::hash<vk::HandleType> to make handles hashable.
2020-04-06 10:41:42 +02: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
241e70e9cd
Correct ConstExpression2DArrayCopy
...
+ introduce new test ArrayCopy
2020-02-24 12:05:49 +01:00
Andreas Süßenbach
b08af45046
Resolve warnings from gcc.
...
Resolves #505
2020-02-13 10:27:30 +01:00