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.
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.
Allows objects returned as ResultValue (instead of
ResultValueType::type) to be moved without requiring
additional casting or explicit use of ResultValue::value.
Resolves#589
+ 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
* 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>
* Add samples SecondaryCommandBuffer and SeparateImageSampler.
+ made some helper functions more explicit.
* Add sample Template, some generalizations in utils, some minor improvements in various samples.