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
tomilov
d61800c3be
remove unnecessary condition
2020-01-30 21:05:44 +05:00
tomilov
bbbbf6b751
add missing initialization of dynamic dispatcher
2020-01-30 14:46:20 +05:00
mocabe
b6a190f4a2
Building samples for Linux ( #491 )
...
* CMake: Fix SAMPLES_BUILD and TESTS_BUILD
* CMake: Enable sample build on linux
* samples: Use glfw for window creation
* samples: Fix include order
* samples: Support new window handling
* samples: Add build target for util
* samples: Update CMake scripts to use util target
* samples: Add WindowData to manage unique window
* samples: Surface handling using WIndowData
* sampels: Remove call for vk::su::destroyWindow()
* CMake: FIx more options
* samples: Build SurfaceCapabilities only on WIN32
* samples: Fixed RayTracing sample to build on Linux
* samples: Fix wrong check on SurfaceProtectedCapabilitiesKHR
This also fixes compilation with MinGW gcc/clang
* CMake: check CMAKE_SYSTEM_NAME for Linux samples
* CMake: Add source group for utils
* samples: Fix potential bugs
* samples: Reduce warnings on gcc/clang
* samples: Fix missmatched new/free() which is UB
* samples: Add missing initialization for dynamic dispatcher
* samples: Remove unnecessary dispacther construct
Co-authored-by: Andreas Süßenbach <asuessenbach@nvidia.com>
2020-01-28 10:16:10 +01:00
Andreas Süßenbach
33b244859b
Add specific initialization of Flags and FlagBits. ( #489 )
...
Resolves #488 .
2020-01-16 12:12: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
f2058303cb
Introduce functions vk::StructureChain::unlink<ClassType>() and vk::StructureChain::relink<ClassType>(). ( #441 )
...
Resolves #439 .
2019-11-28 15:58:15 +01:00
Markus Tavenrath
10aa543b7e
Use existing tests for appveyor. ( #426 )
2019-11-06 16:56:52 +01: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
d811c3a7e2
Add sample Template; some generalization in utils; some minor improvements in some samples. ( #349 )
...
* Add samples SecondaryCommandBuffer and SeparateImageSampler.
+ made some helper functions more explicit.
* Add sample Template, some generalizations in utils, some minor improvements in various samples.
2019-06-25 09:47:27 +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
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
Andreas Süßenbach
fba738079a
Use CMake's find_package to locate vulkan for samples and tests. ( #308 )
2019-04-01 08:52:22 +02:00
Andreas Süßenbach
45590a9bd7
Change include paths and argument type on main functions to ease linux adoption ( #307 )
2019-03-19 15:35:08 +01:00
Andreas Süßenbach
e935e6291e
Update to Vulkan 1.1.103 ( #298 )
2019-03-12 09:32:39 +01:00
Andreas Süßenbach
05497cb191
Changed from using outdated environment variable VK_SDK_PATH to VULKAN_SDK. ( #286 )
2019-01-28 14:47:13 +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
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
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
Andreas Süßenbach
8205bf6dbe
Update to Vulkan 1.1.91 ( #267 )
2018-11-06 08:51:33 +01: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