Compare commits
5 Commits
10be59a321
...
d517285123
| Author | SHA1 | Date |
|---|---|---|
|
|
d517285123 | |
|
|
bdda01dc49 | |
|
|
21d217d163 | |
|
|
9896e08beb | |
|
|
044bf61a3c |
424
README.md
424
README.md
|
|
@ -9,103 +9,103 @@ The goal of the Vulkan-Hpp is to provide header only C++ bindings for the Vulkan
|
|||
| Linux | [](https://github.com/KhronosGroup/Vulkan-Hpp/actions/workflows/ci-ubuntu-22.yml) <br> [](https://github.com/KhronosGroup/Vulkan-Hpp/actions/workflows/ci-ubuntu-24.yml) |
|
||||
| MacOS | [](https://github.com/KhronosGroup/Vulkan-Hpp/actions/workflows/ci-macos.yml) |
|
||||
|
||||
# Table of Contents
|
||||
- [Getting Started](#getting_started)
|
||||
- [Minimum Requirements](#minimum_requirements)
|
||||
- [Building Vulkan-Hpp, Samples, and Tests](#building)
|
||||
- [Installing vulkan-hpp using vcpkg](#installing)
|
||||
- [Optional Features](#optional_features)
|
||||
- [Formatting](#formatting)
|
||||
- [Custom views of Vulkan-Hpp objects in Visual Studio](#custom_views)
|
||||
- [Breaking Changes](#breaking_changes)
|
||||
- [v1.4.324](#breaking_changes_324)
|
||||
|
||||
- [Getting Started](#getting-started)
|
||||
- [Minimum Requirements](#minimum-requirements)
|
||||
- [Building Vulkan-Hpp, Samples, and Tests](#building-vulkan-hpp-samples-and-tests)
|
||||
- [Installing vulkan-hpp using vcpkg](#installing-vulkan-hpp-using-vcpkg)
|
||||
- [Optional Features](#optional-features)
|
||||
- [Formatting](#formatting)
|
||||
- [Custom views of Vulkan-Hpp objects in Visual Studio](#custom-views-of-vulkan-hpp-objects-in-visual-studio)
|
||||
- [Breaking Changes](#breaking-changes)
|
||||
- [v1.4.324](#v14324)
|
||||
- [Usage](#usage)
|
||||
- [namespace vk](#namespace_vk)
|
||||
- [Handles](#handles)
|
||||
- [namespace vk::raii](#namespace_vk_raii)
|
||||
- [C/C++ Interop for Handles](#c_cpp_interop)
|
||||
- [Flags](#flags)
|
||||
- [CreateInfo structs](#createinfo_structs)
|
||||
- [Designated Initializers](#designated_initializers)
|
||||
- [Passing Arrays to Functions using ArrayProxy](#passing_arrays)
|
||||
- [Passing Structs to Functions](#passing_structs)
|
||||
- [Structure Pointer Chains](#structure_chains)
|
||||
- [Return values, Error Codes & Exceptions](#return_values)
|
||||
- [C++17: [[nodiscard]]](#nodiscard)
|
||||
- [Enumerations](#enumerations)
|
||||
- [UniqueHandle for automatic resource management](#unique_handle)
|
||||
- [SharedHandle](#shared_handle)
|
||||
- [RAII-classes](#raii_classes)
|
||||
- [Custom allocators](#custom_allocators)
|
||||
- [Custom assertions](#custom_assertions)
|
||||
- [ Extensions / Per Device function pointers](#extensions)
|
||||
- [Type traits](#type_traits)
|
||||
- [vk::Format trait functions](#vk_format_traits)
|
||||
- [Hashing Vulkan types](#hashing)
|
||||
- [Extension Inspection](#extension_inspection)
|
||||
- [C++20 named module](#named_module)
|
||||
- [Overview](#named_module_overview)
|
||||
- [Compiler support](#compiler_support)
|
||||
- [Usage with CMake](#cmake_usage)
|
||||
- [Command-line usage](#command_line_usage)
|
||||
- [Samples and Tests](#samples_and_tests)
|
||||
- [Compile time issues](#compile_time_issues)
|
||||
- [Strict aliasing issue](#strict_aliasing_issue)
|
||||
- [Configuration Options](#options)
|
||||
- [VULKAN_HPP_ASSERT](#assert)
|
||||
- [VULKAN_HPP_ASSERT_ON_RESULT](#assert_on_result)
|
||||
- [VULKAN_HPP_DEFAULT_DISPATCHER](#default_dispatcher)
|
||||
- [VULKAN_HPP_DEFAULT_DISPATCHER_TYPE](#default_dispatcher_type)
|
||||
- [VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE](#default_dispatch_loader_dynamic_storage)
|
||||
- [VULKAN_HPP_DISABLE_ENHANCED_MODE](#disable_enhanced_mode)
|
||||
- [VULKAN_HPP_DISPATCH_LOADER_DYNAMIC](#dispatch_loader_dynamic)
|
||||
- [VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE](#dispatch_loader_dynamic_type)
|
||||
- [VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE](#dispatch_loader_static_type)
|
||||
- [VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL](#enable_dynamic_loader_tool)
|
||||
- [VULKAN_HPP_EXPECTED](#expected)
|
||||
- [VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC](#flags_mask_type_as_public)
|
||||
- [VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS](#handle_error_out_of_date_as_success)
|
||||
- [VULKAN_HPP_HANDLES_MOVE_EXCHANGE](#handles_move_exchange)
|
||||
- [VULKAN_HPP_HASH_COMBINE](#hash_combine)
|
||||
- [VULKAN_HPP_INLINE](#inline)
|
||||
- [VULKAN_HPP_NAMESPACE](#namespace)
|
||||
- [VULKAN_HPP_NO_CONSTRUCTORS](#no_constructors)
|
||||
- [VULKAN_HPP_NO_EXCEPTIONS](#no_exceptions)
|
||||
- [VULKAN_HPP_NO_NODISCARD_WARNINGS](#no_discard_warnings)
|
||||
- [VULKAN_HPP_NO_SETTERS](#no_setters)
|
||||
- [VULKAN_HPP_NO_SMART_HANDLE](#no_smart_handle)
|
||||
- [VULKAN_HPP_NO_SPACESHIP_OPERATOR](#no_spaceship_operator)
|
||||
- [VULKAN_HPP_NO_STD_MODULE](#no_std_module)
|
||||
- [VULKAN_HPP_NO_TO_STRING](#no_to_string)
|
||||
- [VULKAN_HPP_NO_WIN32_PROTOTYPES](#no_win32_prototypes)
|
||||
- [VULKAN_HPP_RAII_NO_EXCEPTIONS](#raii_no_exceptions)
|
||||
- [VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST](#smart_handle_implicit_cast)
|
||||
- [VULKAN_HPP_STORAGE_API](#storage_api)
|
||||
- [VULKAN_HPP_TYPESAFE_CONVERSION](#typesafe_conversion)
|
||||
- [VULKAN_HPP_UNEXPECTED](#unexpected)
|
||||
- [VULKAN_HPP_USE_REFLECT](#use_reflect)
|
||||
- [See Also](#see_also)
|
||||
- [namespace vk](#namespace-vk)
|
||||
- [Handles](#handles)
|
||||
- [namespace vk::raii](#namespace-vkraii)
|
||||
- [C/C++ Interop for Handles](#cc-interop-for-handles)
|
||||
- [Flags](#flags)
|
||||
- [CreateInfo structs](#createinfo-structs)
|
||||
- [Designated Initializers](#designated-initializers)
|
||||
- [Passing Arrays to Functions using ArrayProxy](#passing-arrays-to-functions-using-arrayproxy)
|
||||
- [Passing Structs to Functions](#passing-structs-to-functions)
|
||||
- [Structure Pointer Chains](#structure-pointer-chains)
|
||||
- [Return values, Error Codes \& Exceptions](#return-values-error-codes--exceptions)
|
||||
- [C++17: \[\[nodiscard\]\]](#c17-nodiscard)
|
||||
- [Enumerations](#enumerations)
|
||||
- [UniqueHandle for automatic resource management](#uniquehandle-for-automatic-resource-management)
|
||||
- [SharedHandle](#sharedhandle)
|
||||
- [RAII-classes](#raii-classes)
|
||||
- [Custom allocators](#custom-allocators)
|
||||
- [Custom assertions](#custom-assertions)
|
||||
- [Extensions / Per Device function pointers](#extensions--per-device-function-pointers)
|
||||
- [Type traits](#type-traits)
|
||||
- [vk::Format trait functions](#vkformat-trait-functions)
|
||||
- [Hashing Vulkan types](#hashing-vulkan-types)
|
||||
- [Extension Inspection](#extension-inspection)
|
||||
- [C++20 named module](#c20-named-module)
|
||||
- [Overview](#overview)
|
||||
- [Compiler support](#compiler-support)
|
||||
- [Usage with CMake](#usage-with-cmake)
|
||||
- [Command-line usage](#command-line-usage)
|
||||
- [Samples and Tests](#samples-and-tests)
|
||||
- [Compile time issues](#compile-time-issues)
|
||||
- [Strict aliasing issue](#strict-aliasing-issue)
|
||||
- [Configuration Options](#configuration-options)
|
||||
- [`VULKAN_HPP_ASSERT`](#vulkan_hpp_assert)
|
||||
- [`VULKAN_HPP_ASSERT_ON_RESULT`](#vulkan_hpp_assert_on_result)
|
||||
- [`VULKAN_HPP_DEFAULT_DISPATCHER`](#vulkan_hpp_default_dispatcher)
|
||||
- [`VULKAN_HPP_DEFAULT_DISPATCHER_TYPE`](#vulkan_hpp_default_dispatcher_type)
|
||||
- [`VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE`](#vulkan_hpp_default_dispatch_loader_dynamic_storage)
|
||||
- [`VULKAN_HPP_DISABLE_ENHANCED_MODE`](#vulkan_hpp_disable_enhanced_mode)
|
||||
- [`VULKAN_HPP_DISPATCH_LOADER_DYNAMIC`](#vulkan_hpp_dispatch_loader_dynamic)
|
||||
- [`VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE`](#vulkan_hpp_dispatch_loader_dynamic_type)
|
||||
- [`VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE`](#vulkan_hpp_dispatch_loader_static_type)
|
||||
- [`VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL`](#vulkan_hpp_enable_dynamic_loader_tool)
|
||||
- [`VULKAN_HPP_EXPECTED`](#vulkan_hpp_expected)
|
||||
- [`VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC`](#vulkan_hpp_flags_mask_type_as_public)
|
||||
- [`VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS`](#vulkan_hpp_handle_error_out_of_date_as_success)
|
||||
- [`VULKAN_HPP_HANDLES_MOVE_EXCHANGE`](#vulkan_hpp_handles_move_exchange)
|
||||
- [`VULKAN_HPP_HASH_COMBINE`](#vulkan_hpp_hash_combine)
|
||||
- [`VULKAN_HPP_INLINE`](#vulkan_hpp_inline)
|
||||
- [`VULKAN_HPP_NAMESPACE`](#vulkan_hpp_namespace)
|
||||
- [`VULKAN_HPP_NO_CONSTRUCTORS`](#vulkan_hpp_no_constructors)
|
||||
- [`VULKAN_HPP_NO_EXCEPTIONS`](#vulkan_hpp_no_exceptions)
|
||||
- [`VULKAN_HPP_NO_NODISCARD_WARNINGS`](#vulkan_hpp_no_nodiscard_warnings)
|
||||
- [`VULKAN_HPP_NO_SETTERS`](#vulkan_hpp_no_setters)
|
||||
- [`VULKAN_HPP_NO_SMART_HANDLE`](#vulkan_hpp_no_smart_handle)
|
||||
- [`VULKAN_HPP_NO_SPACESHIP_OPERATOR`](#vulkan_hpp_no_spaceship_operator)
|
||||
- [`VULKAN_HPP_NO_TO_STRING`](#vulkan_hpp_no_to_string)
|
||||
- [`VULKAN_HPP_NO_WIN32_PROTOTYPES`](#vulkan_hpp_no_win32_prototypes)
|
||||
- [`VULKAN_HPP_RAII_NO_EXCEPTIONS`](#vulkan_hpp_raii_no_exceptions)
|
||||
- [`VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST`](#vulkan_hpp_smart_handle_implicit_cast)
|
||||
- [`VULKAN_HPP_STORAGE_API`](#vulkan_hpp_storage_api)
|
||||
- [`VULKAN_HPP_TYPESAFE_CONVERSION`](#vulkan_hpp_typesafe_conversion)
|
||||
- [`VULKAN_HPP_UNEXPECTED`](#vulkan_hpp_unexpected)
|
||||
- [`VULKAN_HPP_USE_REFLECT`](#vulkan_hpp_use_reflect)
|
||||
- [Contributing](#contributing)
|
||||
- [License](#license)
|
||||
|
||||
## Getting Started <a id='getting_started'>
|
||||
## Getting Started
|
||||
|
||||
Vulkan-Hpp is part of the [LunarG Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) since version 1.0.24. Just `#include <vulkan/vulkan.hpp>` and you're ready to use the C++ bindings. If you're using a Vulkan version not yet supported by the Vulkan SDK, you can find the latest version of the headers [here](vulkan).
|
||||
|
||||
### Minimum Requirements <a id='minimum_requirements'>
|
||||
### Minimum Requirements
|
||||
|
||||
Vulkan-Hpp requires a C++11 capable compiler to compile. The following compilers are known to work:
|
||||
* Visual Studio >= 2015
|
||||
* GCC >= 4.8.2 (earlier version might work, but are untested)
|
||||
* Clang >= 3.3
|
||||
|
||||
### Building Vulkan-Hpp, Samples, and Tests <a id="building">
|
||||
- Visual Studio >= 2015
|
||||
- GCC >= 4.8.2 (earlier version might work, but are untested)
|
||||
- Clang >= 3.3
|
||||
|
||||
### Building Vulkan-Hpp, Samples, and Tests
|
||||
|
||||
To build the local samples and tests you'll have to clone this repository and run CMake to generate the required build files
|
||||
|
||||
0. Install dependencies.
|
||||
* Ensure that you have CMake and git installed and accessible from a shell.
|
||||
* Ensure that you have installed the Vulkan SDK.
|
||||
* Optionally install clang-format >= 11.0 to get a nicely formatted Vulkan-Hpp header.
|
||||
- Ensure that you have CMake and git installed and accessible from a shell.
|
||||
- Ensure that you have installed the Vulkan SDK.
|
||||
- Optionally install clang-format >= 11.0 to get a nicely formatted Vulkan-Hpp header.
|
||||
1. Open a shell which provides git and clone the repository with:
|
||||
|
||||
`git clone --recurse-submodules https://github.com/KhronosGroup/Vulkan-Hpp.git`
|
||||
|
|
@ -115,13 +115,13 @@ To build the local samples and tests you'll have to clone this repository and ru
|
|||
`cmake -DVULKAN_HPP_SAMPLES_BUILD=ON -DVULKAN_HPP_SAMPLES_BUILD_WITH_LOCAL_VULKAN_HPP=ON -DVULKAN_HPP_TESTS_BUILD=ON -DVULKAN_HPP_TESTS_BUILD_WITH_LOCAL_VULKAN_HPP=ON -B build`
|
||||
|
||||
You might need to specify a generator via `-G`, for a full list of generators execute `cmake -G`.
|
||||
* To rebuild `vulkan.hpp` from the `vk.xml` XML registry file, add the
|
||||
- To rebuild `vulkan.hpp` from the `vk.xml` XML registry file, add the
|
||||
`-DVULKAN_HPP_RUN_GENERATOR=ON` option to the CMake command line.
|
||||
4. Either open the generated project with an IDE, e.g. Visual Studio or launch the build process with `cmake --build build --parallel`.
|
||||
|
||||
Optional: To update the Vulkan-Hpp and its submodules execute `git pull --recurse-submodules`.
|
||||
|
||||
### Installing vulkan-hpp using vcpkg <a id='installing'>
|
||||
### Installing vulkan-hpp using vcpkg
|
||||
|
||||
You can download and install vulkan-hpp using the [vcpkg](https://github.com/Microsoft/vcpkg) dependency manager:
|
||||
|
||||
|
|
@ -135,57 +135,60 @@ cd vcpkg
|
|||
|
||||
The vulkan-hpp port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
|
||||
|
||||
### Optional Features <a id='optional_features'>
|
||||
### Optional Features
|
||||
|
||||
#### Formatting <a id='formatting'>
|
||||
#### Formatting
|
||||
|
||||
If the program clang-format is found by CMake, the define `CLANG_FORMAT_EXECUTABLE` is set accordingly. In that case, the generated `vulkan.hpp` is formatted using the `.clang-format` file located in the root directory of this project. Otherwise, it's formatted as hard-coded in the generator.
|
||||
|
||||
#### Custom views of Vulkan-Hpp objects in Visual Studio <a id='custom_views'>
|
||||
#### Custom views of Vulkan-Hpp objects in Visual Studio
|
||||
|
||||
The file `VulkanHpp.natvis` provides a custom view on `vk::Flags` for Visual Studio. If you add this file to the user-specific natvis directory of your Visual Studio installation (%USERPROFILE%\Documents\Visual Studio 2022\Visualizers), you get `vk::Flags` nicely formatted in your debugger with all your Visual Studio projects.
|
||||
|
||||
## Breaking Changes <a id='breaking_changes'>
|
||||
## Breaking Changes
|
||||
|
||||
We seriously try to keep the API for all flavours of the Vulkan-Hpp constant or backwards compatible. But every now and then, some breaking changes might get in. Here is a list of those changes, sorted by version.
|
||||
|
||||
### v1.4.324 <a id='breaking_changes_324'>
|
||||
### v1.4.324
|
||||
|
||||
With PR [#2226](https://github.com/KhronosGroup/Vulkan-Hpp/pull/2226), the return type of `vk::raii::Device::acquireNextImage2KHR` and `vk::raii::SwapchainKHR::acquireNextImage` changed from `std::pair<vk::Result,uint32_t>` to the equivalent `vk::ResultValue<uint32_t>`
|
||||
|
||||
## Usage <a id='usage'>
|
||||
## Usage
|
||||
|
||||
### namespace vk <a id='namespace_vk'>
|
||||
### namespace vk
|
||||
|
||||
To avoid name collisions with the Vulkan C API, the C++ bindings reside in the `vk` namespace. The following rules apply to the new naming:
|
||||
To avoid name collisions with the Vulkan C API, the C++ bindings reside in the `vk::` namespace. The following rules apply to the new naming:
|
||||
|
||||
* All functions, enums, handles, and structs have the `Vk` prefix removed. In addition to this the first letter of functions is lower case.
|
||||
* `vkCreateInstance` can be accessed as `vk::createInstance`.
|
||||
* `VkImageTiling` can be accessed as `vk::ImageTiling`.
|
||||
* `VkImageCreateInfo` can be accessed as `vk::ImageCreateInfo`.
|
||||
* Enums are mapped to scoped enums to provide compile time type safety. The names have been changed to 'e' + CamelCase with the `VK_` prefix and type infix removed. If the enum type is an extension, the extension suffix has been removed from the enum values.
|
||||
- All functions, enums, handles, and structs have the `Vk` or `vk` prefix removed. Furthermore, the first character of function names is always lowercase. For example:
|
||||
- `vkCreateInstance` corresponds to `vk::createInstance`.
|
||||
- `VkImageTiling` corresponds to `vk::ImageTiling`.
|
||||
- `VkImageCreateInfo` corresponds to `vk::ImageCreateInfo`.
|
||||
- Enums are mapped to scoped enums to provide compile time type safety. The names have been changed to 'e' + CamelCase with the `VK_` prefix and type infix removed. If the enum type is an extension, the extension suffix has been removed from the enum values.
|
||||
|
||||
In all other cases the extension suffix has not been removed.
|
||||
* `VK_IMAGETYPE_2D` is now `vk::ImageType::e2D`.
|
||||
* `VK_COLOR_SPACE_SRGB_NONLINEAR_KHR` is now `vk::ColorSpaceKHR::eSrgbNonlinear`.
|
||||
* `VK_STRUCTURE_TYPE_PRESENT_INFO_KHR` is now `vk::StructureType::ePresentInfoKHR`.
|
||||
* Flag bits are handled like scoped enums with the addition that the `_BIT` suffix has also been removed.
|
||||
In all other cases, the extension suffix has not been removed.
|
||||
|
||||
For example:
|
||||
|
||||
- `VK_IMAGETYPE_2D` is now `vk::ImageType::e2D`.
|
||||
- `VK_COLOR_SPACE_SRGB_NONLINEAR_KHR` is now `vk::ColorSpaceKHR::eSrgbNonlinear`.
|
||||
- `VK_STRUCTURE_TYPE_PRESENT_INFO_KHR` is now `vk::StructureType::ePresentInfoKHR`.
|
||||
- Flag bits are handled like scoped enums with the addition that the `_BIT` suffix has also been removed.
|
||||
|
||||
In some cases it might be necessary to move Vulkan-Hpp to a custom namespace. This can be achieved by defining `VULKAN_HPP_NAMESPACE` before including Vulkan-Hpp.
|
||||
|
||||
### Handles <a id='handles'>
|
||||
### Handles
|
||||
|
||||
Vulkan-Hpp declares a class for all handles to ensure full type safety and to add support for member functions on handles. A member function has been added to a handle class for each function which accepts the corresponding handle as first parameter. Instead of `vkBindBufferMemory(device, ...)` one can write `device.bindBufferMemory(...)` or `vk::bindBufferMemory(device, ...)`.
|
||||
Vulkan-Hpp declares a class for all handles to ensure full type safety, and adds support for member functions on handles. A member function has been added to a handle class for each function which accepts the corresponding handle as first parameter. Instead of `vkBindBufferMemory(device, ...)` one can write `device.bindBufferMemory(...)` or `vk::bindBufferMemory(device, ...)`.
|
||||
|
||||
### namespace vk::raii <a id='namespace_vk_raii'>
|
||||
### namespace vk::raii
|
||||
|
||||
There is an additional header named [`vulkan_raii.hpp`](vulkan/vulkan_raii.hpp) generated. That header holds raii-compliant wrapper classes for the handle types. That is, for e.g. the handle type `VkInstance`, there's a raii-compliant wrapper `vk::raii::Instance`. Please have a look at the samples using those classes in the directory [RAII_Samples](RAII_Samples).
|
||||
|
||||
### C/C++ Interop for Handles <a id='c_cpp_interop'>
|
||||
### C/C++ Interop for Handles
|
||||
|
||||
On 64-bit platforms Vulkan-Hpp supports implicit conversions between C++ Vulkan handles and C Vulkan handles. On 32-bit platforms all non-dispatchable handles are defined as `uint64_t`, thus preventing type-conversion checks at compile time which would catch assignments between incompatible handle types. Due to that Vulkan-Hpp does not enable implicit conversion for 32-bit platforms by default and it is recommended to use a `static_cast` for the conversion like this: `VkImage = static_cast<VkImage>(cppImage)` to prevent converting some arbitrary int to a handle or vice versa by accident. If you're developing your code on a 64-bit platform, but want to compile your code for a 32-bit platform without adding the explicit casts, you can define `VULKAN_HPP_TYPESAFE_CONVERSION` to `1` in your build system or before including `vulkan.hpp`. On 64-bit platforms this define is set to `1` by default and can be set to `0` to disable implicit conversions.
|
||||
|
||||
### Flags <a id='flags'>
|
||||
### Flags
|
||||
|
||||
The scoped enum feature adds type safety to the flags, but also prevents using the flag bits as input for bitwise operations such as `&` and `|`.
|
||||
|
||||
|
|
@ -199,7 +202,7 @@ vk::ImageUsageFlags iu4 = vk::ImageUsageFlagBits::eColorAttachment | vk::ImageUs
|
|||
PipelineShaderStageCreateInfo ci({} /* pass a flag without any bits set */, ...);
|
||||
```
|
||||
|
||||
### CreateInfo structs <a id='createinfo_structs'>
|
||||
### CreateInfo structs
|
||||
|
||||
When constructing a handle in Vulkan one usually has to create some `CreateInfo` struct which describes the new handle. This can result in quite lengthy code as can be seen in the following Vulkan C example:
|
||||
|
||||
|
|
@ -224,8 +227,9 @@ vkCreateImage(device, &ci, allocator, &image);
|
|||
```
|
||||
|
||||
There are two typical issues Vulkan developers encounter when filling out a `CreateInfo` struct field by field:
|
||||
* One or more fields are left uninitialized.
|
||||
* `sType` is incorrect.
|
||||
|
||||
- One or more fields are left uninitialized.
|
||||
- `sType` is incorrect.
|
||||
|
||||
Especially the first one is hard to detect.
|
||||
|
||||
|
|
@ -250,7 +254,7 @@ vk::Image image = device.createImage({{}, vk::ImageType::e2D, vk::Format::eR8G8B
|
|||
vk::SharingMode::eExclusive, 0, nullptr, vk::ImageLayout::eUndefined});
|
||||
```
|
||||
|
||||
### Designated Initializers <a id='designated_initializers'>
|
||||
### Designated Initializers
|
||||
|
||||
Beginning with C++20, C++ supports designated initializers. As that feature requires to not have any user-declared or inherited constructors, you have to `#define VULKAN_HPP_NO_CONSTRUCTORS`, which removes all the structure and union constructors from `vulkan.hpp`. Instead you can then use aggregate initialization. The first few vk-lines in your source might then look like:
|
||||
|
||||
|
|
@ -279,7 +283,7 @@ vk::InstanceCreateInfo instanceCreateInfo({}, &applicationInfo);
|
|||
Note, that the designator order needs to match the declaration order.
|
||||
Note as well, that now you can explicitly set the `sType` member of vk-structures. This is neither neccessary (as they are correctly initialized by default) nor recommended.
|
||||
|
||||
### Passing Arrays to Functions using ArrayProxy <a id='passing_arrays'>
|
||||
### Passing Arrays to Functions using ArrayProxy
|
||||
|
||||
The Vulkan API has several places which require (count, pointer) as two function arguments and C++ has a few containers which map perfectly to this pair. To simplify development the Vulkan-Hpp bindings have replaced those argument pairs with the `vk::ArrayProxy` class template which accepts empty arrays and a single value as well as STL containers `std::initializer_list`, `std::array` and `std::vector` as argument for construction. This way a single generated Vulkan version can accept a variety of inputs without having the combinatoric explosion which would occur when creating a function for each container type.
|
||||
|
||||
|
|
@ -322,7 +326,7 @@ vec.push_back(scissorRect2);
|
|||
c.setScissor(0, vec);
|
||||
```
|
||||
|
||||
### Passing Structs to Functions <a id='passing_structs'>
|
||||
### Passing Structs to Functions
|
||||
|
||||
Vulkan-Hpp generates references for pointers to structs. This conversion allows passing temporary structs to functions which can result in shorter code. In case the input is optional and thus accepting a null pointer, the parameter type will be `vk::Optional<T> const&`. This type accepts either a reference to `T` or `nullptr` as input and thus allows optional temporary structs.
|
||||
|
||||
|
|
@ -339,7 +343,7 @@ vkGetImageSubresourceLayout(device, image, &subresource, &layout);
|
|||
auto layout = device.getImageSubresourceLayout(image, { {} /* flags*/, 0 /* miplevel */, 0 /* arrayLayer */ });
|
||||
```
|
||||
|
||||
### Structure Pointer Chains <a id='structure_chains'>
|
||||
### Structure Pointer Chains
|
||||
|
||||
Vulkan allows chaining of structures through the `pNext` pointer. Vulkan-Hpp has a variadic class template which allows constructing of such structure chains with minimal efforts. In addition to this it checks at compile time if the spec allows the construction of such a `pNext` chain.
|
||||
|
||||
|
|
@ -383,7 +387,7 @@ To get just the base structure, without chaining, the other getter function prov
|
|||
vk::MemoryRequirements2KHR memoryRequirements = device.getBufferMemoryRequirements2KHR({});
|
||||
```
|
||||
|
||||
### Return values, Error Codes & Exceptions <a id='return_values'>
|
||||
### Return values, Error Codes & Exceptions
|
||||
|
||||
By default Vulkan-Hpp has exceptions enabled. This means that Vulkan-Hpp checks the return code of each function call which returns a `vk::Result`. If `vk::Result` is a failure a `std::runtime_error` will be thrown. Since there is no need to return the error code anymore the C++ bindings can now return the actual desired return value, i.e. a vulkan handle. In those cases `vk::ResultValue<SomeType>::type` is defined as the returned type.
|
||||
|
||||
|
|
@ -491,11 +495,11 @@ catch(std::exception const &e)
|
|||
> [!IMPORTANT]
|
||||
> The vulkan handles in the `vk`-namespace do not support RAII, hence you need to cleanup your resources in the error handler! Instead, you could use the handle wrapper classes in the `vk::raii`-namespace.
|
||||
|
||||
### C++17: [[nodiscard]] <a id='nodiscard'>
|
||||
### C++17: [[nodiscard]]
|
||||
|
||||
With C++17 and above, some functions are attributed with `[[nodiscard]]`, resulting in a warning if you don't use the return value in any way. You can switch those warnings off by defining `VULKAN_HPP_NO_NODISCARD_WARNINGS`.
|
||||
|
||||
### Enumerations <a id='enumerations'>
|
||||
### Enumerations
|
||||
|
||||
For the return value transformation, there's one special class of return values which require special handling: Enumerations. For enumerations you usually have to write code like this:
|
||||
|
||||
|
|
@ -525,7 +529,7 @@ Since writing this loop over and over again is tedious and error prone the C++ b
|
|||
std::vector<LayerProperties> properties = physicalDevice.enumerateDeviceLayerProperties();
|
||||
```
|
||||
|
||||
### UniqueHandle for automatic resource management <a id='unique_handle'>
|
||||
### UniqueHandle for automatic resource management
|
||||
|
||||
Vulkan-Hpp provides a `vk::UniqueHandle<Type, Deleter>` interface. For each Vulkan handle type `vk::Type` there is a unique handle `vk::UniqueType` which will delete the underlying Vulkan resource upon destruction, e.g. `vk::UniqueBuffer ` is the unique handle for `vk::Buffer`.
|
||||
|
||||
|
|
@ -533,7 +537,7 @@ For each function which constructs a Vulkan handle of type `vk::Type` Vulkan-Hpp
|
|||
|
||||
Note that using `vk::UniqueHandle` comes at a cost since most deleters have to store the `vk::AllocationCallbacks` and parent handle used for construction because they are required for automatic destruction.
|
||||
|
||||
### SharedHandle <a id='shared_handle'>
|
||||
### SharedHandle
|
||||
|
||||
Vulkan-Hpp provides a `vk::SharedHandle<Type>` interface. For each Vulkan handle type `vk::Type` there is a shared handle `vk::SharedType` which will delete the underlying Vulkan resource upon destruction, e.g. `vk::SharedBuffer` is the shared handle for `vk::Buffer`.
|
||||
|
||||
|
|
@ -563,9 +567,10 @@ vk::SharedSwapchainKHR sharedSwapchain(swapchain, device, surface); // sharedSwa
|
|||
```
|
||||
|
||||
You can create a `vk::SharedHandle` overload for your own handle type or own shared handles by providing several template arguments to `SharedHandleBase`:
|
||||
- A handle type
|
||||
- A parent handle type or a header structure, that contains the parent
|
||||
- A class itself for CRTP
|
||||
|
||||
- A handle type
|
||||
- A parent handle type or a header structure, that contains the parent
|
||||
- A class itself for CRTP
|
||||
|
||||
With this, provide a custom static destruction function `internalDestroy`, that takes in a parent handle and a handle to destroy. Don't forget to add a friend declaration for the base class.
|
||||
|
||||
|
|
@ -596,7 +601,7 @@ protected:
|
|||
|
||||
The API will be extended to provide creation functions in the future.
|
||||
|
||||
### RAII-classes <a id='raii_classes'>
|
||||
### RAII-classes
|
||||
|
||||
In addition to `vk::UniqueHandles` and `vk::SharedHandles`, there's a set of wrapper classes for all the handle types that follow the RAII-paradigm (resource acquisition is initialization), provided in the `vk::raii` namespace.
|
||||
|
||||
|
|
@ -606,7 +611,7 @@ Other than the `vk::Handles`, all those handle wrapper classes need to hold addi
|
|||
|
||||
As the `vk::UniqueHandles` and the `vk::SharedHandles` use the same dispatcher as the `vk::Handles`, they can be easily mixed-and-matched. The `vk::raii::Handles` use some slightly different dispatchers and thus are not compatible with the other handles! That is, for the `vk-Handles`, the `vk::UniqueHandles`, and the `vk::SharedHandles`, you need to instantiate a global dispatcher as described in https://github.com/KhronosGroup/Vulkan-Hpp#extensions--per-device-function-pointers. For the `vk::raii-Handles`, this is not needed, as they maintain their own dispatchers. The big advantage here is when you have multiple devices: the functions called via the `vk::raii-Handles` always call the device specific functions.
|
||||
|
||||
### Custom allocators <a id='custom_allocators'>
|
||||
### Custom allocators
|
||||
|
||||
Sometimes it is required to use `std::vector` with custom allocators. Vulkan-Hpp supports vectors with custom allocators as input for `vk::ArrayProxy` and for functions which do return a vector. For the latter case, add your favorite custom allocator as template argument to the function call like this:
|
||||
|
||||
|
|
@ -621,7 +626,7 @@ MyStatefulCustomAllocator allocator;
|
|||
std::vector<LayerProperties, MyStatefulCustomAllocator> properties = physicalDevice.enumerateDeviceLayerProperties(allocator, {});
|
||||
```
|
||||
|
||||
### Custom assertions <a id='custom_assertions'>
|
||||
### Custom assertions
|
||||
|
||||
All over `vulkan.hpp`, there are a couple of calls to an assert function. By defining `VULKAN_HPP_ASSERT`, you can specifiy your own custom assert function to be called instead.
|
||||
|
||||
|
|
@ -629,7 +634,7 @@ By default, `VULKAN_HPP_ASSERT_ON_RESULT` will be used for checking results when
|
|||
|
||||
There are a couple of static assertions for each handle class and each struct in the file [`vulkan_static_assertions.hpp`](vulkan/vulkan_static_assertions.hpp). You might include that file in at least one of your source files. By defining `VULKAN_HPP_STATIC_ASSERT`, you can specify your own custom static assertion to be used for those cases. That is, by defining it to be a NOP, you can reduce your compilation time a little.
|
||||
|
||||
### Extensions / Per Device function pointers <a id='extensions'>
|
||||
### Extensions / Per Device function pointers
|
||||
|
||||
The Vulkan loader exposes only the Vulkan core functions and a limited number of extensions. To use Vulkan-Hpp with extensions it's required to have either a library which provides stubs to all used Vulkan functions or to tell Vulkan-Hpp to dispatch those functions pointers. Vulkan-Hpp provides a per-function dispatch mechanism by accepting a dispatch class as last parameter in each function call. The dispatch class must provide a callable type for each used Vulkan function. Vulkan-Hpp provides one implementation, `vk::detail::DispatchLoaderDynamic`, which fetches all function pointers known to the library.
|
||||
|
||||
|
|
@ -649,47 +654,61 @@ device.getQueue(graphics_queue_family_index, 0, &graphics_queue, dldid);
|
|||
|
||||
To use the `vk::detail::DispatchLoaderDynamic` as the default dispatcher (means: you don't need to explicitly add it to every function call), you need to `#define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1`, and have the macro `VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE` exactly once in your source code to provide storage for that default dispatcher. Then you can use it by the macro `VULKAN_HPP_DEFAULT_DISPATCHER`, as is shown in the code snippets below.
|
||||
Creating a full featured `vk::detail::DispatchLoaderDynamic` is a two- to three-step process, where you have three choices for the first step:
|
||||
|
||||
1. Before any call into a vk-function you need to initialize the dynamic dispatcher by one of three methods
|
||||
|
||||
- Let Vulkan-Hpp do all the work by internally using a little helper class `vk::detail::DynamicLoader`:
|
||||
|
||||
```c++
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init();
|
||||
```
|
||||
|
||||
- Use your own dynamic loader, which just needs to provide a templated function `getProcAddress` (compare with `vk::detail::DynamicLoader` in `vulkan.hpp`):
|
||||
|
||||
```c++
|
||||
YourDynamicLoader ydl;
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(ydl);
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> You need to keep that dynamic loader object alive until after the last call to a vulkan function in your program. For example by making it static, or storing it globally.
|
||||
|
||||
- Use your own initial function pointer of type `PFN_vkGetInstanceProcAddr`:
|
||||
|
||||
```c++
|
||||
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = your_own_function_pointer_getter();
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(vkGetInstanceProcAddr);
|
||||
```
|
||||
|
||||
2. initialize it with a `vk::Instance` to get all the other function pointers:
|
||||
|
||||
```c++
|
||||
vk::Instance instance = vk::createInstance({}, nullptr);
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(instance);
|
||||
```
|
||||
|
||||
3. optionally initialize it with a `vk::Device` to get device-specific function pointers
|
||||
|
||||
```c++
|
||||
std::vector<vk::PhysicalDevice> physicalDevices = instance.enumeratePhysicalDevices();
|
||||
assert(!physicalDevices.empty());
|
||||
vk::Device device = physicalDevices[0].createDevice({}, nullptr);
|
||||
VULKAN_HPP_DEFAULT_DISPATCHER.init(device);
|
||||
```
|
||||
|
||||
After the second step above, the dispatcher is fully functional. Adding the third step can potentially result in more efficient code. But if you intend to use multiple devices, you could just omit that third step and let the driver do the device-dispatching.
|
||||
|
||||
In some cases the storage for the `vk::detail::DispatchLoaderDynamic` should be embedded in a DLL. For those cases you need to define `VULKAN_HPP_STORAGE_SHARED` to tell Vulkan-Hpp that the storage resides in a DLL. When compiling the DLL with the storage it is also required to define `VULKAN_HPP_STORAGE_SHARED_EXPORT` to export the required symbols.
|
||||
|
||||
For all functions, that `VULKAN_HPP_DEFAULT_DISPATCHER` is the default for the last argument to that function. If you want to explicitly provide the dispatcher for each and every function call (when you have multiple dispatchers for different devices, for example) and you want to make sure, that you don't accidentally miss any function call, you can define `VULKAN_HPP_NO_DEFAULT_DISPATCHER` before you include `vulkan.hpp` to remove that default argument.
|
||||
|
||||
### Type traits <a id='type_traits'>
|
||||
### Type traits
|
||||
|
||||
`vulkan.hpp` provides a couple of type traits, easing template metaprogramming:
|
||||
|
||||
- `template <typename EnumType, EnumType value> struct CppType`
|
||||
Maps `IndexType` values (`IndexType::eUint16`, `IndexType::eUint32`, ...) to the corresponding type (`uint16_t`, `uint32_t`, ...) by the member type `Type`;
|
||||
Maps `ObjectType` values (`ObjectType::eInstance`, `ObjectType::eDevice`, ...) to the corresponding type (`vk::Instance`, `vk::Device`, ...) by the member type `Type`;
|
||||
Maps `IndexType` values (`IndexType::eUint16`, `IndexType::eUint32`, ...) to the corresponding type (`uint16_t`, `uint32_t`, ...) by the member type `Type`;
|
||||
Maps `ObjectType` values (`ObjectType::eInstance`, `ObjectType::eDevice`, ...) to the corresponding type (`vk::Instance`, `vk::Device`, ...) by the member type `Type`;
|
||||
Maps `DebugReportObjectType` values (`DebugReportObjectTypeEXT::eInstance`, `DebugReportObjectTypeEXT::eDevice`, ...) to the corresponding type (`vk::Instance`, `vk::Device`, ...) by the member type `Type`;
|
||||
- `template <typename T> struct IndexTypeValue`
|
||||
Maps scalar types (`uint16_t`, `uint32_t`, ...) to the corresponding `IndexType` value (`IndexType::eUint16`, `IndexType::eUint32`, ...).
|
||||
|
|
@ -702,11 +721,12 @@ For all functions, that `VULKAN_HPP_DEFAULT_DISPATCHER` is the default for the l
|
|||
- `HandleClass::debugReportObjectType`
|
||||
Maps a handle class (`vk::Instance`, `vk::Device`, ...) to the corresponding `DebugReportObjectTypeEXT` value (`DebugReportObjectTypeEXT::eInstance`, `DebugReportObjectTypeEXT::eDevice`, ...) by the static member `debugReportObjectType`.
|
||||
|
||||
### vk::Format trait functions <a id='vk_format_traits'>
|
||||
### vk::Format trait functions
|
||||
|
||||
With the additional header [`vulkan_format_traits.hpp`](vulkan/vulkan_format_traits.hpp), a couple of trait functions on `vk::Format` are provided. With C++14 and above, all those functions are marked as `constexpr`, that is with appropriate arguments, they are resolved at compile time.
|
||||
|
||||
- `std::array<uint8_t, 3> blockExtent( vk::Format format );`
|
||||
Gets the three-dimensional extent of texel blocks.
|
||||
Gets the three-dimensional extent of texel blocks.
|
||||
- `uin8_t blockSize( vk::Format format );`
|
||||
Gets the texel block size of this format in bytes.
|
||||
- `char const * compatibilityClass( VULKAN_HPP_NAMESPACE::Format format );`
|
||||
|
|
@ -750,17 +770,18 @@ With the additional header [`vulkan_format_traits.hpp`](vulkan/vulkan_format_tra
|
|||
- `uint8_t texelsPerBlock( vk::Format format );`
|
||||
Gets the number of texels in a texel block.
|
||||
|
||||
### Hashing Vulkan types <a id='hashing'>
|
||||
### Hashing Vulkan types
|
||||
|
||||
With the additional header [`vulkan_hash.hpp`](vulkan/vulkan_hash.hpp), you get specializations of `std::hash` for the handle wrapper classes and, with C++14, for the structure wrappers. With `VULKAN_HPP_HASH_COMBINE`, you can define your own hash combining algorithm for the structure elements.
|
||||
|
||||
### Extension Inspection <a id='extension_inspection'>
|
||||
### Extension Inspection
|
||||
|
||||
With the additional header [`vulkan_extension_inspection.hpp`](vulkan/vulkan_extension_inspection.hpp), some functions to inspect extensions are provided. With C++20 and above, some of those functions are marked as `constexpr`, that is with appropriate arguments, they are resolved at compile time.
|
||||
Each extension is identified by a string holding its name. Note that there exists a define with that name for each extension.
|
||||
Some functions might provide information that depends on the vulkan version. As all functions here work solely on strings, the vulkan versions are encoded by a string beginning with "VK_VERSION_", followed by the major and the minor version, separated by an undersore, like this: "VK_VERSION_1_0".
|
||||
|
||||
- `std::set<std::string> const & getDeviceExtensions();`
|
||||
Gets all device extensions specified for the current platform. Note, that not all of them might be supported by the actual devices.
|
||||
Gets all device extensions specified for the current platform. Note, that not all of them might be supported by the actual devices.
|
||||
- `std::set<std::string> const & getInstanceExtensions();`
|
||||
Gets all instance extensions specified for the current platform. Note, that not all of them might be supported by the actual instances.
|
||||
- `std::map<std::string, std::string> const & getDeprecatedExtensions();`
|
||||
|
|
@ -790,36 +811,36 @@ Some functions might provide information that depends on the vulkan version. As
|
|||
- `VULKAN_HPP_CONSTEXPR_20 bool isPromotedExtension( std::string const & extension );`
|
||||
Returns `true` if the given extension is promoted to some other extension or vulkan version.
|
||||
|
||||
### C++20 named module <a id='named_module'>
|
||||
### C++20 named module
|
||||
|
||||
> [!WARNING]
|
||||
> The current version of Microsoft Visual Studio 2022 is not able to handle the vulkan.cppm module. A bug is filed (<https://developercommunity.visualstudio.com/t/On-building-a-C20-module:-fatal--error/10469799#T-ND10485943>). You can at least use this feature if you don't need or want to use `vk::UniqueHandle` or `vk::SharedHandle` by defining `VULKAN_HPP_NO_SMART_HANDLE`.
|
||||
|
||||
#### Overview <a id='named_module_overview'>
|
||||
#### Overview
|
||||
|
||||
Vulkan-Hpp provides a [C++ named module](https://en.cppreference.com/w/cpp/language/modules), `vulkan_hpp` in [`vulkan.cppm`](vulkan/vulkan.cppm).
|
||||
C++ modules are intended to supersede header files. Modules have potential to drastically improve compilation times for large projects, as declarations and definitions may be easily shared across translation units without repeatedly parsing headers.
|
||||
Vulkan-Hpp has some extremely long headers (e.g. [`vulkan_structs.hpp`](vulkan/vulkan_structs.hpp)), and the C++ module is likely to shorten compile times for projects currently using it.
|
||||
|
||||
#### Compiler support <a id='compiler_support'>
|
||||
#### Compiler support
|
||||
|
||||
This feature requires a recent compiler with complete C++20 support:
|
||||
|
||||
* Visual Studio 2019 16.10 or later (providing `cl.exe` 19.28 or later)
|
||||
* Clang 15.0.0 or later
|
||||
- Visual Studio 2019 16.10 or later (providing `cl.exe` 19.28 or later)
|
||||
- Clang 15.0.0 or later
|
||||
|
||||
If you intend to use CMake's C++ module support (and possibly Ninja), then more recent tools are required:
|
||||
|
||||
* Visual Studio 2022 17.4 or later (providing `cl.exe` 19.34 or later)
|
||||
* Clang 17.0.0 or later
|
||||
* GCC 14.0 or later
|
||||
* CMake 3.28 or later
|
||||
* Ninja 1.10.2 or later
|
||||
- Visual Studio 2022 17.4 or later (providing `cl.exe` 19.34 or later)
|
||||
- Clang 17.0.0 or later
|
||||
- GCC 14.0 or later
|
||||
- CMake 3.28 or later
|
||||
- Ninja 1.10.2 or later
|
||||
|
||||
> [!WARNING]
|
||||
> The Vulkan-Hpp C++ named module is still experimental. Some suggested ways to use it in your projects are below. The long-term goal is to submit patches to the CMake [`FindVulkan`](https://cmake.org/cmake/help/latest/module/FindVulkan.html) module so that users may transparently configure the named module, without needing to declare it as an additional library in consumer CMake code.
|
||||
|
||||
##### Usage with CMake <a id='cmake_usage'>
|
||||
##### Usage with CMake
|
||||
|
||||
CMake is recommended for use with the Vulkan-Hpp named module, as it provides a convenient platform-agnostic way to configure your project.
|
||||
CMake version 3.28 or later is required to support C++ modules. Refer to the [CMake documentation](https://cmake.org/cmake/help/latest/manual/cmake-cxxmodules.7.html) on the topic.
|
||||
|
|
@ -907,7 +928,7 @@ An example is provided in [`tests/Cpp20Modules/Cpp20Modules.cpp`](tests/Cpp20Mod
|
|||
Finally, you can configure and build your project as usual.
|
||||
Note that CMake currently only supports the Ninja and Visual Studio generators for C++ modules.
|
||||
|
||||
##### Command-line usage <a id='command_line_usage'>
|
||||
##### Command-line usage
|
||||
|
||||
If you want to use the Vulkan-Hpp C++ module without CMake, you must first pre-compile it, and then import it into your project.
|
||||
You will also need to define any macros that control various features of Vulkan-Hpp, such as `VULKAN_HPP_NO_EXCEPTIONS` and `VULKAN_HPP_NO_SMART_HANDLE`.
|
||||
|
|
@ -931,181 +952,180 @@ clang++ -std=c++20 -fprebuilt-module-path=. main.cpp vulkan.pcm -o main
|
|||
|
||||
More information about module compilation may be found at the respective compiler's documentation:
|
||||
|
||||
* [MSVC](https://learn.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-170)
|
||||
* [Clang](https://clang.llvm.org/docs/StandardCPlusPlusModules.html)
|
||||
- [MSVC](https://learn.microsoft.com/en-us/cpp/cpp/modules-cpp?view=msvc-170)
|
||||
- [Clang](https://clang.llvm.org/docs/StandardCPlusPlusModules.html)
|
||||
|
||||
### Samples and Tests <a id='samples_and_tests'>
|
||||
### Samples and Tests
|
||||
|
||||
When you configure your project using CMake, you can enable SAMPLES_BUILD to add some sample projects to your solution. Most of them are ports from the LunarG samples, but there are some more, like CreateDebugUtilsMessenger, InstanceVersion, PhysicalDeviceDisplayProperties, PhysicalDeviceExtensions, PhysicalDeviceFeatures, PhysicalDeviceGroups, PhysicalDeviceMemoryProperties, PhysicalDeviceProperties, PhysicalDeviceQueueFamilyProperties, and RayTracing. All those samples should just compile and run.
|
||||
When you configure your project using CMake, you can enable TESTS_BUILD to add some test projects to your solution. Those tests are just compilation tests and are not required to run.
|
||||
|
||||
### Compile time issues <a id='compile_time_issues'>
|
||||
### Compile time issues
|
||||
|
||||
As `vulkan.hpp` is pretty big, some compilers might need some time to digest all that stuff. In order to potentially reduce the time needed to compile that header, a couple of defines will be introduced, that allow you to hide certain features. Whenever you don't need that corresponding feature, defining that value might improve your compile time.
|
||||
Currently, there are just a couple of such defines:
|
||||
|
||||
- `VULKAN_HPP_NO_SPACESHIP_OPERATOR`, which removes the spaceship operator on structures (available with C++20)
|
||||
- `VULKAN_HPP_NO_TO_STRING`, which removes the various `vk::to_string` functions on enums and bitmasks.
|
||||
- `VULKAN_HPP_USE_REFLECT`, this one needs to be defined to use the reflection function on structures. It's very slow to compile, though!
|
||||
|
||||
### Strict aliasing issue <a id='strict_aliasing_issue'>
|
||||
### Strict aliasing issue
|
||||
|
||||
As Vulkan-Hpp often needs to switch between C++ vk-types and corresponding bit-identical C-types, using `reinterpret_cast`, it is highly recommended to use the compile option `-fno-strict-aliasing` to prevent potentially breaking compile optimizations.
|
||||
|
||||
## Configuration Options <a id='options'>
|
||||
## Configuration Options
|
||||
|
||||
There are a couple of defines you can use to control the feature set and behaviour of `vulkan.hpp`:
|
||||
|
||||
#### VULKAN_HPP_ASSERT <a id='assert'>
|
||||
### `VULKAN_HPP_ASSERT`
|
||||
|
||||
At various places in `vulkan.hpp` an assertion statement is used. By default, the standard assert funtions from `<cassert>` is called. By defining `VULKAN_HPP_ASSERT` before including `vulkan.hpp`, you can change that to any function with the very same interface.
|
||||
|
||||
#### VULKAN_HPP_ASSERT_ON_RESULT <a id='assert_on_result'>
|
||||
### `VULKAN_HPP_ASSERT_ON_RESULT`
|
||||
|
||||
If there are no exceptions enabled (see `VULKAN_HPP_NO_EXCEPTIONS`), an assertion statement checks for a valid success code returned from every vulkan call. By default, this is the very same assert function as defined by `VULKAN_HPP_ASSERT`, but by defining `VULKAN_HPP_ASSERT_ON_RESULT` you can replace just those assertions with your own function, using the very same interface.
|
||||
|
||||
#### VULKAN_HPP_DEFAULT_DISPATCHER <a id='default_dispatcher'>
|
||||
### `VULKAN_HPP_DEFAULT_DISPATCHER`
|
||||
|
||||
Every vk-function gets a Dispatcher as its very last argument, which defaults to `VULKAN_HPP_DEFAULT_DISPATCHER`. If `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC` is defined to be `1`, it is `vk::detail::defaultDispatchLoaderDynamic`. This in turn is the dispatcher instance, which is defined by `VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE`, which has to be used exactly once in your sources. If, on the other hand, `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC` is defined to something different from `1`, `VULKAN_HPP_DEFAULT_DISPATCHER` is set to be `vk::detail::DispatchLoaderStatic()`.
|
||||
You can use your own default dispatcher by setting `VULKAN_HPP_DEFAULT_DISPATCHER` to an object that provides the same API. If you explicitly set `VULKAN_HPP_DEFAULT_DISPATCHER`, you need to set `VULKAN_HPP_DEFAULT_DISPATCHER_TYPE` accordingly as well.
|
||||
|
||||
#### VULKAN_HPP_DEFAULT_DISPATCHER_TYPE <a id='default_dispatcher_type'>
|
||||
### `VULKAN_HPP_DEFAULT_DISPATCHER_TYPE`
|
||||
|
||||
This names the default dispatcher type, as specified by `VULKAN_HPP_DEFAULT_DISPATCHER`. Per default, it is `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE` or `VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE`, depending on `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC` being `1` or not `1`, respectively. If you explicitly set `VULKAN_HPP_DEFAULT_DISPATCHER`, you need to set `VULKAN_HPP_DEFAULT_DISPATCHER_TYPE` accordingly as well.
|
||||
|
||||
#### VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE <a id='default_dispatch_loader_dynamic_storage'>
|
||||
### `VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE`
|
||||
|
||||
If you have not defined your own `VULKAN_HPP_DEFAULT_DISPATCHER`, and have `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC` defined to be `1` (the default), you need to have the macro `VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE` exactly once in any of your source files to provide storage for that default dispatcher. `VULKAN_HPP_STORAGE_API` then controls the import/export status of that default dispatcher.
|
||||
|
||||
#### VULKAN_HPP_DISABLE_ENHANCED_MODE <a id='disable_enhanced_mode'>
|
||||
### `VULKAN_HPP_DISABLE_ENHANCED_MODE`
|
||||
|
||||
When this is defined before including `vulkan.hpp`, you essentially disable all enhanced functionality. All you then get is:
|
||||
* improved compile time error detection, via scoped enums;
|
||||
* usage of the helper class `vk::Flags` for bitmasks;
|
||||
* wrapper structs for all vulkan structs providing default initialization;
|
||||
* the helper class `vk::StructureChain` for compile-time construction of structure chains.
|
||||
|
||||
- improved compile time error detection, via scoped enums;
|
||||
- usage of the helper class `vk::Flags` for bitmasks;
|
||||
- wrapper structs for all vulkan structs providing default initialization;
|
||||
- the helper class `vk::StructureChain` for compile-time construction of structure chains.
|
||||
|
||||
If this is not defined, you additionally get:
|
||||
* enhanced versions of the commands (consuming `vk::ArrayProxy<>`), simplifying handling of array data; returning requested data; throwing exceptions on errors (as long as `VULKAN_HPP_NO_EXCEPTIONS` is not defined);
|
||||
* enhanced structure constructors (as long as `VULKAN_HPP_NO_STRUCT_CONSTRUCTORS` is not defined) (consuming `vk::ArrayProxyNoTemporaries<>`);
|
||||
* enhanced setter functions on some members of structs (consuming `vk::ArrayProxyNoTemporaries<>`);
|
||||
* the helper classes `vk::ArrayProxy<>` and `vk::ArrayProxyNoTemporaries<>`
|
||||
* all the RAII-stuff in `vulkan_raii.hpp`
|
||||
|
||||
#### VULKAN_HPP_DISPATCH_LOADER_DYNAMIC <a id='dispatch_loader_dynamic'>
|
||||
- enhanced versions of the commands (consuming `vk::ArrayProxy<>`), simplifying handling of array data; returning requested data; throwing exceptions on errors (as long as `VULKAN_HPP_NO_EXCEPTIONS` is not defined);
|
||||
- enhanced structure constructors (as long as `VULKAN_HPP_NO_STRUCT_CONSTRUCTORS` is not defined) (consuming `vk::ArrayProxyNoTemporaries<>`);
|
||||
- enhanced setter functions on some members of structs (consuming `vk::ArrayProxyNoTemporaries<>`);
|
||||
- the helper classes `vk::ArrayProxy<>` and `vk::ArrayProxyNoTemporaries<>`
|
||||
- all the RAII-stuff in `vulkan_raii.hpp`
|
||||
|
||||
### `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC`
|
||||
|
||||
This either selects the dynamic (when it's `1`) or the static (when it's not `1`) DispatchLoader as the default one, as long as it's not explicitly specified by `VULKAN_HPP_DEFAULT_DISPATCHER`. By default, this is defined to be `1` if `VK_NO_PROTOTYPES` is defined, otherwise `0`.
|
||||
|
||||
#### VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE <a id='dispatch_loader_dynamic_type'>
|
||||
### `VULKAN_HPP_DISPATCH_LOADER_DYNAMIC_TYPE`
|
||||
|
||||
The type of the dynamic dispatch loader. By default, it's vk::detail::DispatchLoaderDynamic. You can define this before including vulkan.hpp to use your own dynamic dispatcher.
|
||||
|
||||
#### VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE <a id='dispatch_loader_static_type'>
|
||||
### `VULKAN_HPP_DISPATCH_LOADER_STATIC_TYPE`
|
||||
|
||||
The type of the static dispatch loader. By default, it's vk::detail::DispatchLoaderStatic. You can define this before including vulkan.hpp to use your own static dispatcher.
|
||||
|
||||
#### VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL <a id='enable_dynamic_loader_tool'>
|
||||
### `VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL`
|
||||
|
||||
By default, a little helper class `vk::detail::DynamicLoader` is used to dynamically load the vulkan library. If you set it to something different than `1` before including `vulkan.hpp`, this helper is not available, and you need to explicitly provide your own loader type for the function `vk::detail::DispatchLoaderDynamic::init()`.
|
||||
|
||||
#### VULKAN_HPP_EXPECTED <a id='expected'>
|
||||
### `VULKAN_HPP_EXPECTED`
|
||||
|
||||
When this is not externally defined and `VULKAN_HPP_CPP_VERSION` is at least `23`, `VULKAN_HPP_EXPECTED` is defined to be `std::expected`, and `VULKAN_HPP_UNEXPECTED` is defined to be `std::unexpected`.
|
||||
|
||||
#### VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC <a id='flags_mask_type_as_public'>
|
||||
### `VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC`
|
||||
|
||||
By default, the member `m_mask` of the `Flags` class template is private. This is to prevent accidentally setting a `Flags` with some inappropriate value. But it also prevents using a `Flags`, or a structure holding a `Flags`, to be used as a non-type template parameter. If you really need that functionality, and accept the reduced security, you can use this define to change the access specifier for `m_mask` from private to public, which allows using a `Flags` as a non-type template parameter.
|
||||
|
||||
#### VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS <a id='handle_error_out_of_date_as_success'>
|
||||
### `VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS`
|
||||
|
||||
By default, `VK_ERROR_OUT_OF_DATE_KHR` is an error code. To prevent throwing an exception or, in case exceptions are turned off via `VULKAN_HPP_NO_EXCEPTIONS`, firing an assertion on this return value, you can define `VULKAN_HPP_HANDLE_ERROR_OUT_OF_DATE_AS_SUCCESS`. `VK_ERROR_OUT_OF_DATE_KHR` will then be handled like a success code.
|
||||
|
||||
#### VULKAN_HPP_HANDLES_MOVE_EXCHANGE <a id='handles_move_exchange'>
|
||||
### `VULKAN_HPP_HANDLES_MOVE_EXCHANGE`
|
||||
|
||||
This define can be used to enable `m_handle = exchange( rhs.m_handle, {} )` in move constructors of Vulkan-Hpp handles, which default-initializes the `rhs` underlying value. By default Vulkan-Hpp handles behave like trivial types -- move constructors copying value.
|
||||
|
||||
#### VULKAN_HPP_HASH_COMBINE <a id='hash_combine'>
|
||||
### `VULKAN_HPP_HASH_COMBINE`
|
||||
|
||||
This define can be used to specify your own hash combiner function. In order to determine the hash of a vk-structure, the hashes of the members of that struct are to be combined. This is done by this define, which by default is identical to what the function `boost::hash_combine()` does. It gets the type of the to-be-combined value, the seed, which is the combined value up to that point, and finally the to-be-combined value. This hash calculation determines a "shallow" hash, as it takes the hashes of any pointer in a structure, and not the hash of a pointed-to value.
|
||||
|
||||
#### VULKAN_HPP_INLINE <a id='inline'>
|
||||
### `VULKAN_HPP_INLINE`
|
||||
|
||||
This is set to be the compiler-dependent attribute used to mark functions as inline. If your compiler happens to need some different attribute, you can set this define accordingly before including `vulkan.hpp`.
|
||||
|
||||
#### VULKAN_HPP_NAMESPACE <a id='namespace'>
|
||||
### `VULKAN_HPP_NAMESPACE`
|
||||
|
||||
By default, the namespace used with `vulkan.hpp` is `vk`. By defining `VULKAN_HPP_NAMESPACE` before including `vulkan.hpp`, you can adjust this.
|
||||
|
||||
#### VULKAN_HPP_NO_CONSTRUCTORS <a id='no_constructors'>
|
||||
### `VULKAN_HPP_NO_CONSTRUCTORS`
|
||||
|
||||
With C++20, designated initializers are available. Their use requires the absence of any user-defined constructors. Define `VULKAN_HPP_NO_CONSTRUCTORS` to remove constructors from structs and unions.
|
||||
|
||||
#### VULKAN_HPP_NO_EXCEPTIONS <a id='no_exceptions'>
|
||||
### `VULKAN_HPP_NO_EXCEPTIONS`
|
||||
|
||||
When a vulkan function returns an error code that is not specified to be a success code, an exception is thrown unless `VULKAN_HPP_NO_EXCEPTIONS` is defined before including `vulkan.hpp`.
|
||||
|
||||
#### VULKAN_HPP_NO_NODISCARD_WARNINGS <a id='no_discard_warnings'>
|
||||
### `VULKAN_HPP_NO_NODISCARD_WARNINGS`
|
||||
|
||||
With C++17, all vk-functions returning something are declared with the attribute `[[nodiscard]]`. This can be removed by defining `VULKAN_HPP_NO_NODISCARD_WARNINGS` before including `vulkan.hpp`.
|
||||
|
||||
#### VULKAN_HPP_NO_SETTERS <a id='no_setters'>
|
||||
### `VULKAN_HPP_NO_SETTERS`
|
||||
|
||||
By defining `VULKAN_HPP_NO_SETTERS` before including `vulkan.hpp`, setter member functions will not be available within structs and unions. Modifying their data members will then only be possible via direct assignment.
|
||||
|
||||
#### VULKAN_HPP_NO_SMART_HANDLE <a id='no_smart_handle'>
|
||||
### `VULKAN_HPP_NO_SMART_HANDLE`
|
||||
|
||||
By defining `VULKAN_HPP_NO_SMART_HANDLE` before including `vulkan.hpp`, the helper class `vk::UniqueHandle` and all the unique handle types are not available.
|
||||
|
||||
#### VULKAN_HPP_NO_SPACESHIP_OPERATOR <a id='no_spaceship_operator'>
|
||||
### `VULKAN_HPP_NO_SPACESHIP_OPERATOR`
|
||||
|
||||
With C++20, the so-called spaceship-operator `<=>` is introduced. If that operator is supported, all the structs and classes in vulkan.hpp use the default implementation of it. As currently some implementations of this operator are very slow, and others seem to be incomplete, by defining `VULKAN_HPP_NO_SPACESHIP_OPERATOR` before including `vulkan.hpp` you can remove that operator from those structs and classes.
|
||||
|
||||
#### VULKAN_HPP_NO_STD_MODULE <a id='no_std_module'>
|
||||
|
||||
When compiling the `vulkan.cppm` module with C++23, it will automatically try to use `import std`.
|
||||
There might be cases where your toolchain is not set up to deal with `import std` or wrongfully defines `__cpp_lib_modules`, for which you can define `VULKAN_HPP_NO_STD_MODULE` to disable `import std` altogether.
|
||||
|
||||
#### VULKAN_HPP_NO_TO_STRING <a id='no_to_string'>
|
||||
### `VULKAN_HPP_NO_TO_STRING`
|
||||
|
||||
By default, the file [`vulkan_to_string.hpp`](vulkan/vulkan_to_string.hpp) is included by `vulkan.hpp` and provides functions `vk::to_string` for enums and bitmasks. If you don't need those functions, you can define `VULKAN_HPP_NO_TO_STRING` to prevent that inclusion. If you have certain files where you want to use those functions nevertheless, you can explicitly include `vulkan_to_string.hpp` there.
|
||||
|
||||
#### VULKAN_HPP_NO_WIN32_PROTOTYPES <a id='no_win32_prototypes'>
|
||||
### `VULKAN_HPP_NO_WIN32_PROTOTYPES`
|
||||
|
||||
By default, if `VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL` is enabled on Win32, `vulkan.hpp` declares `HINSTANCE`, `LoadLibraryA`, and other required symbols. It could cause conflicts with the `Windows.h` alternatives, such as `WindowsHModular`.
|
||||
With this define, you can disable these declarations, but you will have to declare them before the `vulkan.hpp` is included.
|
||||
|
||||
#### VULKAN_HPP_RAII_NO_EXCEPTIONS <a id='raii_no_exceptions'>
|
||||
### `VULKAN_HPP_RAII_NO_EXCEPTIONS`
|
||||
|
||||
If both, `VULKAN_HPP_NO_EXCEPTIONS` and `VULKAN_HPP_EXPECTED` are defined, the vk::raii-classes don't throw exceptions. That is, the actual constructors are not available, but the creation-functions must be used. For more details have a look at the [`vk_raii_ProgrammingGuide.md`](vk_raii_ProgrammingGuide.md).
|
||||
|
||||
#### VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST <a id='smart_handle_implicit_cast'>
|
||||
### `VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST`
|
||||
|
||||
Even though `vk::UniqueHandle` and `vk::SharedHandle` are semantically close to pointers, an implicit cast operator to the underlying `vk::Handle` might be handy. You can add that implicit cast operator by defining `VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST`.
|
||||
|
||||
#### VULKAN_HPP_STORAGE_API <a id='storage_api'>
|
||||
### `VULKAN_HPP_STORAGE_API`
|
||||
|
||||
With this define you can specify whether the `vk::detail::DispatchLoaderDynamic` is imported or exported (see `VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE`). If `VULKAN_HPP_STORAGE_API` is not defined externally, and `VULKAN_HPP_STORAGE_SHARED` is defined, depending on the `VULKAN_HPP_STORAGE_SHARED_EXPORT` being defined, `VULKAN_HPP_STORAGE_API` is either set to `__declspec( dllexport )` (for MSVC) / `__attribute__( ( visibility( "default" ) ) )` (for gcc or clang) or `__declspec( dllimport )` (for MSVC), respectively. For other compilers, you might specify the corresponding storage by defining `VULKAN_HPP_STORAGE_API` on your own.
|
||||
|
||||
#### VULKAN_HPP_TYPESAFE_CONVERSION <a id='typesafe_conversion'>
|
||||
### `VULKAN_HPP_TYPESAFE_CONVERSION`
|
||||
|
||||
32-bit vulkan is not typesafe for non-dispatchable handles, so we don't allow copy constructors on this platform by default. To enable this feature on 32-bit platforms, `#define VULKAN_HPP_TYPESAFE_CONVERSION 1`. To disable this feature on 64-bit platforms, `#define VULKAN_HPP_TYPESAFE_CONVERSION 0`.
|
||||
|
||||
#### VULKAN_HPP_UNEXPECTED <a id='unexpected'>
|
||||
### `VULKAN_HPP_UNEXPECTED`
|
||||
|
||||
See [`VULKAN_HPP_EXPECTED`](#expected).
|
||||
|
||||
#### VULKAN_HPP_USE_REFLECT <a id='use_reflect'>
|
||||
### `VULKAN_HPP_USE_REFLECT`
|
||||
|
||||
With this define you can include a reflection mechanism on the vk-structures. It adds a function `reflect` that returns a tuple-version of the structure. That tuple then could easily be iterated. But at least for now, that feature takes lots of compile-time resources, so currently it is recommended to enable that feature only if you're willing to pay that price.
|
||||
|
||||
## See Also <a id='see_also'>
|
||||
## Contributing
|
||||
|
||||
Feel free to submit a PR to add to this list.
|
||||
|
||||
- [Examples](https://github.com/jherico/vulkan) A port of Sascha Willems [examples](https://github.com/SaschaWillems/Vulkan) to Vulkan-Hpp
|
||||
- [Vookoo](https://github.com/andy-thomason/Vookoo/) Stateful helper classes for Vulkan-Hpp, [Introduction Article](https://accu.org/journals/overload/25/139/overload139.pdf#page=14).
|
||||
|
||||
## License <a id='license'>
|
||||
## License
|
||||
|
||||
```
|
||||
Copyright 2015-2020 The Khronos Group Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
|
@ -1119,3 +1139,5 @@ distributed under the License is distributed on an "AS IS" BASIS,
|
|||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 3dda5a1a87b62fdf3baf4680edc41c00e85a7a22
|
||||
Subproject commit 39c50d7bf094853a1f9a2e8a7e3377d425ae0c6a
|
||||
|
|
@ -5480,8 +5480,8 @@ std::string VulkanHppGenerator::generateCppModuleUsings() const
|
|||
using VULKAN_HPP_NAMESPACE::detail::getDispatchLoaderStatic;
|
||||
#endif /*VK_NO_PROTOTYPES*/
|
||||
using VULKAN_HPP_NAMESPACE::detail::createResultValueType;
|
||||
using VULKAN_HPP_NAMESPACE::detail::isDispatchLoader;
|
||||
using VULKAN_HPP_NAMESPACE::detail::resultCheck;
|
||||
using VULKAN_HPP_NAMESAPCE::detail::isDispatchLoader;
|
||||
}
|
||||
#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
|
||||
namespace VULKAN_HPP_RAII_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderStatic;
|
||||
using VULKAN_HPP_NAMESPACE::detail::getDispatchLoaderStatic;
|
||||
#endif /*VK_NO_PROTOTYPES*/
|
||||
using VULKAN_HPP_NAMESAPCE::detail::isDispatchLoader;
|
||||
using VULKAN_HPP_NAMESPACE::detail::createResultValueType;
|
||||
using VULKAN_HPP_NAMESPACE::detail::isDispatchLoader;
|
||||
using VULKAN_HPP_NAMESPACE::detail::resultCheck;
|
||||
} // namespace detail
|
||||
#if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
|
||||
|
|
@ -922,9 +922,6 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
using VULKAN_HPP_NAMESPACE::PresentScalingFlagsEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PresentScalingFlagsKHR;
|
||||
|
||||
//=== VK_NV_ray_tracing_invocation_reorder ===
|
||||
using VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV;
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
using VULKAN_HPP_NAMESPACE::ComponentTypeKHR;
|
||||
using VULKAN_HPP_NAMESPACE::ComponentTypeNV;
|
||||
|
|
@ -1027,6 +1024,10 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
using VULKAN_HPP_NAMESPACE::AccessFlagBits3KHR;
|
||||
using VULKAN_HPP_NAMESPACE::AccessFlags3KHR;
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
using VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeEXT;
|
||||
using VULKAN_HPP_NAMESPACE::RayTracingInvocationReorderModeNV;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
using VULKAN_HPP_NAMESPACE::DepthClampModeEXT;
|
||||
|
||||
|
|
@ -2891,6 +2892,10 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
using VULKAN_HPP_NAMESPACE::KHRShaderFmaExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::KHRShaderFmaSpecVersion;
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
using VULKAN_HPP_NAMESPACE::EXTRayTracingInvocationReorderExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::EXTRayTracingInvocationReorderSpecVersion;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
using VULKAN_HPP_NAMESPACE::EXTDepthClampControlExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::EXTDepthClampControlSpecVersion;
|
||||
|
|
@ -2979,6 +2984,10 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::EXTShader64BitIndexingSpecVersion;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
using VULKAN_HPP_NAMESPACE::EXTCustomResolveExtensionName;
|
||||
using VULKAN_HPP_NAMESPACE::EXTCustomResolveSpecVersion;
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
using VULKAN_HPP_NAMESPACE::DataGraphModelToolchainVersionLengthQCOM;
|
||||
using VULKAN_HPP_NAMESPACE::QCOMDataGraphModelExtensionName;
|
||||
|
|
@ -4862,7 +4871,6 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM;
|
||||
|
||||
//=== VK_NV_ray_tracing_invocation_reorder ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV;
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
|
|
@ -5184,6 +5192,11 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_KHR_shader_fma ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFmaFeaturesKHR;
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
using VULKAN_HPP_NAMESPACE::DepthClampRangeEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampControlFeaturesEXT;
|
||||
|
|
@ -5283,6 +5296,11 @@ export namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_EXT_shader_64bit_indexing ===
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
using VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT;
|
||||
using VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT;
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
using VULKAN_HPP_NAMESPACE::DataGraphPipelineBuiltinModelCreateInfoQCOM;
|
||||
using VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphModelFeaturesQCOM;
|
||||
|
|
@ -8691,8 +8709,6 @@ export namespace std
|
|||
//=== VK_NV_ray_tracing_invocation_reorder ===
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV>;
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV>;
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
template <>
|
||||
|
|
@ -9214,6 +9230,12 @@ export namespace std
|
|||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFmaFeaturesKHR>;
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>;
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampControlFeaturesEXT>;
|
||||
|
|
@ -9350,6 +9372,14 @@ export namespace std
|
|||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>;
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>;
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>;
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM>;
|
||||
|
|
@ -10579,6 +10609,9 @@ export
|
|||
//=== VK_EXT_fragment_density_map_offset ===
|
||||
using ::PFN_vkCmdEndRendering2EXT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
using ::PFN_vkCmdBeginCustomResolveEXT;
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
using ::PFN_vkCmdEndRendering2KHR;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
|
|||
# endif
|
||||
#endif
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 332, "Wrong VK_HEADER_VERSION!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( VK_HEADER_VERSION == 333, "Wrong VK_HEADER_VERSION!" );
|
||||
|
||||
// <tuple> includes <sys/sysmacros.h> through some other header
|
||||
// this results in major(x) being resolved to gnu_dev_major(x)
|
||||
|
|
@ -6598,6 +6598,13 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
return ::vkCmdEndRendering2EXT( commandBuffer, pRenderingEndInfo );
|
||||
}
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
|
||||
void vkCmdBeginCustomResolveEXT( VkCommandBuffer commandBuffer, const VkBeginCustomResolveInfoEXT * pBeginCustomResolveInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return ::vkCmdBeginCustomResolveEXT( commandBuffer, pBeginCustomResolveInfo );
|
||||
}
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
|
||||
void vkCmdEndRendering2KHR( VkCommandBuffer commandBuffer, const VkRenderingEndInfoKHR * pRenderingEndInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
|
|
@ -9456,6 +9463,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFmaExtensionName = VK_KHR_SHADER_FMA_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFmaSpecVersion = VK_KHR_SHADER_FMA_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTRayTracingInvocationReorderExtensionName = VK_EXT_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTRayTracingInvocationReorderSpecVersion = VK_EXT_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlExtensionName = VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlSpecVersion = VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION;
|
||||
|
|
@ -9544,6 +9555,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingExtensionName = VK_EXT_SHADER_64BIT_INDEXING_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShader64BitIndexingSpecVersion = VK_EXT_SHADER_64BIT_INDEXING_SPEC_VERSION;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomResolveExtensionName = VK_EXT_CUSTOM_RESOLVE_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomResolveSpecVersion = VK_EXT_CUSTOM_RESOLVE_SPEC_VERSION;
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto QCOMDataGraphModelExtensionName = VK_QCOM_DATA_GRAPH_MODEL_EXTENSION_NAME;
|
||||
VULKAN_HPP_CONSTEXPR_INLINE auto QCOMDataGraphModelSpecVersion = VK_QCOM_DATA_GRAPH_MODEL_SPEC_VERSION;
|
||||
|
|
@ -17458,24 +17473,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceCooperativeVectorPropertiesNV, PhysicalDeviceProperties2>
|
||||
|
|
@ -19182,6 +19179,34 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesEXT, PhysicalDeviceProperties2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceDepthClampControlFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
|
|
@ -19720,6 +19745,52 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
};
|
||||
};
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceCustomResolveFeaturesEXT, PhysicalDeviceFeatures2>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<PhysicalDeviceCustomResolveFeaturesEXT, DeviceCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<CustomResolveCreateInfoEXT, GraphicsPipelineCreateInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<CustomResolveCreateInfoEXT, CommandBufferInheritanceInfo>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
template <>
|
||||
struct StructExtends<CustomResolveCreateInfoEXT, ShaderCreateInfoEXT>
|
||||
{
|
||||
enum
|
||||
{
|
||||
value = true
|
||||
};
|
||||
};
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
template <>
|
||||
struct StructExtends<DataGraphPipelineBuiltinModelCreateInfoQCOM, DataGraphPipelineCreateInfoARM>
|
||||
|
|
@ -21249,6 +21320,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_EXT_fragment_density_map_offset ===
|
||||
PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT = 0;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
PFN_vkCmdBeginCustomResolveEXT vkCmdBeginCustomResolveEXT = 0;
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR = 0;
|
||||
|
||||
|
|
@ -22891,6 +22965,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
if ( !vkCmdEndRendering2KHR )
|
||||
vkCmdEndRendering2KHR = vkCmdEndRendering2EXT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginCustomResolveEXT" ) );
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRendering2KHR" ) );
|
||||
}
|
||||
|
|
@ -24140,6 +24217,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
if ( !vkCmdEndRendering2KHR )
|
||||
vkCmdEndRendering2KHR = vkCmdEndRendering2EXT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetDeviceProcAddr( device, "vkCmdBeginCustomResolveEXT" ) );
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRendering2KHR" ) );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1491,7 +1491,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
eReleaseSwapchainImagesInfoKHR = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR,
|
||||
eReleaseSwapchainImagesInfoEXT = VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT,
|
||||
ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM,
|
||||
ePhysicalDeviceRayTracingInvocationReorderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
|
||||
ePhysicalDeviceRayTracingInvocationReorderPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV,
|
||||
ePhysicalDeviceCooperativeVectorFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV,
|
||||
ePhysicalDeviceCooperativeVectorPropertiesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV,
|
||||
|
|
@ -1677,6 +1676,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
ePhysicalDeviceImageAlignmentControlPropertiesMESA = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA,
|
||||
eImageAlignmentControlCreateInfoMESA = VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA,
|
||||
ePhysicalDeviceShaderFmaFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR,
|
||||
ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT,
|
||||
ePhysicalDeviceRayTracingInvocationReorderFeaturesNV = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV,
|
||||
ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT,
|
||||
ePhysicalDeviceDepthClampControlFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT,
|
||||
ePipelineViewportDepthClampControlCreateInfoEXT = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT,
|
||||
ePhysicalDeviceMaintenance9FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR,
|
||||
|
|
@ -1733,6 +1735,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR,
|
||||
ePhysicalDevicePresentModeFifoLatestReadyFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT,
|
||||
ePhysicalDeviceShader64BitIndexingFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT,
|
||||
ePhysicalDeviceCustomResolveFeaturesEXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT,
|
||||
eBeginCustomResolveInfoEXT = VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT,
|
||||
eCustomResolveCreateInfoEXT = VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT,
|
||||
ePhysicalDeviceDataGraphModelFeaturesQCOM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM,
|
||||
eDataGraphPipelineBuiltinModelCreateInfoQCOM = VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM,
|
||||
ePhysicalDeviceMaintenance10FeaturesKHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR,
|
||||
|
|
@ -4174,8 +4179,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{
|
||||
ePerViewAttributesNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX,
|
||||
ePerViewPositionXOnlyNVX = VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX,
|
||||
eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
|
||||
eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM,
|
||||
eTileShadingApronQCOM = VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM,
|
||||
eRasterizationOrderAttachmentColorAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT,
|
||||
eRasterizationOrderAttachmentColorAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM,
|
||||
|
|
@ -4183,7 +4186,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
eRasterizationOrderAttachmentDepthAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM,
|
||||
eRasterizationOrderAttachmentStencilAccessEXT = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT,
|
||||
eRasterizationOrderAttachmentStencilAccessARM = VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM,
|
||||
eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT
|
||||
eEnableLegacyDitheringEXT = VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT,
|
||||
eFragmentRegionEXT = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT,
|
||||
eFragmentRegionQCOM = VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM,
|
||||
eCustomResolveEXT = VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT,
|
||||
eShaderResolveQCOM = VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
|
||||
};
|
||||
|
||||
// wrapper using for bitmask VkSubpassDescriptionFlags, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkSubpassDescriptionFlags.html
|
||||
|
|
@ -4196,9 +4203,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR SubpassDescriptionFlags allFlags =
|
||||
SubpassDescriptionFlagBits::ePerViewAttributesNVX | SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX |
|
||||
SubpassDescriptionFlagBits::eFragmentRegionQCOM | SubpassDescriptionFlagBits::eShaderResolveQCOM | SubpassDescriptionFlagBits::eTileShadingApronQCOM |
|
||||
SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT |
|
||||
SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT | SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT;
|
||||
SubpassDescriptionFlagBits::eTileShadingApronQCOM | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT |
|
||||
SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT | SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT |
|
||||
SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT | SubpassDescriptionFlagBits::eFragmentRegionEXT | SubpassDescriptionFlagBits::eCustomResolveEXT;
|
||||
};
|
||||
|
||||
// wrapper class for enum VkStencilFaceFlagBits, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkStencilFaceFlagBits.html
|
||||
|
|
@ -4765,8 +4772,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
eMin = VK_RESOLVE_MODE_MIN_BIT,
|
||||
eMax = VK_RESOLVE_MODE_MAX_BIT,
|
||||
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
|
||||
eExternalFormatDownsampleANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID
|
||||
eExternalFormatDownsampleANDROID = VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID,
|
||||
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
eCustomEXT = VK_RESOLVE_MODE_CUSTOM_BIT_EXT
|
||||
};
|
||||
|
||||
using ResolveModeFlagBitsKHR = ResolveModeFlagBits;
|
||||
|
|
@ -4785,7 +4793,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
|
||||
| ResolveModeFlagBits::eExternalFormatDownsampleANDROID
|
||||
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
;
|
||||
| ResolveModeFlagBits::eCustomEXT;
|
||||
};
|
||||
|
||||
//=== VK_VERSION_1_3 ===
|
||||
|
|
@ -5165,6 +5173,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
eContentsInlineKHR = VK_RENDERING_CONTENTS_INLINE_BIT_KHR,
|
||||
eContentsInlineEXT = VK_RENDERING_CONTENTS_INLINE_BIT_EXT,
|
||||
ePerLayerFragmentDensityVALVE = VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE,
|
||||
eFragmentRegionEXT = VK_RENDERING_FRAGMENT_REGION_BIT_EXT,
|
||||
eCustomResolveEXT = VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT,
|
||||
eLocalReadConcurrentAccessControlKHR = VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR
|
||||
};
|
||||
|
||||
|
|
@ -5179,10 +5189,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{
|
||||
using WrappedType = VkRenderingFlagBits;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR bool isBitmask = true;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags = RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending |
|
||||
RenderingFlagBits::eResuming | RenderingFlagBits::eEnableLegacyDitheringEXT |
|
||||
RenderingFlagBits::eContentsInlineKHR | RenderingFlagBits::ePerLayerFragmentDensityVALVE |
|
||||
RenderingFlagBits::eLocalReadConcurrentAccessControlKHR;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR RenderingFlags allFlags =
|
||||
RenderingFlagBits::eContentsSecondaryCommandBuffers | RenderingFlagBits::eSuspending | RenderingFlagBits::eResuming |
|
||||
RenderingFlagBits::eEnableLegacyDitheringEXT | RenderingFlagBits::eContentsInlineKHR | RenderingFlagBits::ePerLayerFragmentDensityVALVE |
|
||||
RenderingFlagBits::eFragmentRegionEXT | RenderingFlagBits::eCustomResolveEXT | RenderingFlagBits::eLocalReadConcurrentAccessControlKHR;
|
||||
};
|
||||
|
||||
//=== VK_VERSION_1_4 ===
|
||||
|
|
@ -8577,16 +8587,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
PresentGravityFlagBitsKHR::eMin | PresentGravityFlagBitsKHR::eMax | PresentGravityFlagBitsKHR::eCentered;
|
||||
};
|
||||
|
||||
//=== VK_NV_ray_tracing_invocation_reorder ===
|
||||
|
||||
// wrapper class for enum VkRayTracingInvocationReorderModeNV, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingInvocationReorderModeNV.html
|
||||
enum class RayTracingInvocationReorderModeNV
|
||||
{
|
||||
eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV,
|
||||
eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV
|
||||
};
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
|
||||
// wrapper class for enum VkCooperativeVectorMatrixLayoutNV, see
|
||||
|
|
@ -9336,6 +9336,18 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR AccessFlags3KHR allFlags = AccessFlagBits3KHR::eNone;
|
||||
};
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
|
||||
// wrapper class for enum VkRayTracingInvocationReorderModeEXT, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkRayTracingInvocationReorderModeEXT.html
|
||||
enum class RayTracingInvocationReorderModeEXT
|
||||
{
|
||||
eNone = VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT,
|
||||
eReorder = VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT
|
||||
};
|
||||
|
||||
using RayTracingInvocationReorderModeNV = RayTracingInvocationReorderModeEXT;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
|
||||
// wrapper class for enum VkDepthClampModeEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkDepthClampModeEXT.html
|
||||
|
|
|
|||
|
|
@ -483,6 +483,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
"VK_KHR_maintenance8",
|
||||
"VK_MESA_image_alignment_control",
|
||||
"VK_KHR_shader_fma",
|
||||
"VK_EXT_ray_tracing_invocation_reorder",
|
||||
"VK_EXT_depth_clamp_control",
|
||||
"VK_KHR_maintenance9",
|
||||
"VK_KHR_video_maintenance2",
|
||||
|
|
@ -508,6 +509,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
"VK_EXT_zero_initialize_device_memory",
|
||||
"VK_KHR_present_mode_fifo_latest_ready",
|
||||
"VK_EXT_shader_64bit_indexing",
|
||||
"VK_EXT_custom_resolve",
|
||||
"VK_QCOM_data_graph_model",
|
||||
"VK_KHR_maintenance10",
|
||||
"VK_SEC_pipeline_cache_incremental_mode",
|
||||
|
|
@ -2837,6 +2839,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_EXT_ray_tracing_invocation_reorder",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_ray_tracing_pipeline",
|
||||
} } } } },
|
||||
{ "VK_EXT_depth_clamp_control",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
|
|
@ -2985,6 +2992,12 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_EXT_custom_resolve",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
"VK_KHR_get_physical_device_properties2",
|
||||
} } },
|
||||
{ "VK_VERSION_1_1", { {} } } } },
|
||||
{ "VK_QCOM_data_graph_model",
|
||||
{ { "VK_VERSION_1_0",
|
||||
{ {
|
||||
|
|
@ -3092,6 +3105,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{ "VK_EXT_shader_viewport_index_layer", "VK_VERSION_1_2" },
|
||||
{ "VK_KHR_maintenance3", "VK_VERSION_1_1" },
|
||||
{ "VK_KHR_draw_indirect_count", "VK_VERSION_1_2" },
|
||||
{ "VK_QCOM_render_pass_shader_resolve", "VK_EXT_custom_resolve" },
|
||||
{ "VK_EXT_global_priority", "VK_KHR_global_priority" },
|
||||
{ "VK_KHR_shader_subgroup_extended_types", "VK_VERSION_1_2" },
|
||||
{ "VK_KHR_8bit_storage", "VK_VERSION_1_2" },
|
||||
|
|
@ -3154,6 +3168,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{ "VK_NV_memory_decompression", "VK_EXT_memory_decompression" },
|
||||
{ "VK_EXT_pipeline_protected_access", "VK_VERSION_1_4" },
|
||||
{ "VK_KHR_maintenance5", "VK_VERSION_1_4" },
|
||||
{ "VK_NV_ray_tracing_invocation_reorder", "VK_EXT_ray_tracing_invocation_reorder" },
|
||||
{ "VK_KHR_vertex_attribute_divisor", "VK_VERSION_1_4" },
|
||||
{ "VK_KHR_load_store_op_none", "VK_VERSION_1_4" },
|
||||
{ "VK_KHR_shader_float_controls2", "VK_VERSION_1_4" },
|
||||
|
|
@ -3424,6 +3439,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{
|
||||
return "VK_VERSION_1_2";
|
||||
}
|
||||
if ( extension == "VK_QCOM_render_pass_shader_resolve" )
|
||||
{
|
||||
return "VK_EXT_custom_resolve";
|
||||
}
|
||||
if ( extension == "VK_EXT_global_priority" )
|
||||
{
|
||||
return "VK_KHR_global_priority";
|
||||
|
|
@ -3668,6 +3687,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{
|
||||
return "VK_VERSION_1_4";
|
||||
}
|
||||
if ( extension == "VK_NV_ray_tracing_invocation_reorder" )
|
||||
{
|
||||
return "VK_EXT_ray_tracing_invocation_reorder";
|
||||
}
|
||||
if ( extension == "VK_KHR_vertex_attribute_divisor" )
|
||||
{
|
||||
return "VK_VERSION_1_4";
|
||||
|
|
@ -3937,7 +3960,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
( extension == "VK_NV_ray_tracing_validation" ) || ( extension == "VK_NV_cluster_acceleration_structure" ) ||
|
||||
( extension == "VK_NV_partitioned_acceleration_structure" ) || ( extension == "VK_EXT_device_generated_commands" ) ||
|
||||
( extension == "VK_KHR_maintenance8" ) || ( extension == "VK_MESA_image_alignment_control" ) || ( extension == "VK_KHR_shader_fma" ) ||
|
||||
( extension == "VK_EXT_depth_clamp_control" ) || ( extension == "VK_KHR_maintenance9" ) || ( extension == "VK_KHR_video_maintenance2" )
|
||||
( extension == "VK_EXT_ray_tracing_invocation_reorder" ) || ( extension == "VK_EXT_depth_clamp_control" ) ||
|
||||
( extension == "VK_KHR_maintenance9" ) || ( extension == "VK_KHR_video_maintenance2" )
|
||||
#if defined( VK_USE_PLATFORM_OHOS )
|
||||
|| ( extension == "VK_OHOS_native_buffer" )
|
||||
#endif /*VK_USE_PLATFORM_OHOS*/
|
||||
|
|
@ -3953,7 +3977,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|| ( extension == "VK_EXT_fragment_density_map_offset" ) || ( extension == "VK_EXT_zero_initialize_device_memory" ) ||
|
||||
( extension == "VK_KHR_present_mode_fifo_latest_ready" ) || ( extension == "VK_EXT_shader_64bit_indexing" ) ||
|
||||
( extension == "VK_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) ||
|
||||
( extension == "VK_EXT_custom_resolve" ) || ( extension == "VK_QCOM_data_graph_model" ) || ( extension == "VK_KHR_maintenance10" ) ||
|
||||
( extension == "VK_SEC_pipeline_cache_incremental_mode" ) || ( extension == "VK_EXT_shader_uniform_buffer_unsized_array" );
|
||||
}
|
||||
|
||||
|
|
@ -4048,7 +4072,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
( extension == "VK_KHR_get_memory_requirements2" ) || ( extension == "VK_KHR_image_format_list" ) ||
|
||||
( extension == "VK_KHR_sampler_ycbcr_conversion" ) || ( extension == "VK_KHR_bind_memory2" ) || ( extension == "VK_EXT_descriptor_indexing" ) ||
|
||||
( extension == "VK_EXT_shader_viewport_index_layer" ) || ( extension == "VK_KHR_maintenance3" ) || ( extension == "VK_KHR_draw_indirect_count" ) ||
|
||||
( extension == "VK_EXT_global_priority" ) || ( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
|
||||
( extension == "VK_QCOM_render_pass_shader_resolve" ) || ( extension == "VK_EXT_global_priority" ) ||
|
||||
( extension == "VK_KHR_shader_subgroup_extended_types" ) || ( extension == "VK_KHR_8bit_storage" ) ||
|
||||
( extension == "VK_KHR_shader_atomic_int64" ) || ( extension == "VK_EXT_calibrated_timestamps" ) || ( extension == "VK_KHR_global_priority" ) ||
|
||||
( extension == "VK_EXT_vertex_attribute_divisor" ) || ( extension == "VK_EXT_pipeline_creation_feedback" ) ||
|
||||
( extension == "VK_KHR_driver_properties" ) || ( extension == "VK_KHR_shader_float_controls" ) || ( extension == "VK_KHR_depth_stencil_resolve" ) ||
|
||||
|
|
@ -4073,9 +4098,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
( extension == "VK_EXT_depth_clamp_zero_one" ) || ( extension == "VK_QCOM_fragment_density_map_offset" ) ||
|
||||
( extension == "VK_NV_copy_memory_indirect" ) || ( extension == "VK_NV_memory_decompression" ) ||
|
||||
( extension == "VK_EXT_pipeline_protected_access" ) || ( extension == "VK_KHR_maintenance5" ) ||
|
||||
( extension == "VK_KHR_vertex_attribute_divisor" ) || ( extension == "VK_KHR_load_store_op_none" ) ||
|
||||
( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) || ( extension == "VK_KHR_line_rasterization" ) ||
|
||||
( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) || ( extension == "VK_EXT_vertex_attribute_robustness" );
|
||||
( extension == "VK_NV_ray_tracing_invocation_reorder" ) || ( extension == "VK_KHR_vertex_attribute_divisor" ) ||
|
||||
( extension == "VK_KHR_load_store_op_none" ) || ( extension == "VK_KHR_shader_float_controls2" ) || ( extension == "VK_KHR_index_type_uint8" ) ||
|
||||
( extension == "VK_KHR_line_rasterization" ) || ( extension == "VK_KHR_shader_expect_assume" ) || ( extension == "VK_KHR_maintenance6" ) ||
|
||||
( extension == "VK_EXT_vertex_attribute_robustness" );
|
||||
}
|
||||
} // namespace VULKAN_HPP_NAMESPACE
|
||||
|
||||
|
|
|
|||
|
|
@ -32088,6 +32088,33 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
|
||||
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
|
||||
template <typename Dispatch, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( const BeginCustomResolveInfoEXT * pBeginCustomResolveInfo,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
d.vkCmdBeginCustomResolveEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
|
||||
reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( pBeginCustomResolveInfo ) );
|
||||
}
|
||||
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
|
||||
template <typename Dispatch, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type>
|
||||
VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo,
|
||||
Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
|
||||
# if ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1 )
|
||||
VULKAN_HPP_ASSERT( d.vkCmdBeginCustomResolveEXT && "Function <vkCmdBeginCustomResolveEXT> requires <VK_EXT_custom_resolve>" );
|
||||
# endif
|
||||
|
||||
d.vkCmdBeginCustomResolveEXT( m_commandBuffer, reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( beginCustomResolveInfo.get() ) );
|
||||
}
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
|
||||
// wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html
|
||||
|
|
|
|||
|
|
@ -1827,7 +1827,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
//=== VK_NV_ray_tracing_invocation_reorder ===
|
||||
struct PhysicalDeviceRayTracingInvocationReorderPropertiesNV;
|
||||
struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
struct PhysicalDeviceCooperativeVectorPropertiesNV;
|
||||
|
|
@ -2148,6 +2147,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_KHR_shader_fma ===
|
||||
struct PhysicalDeviceShaderFmaFeaturesKHR;
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
struct PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
struct PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
using PhysicalDeviceRayTracingInvocationReorderFeaturesNV = PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
struct PhysicalDeviceDepthClampControlFeaturesEXT;
|
||||
struct PipelineViewportDepthClampControlCreateInfoEXT;
|
||||
|
|
@ -2247,6 +2251,11 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_EXT_shader_64bit_indexing ===
|
||||
struct PhysicalDeviceShader64BitIndexingFeaturesEXT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
struct PhysicalDeviceCustomResolveFeaturesEXT;
|
||||
struct BeginCustomResolveInfoEXT;
|
||||
struct CustomResolveCreateInfoEXT;
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
struct PipelineCacheHeaderVersionDataGraphQCOM;
|
||||
struct DataGraphPipelineBuiltinModelCreateInfoQCOM;
|
||||
|
|
@ -8157,6 +8166,19 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
|
||||
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type = true>
|
||||
void beginCustomResolveEXT( const BeginCustomResolveInfoEXT * pBeginCustomResolveInfo,
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
|
||||
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
|
||||
template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE, typename std::enable_if<detail::isDispatchLoader<Dispatch>::value, bool>::type = true>
|
||||
void beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ),
|
||||
Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
|
||||
#endif /* VULKAN_HPP_DISABLE_ENHANCED_MODE */
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
|
||||
// wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html
|
||||
|
|
|
|||
|
|
@ -1385,6 +1385,18 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT const & beginCustomResolveInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, beginCustomResolveInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, beginCustomResolveInfoEXT.pNext );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::BindAccelerationStructureMemoryInfoNV>
|
||||
{
|
||||
|
|
@ -3424,6 +3436,23 @@ namespace std
|
|||
};
|
||||
# endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT const & customResolveCreateInfoEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.customResolve );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.colorAttachmentCount );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.pColorAttachmentFormats );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.depthAttachmentFormat );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, customResolveCreateInfoEXT.stencilAttachmentFormat );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
# if defined( VK_USE_PLATFORM_WIN32_KHR )
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::D3D12FenceSubmitInfoKHR>
|
||||
|
|
@ -9685,6 +9714,20 @@ namespace std
|
|||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT const & physicalDeviceCustomResolveFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomResolveFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomResolveFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceCustomResolveFeaturesEXT.customResolve );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceDataGraphFeaturesARM>
|
||||
{
|
||||
|
|
@ -13074,16 +13117,30 @@ namespace std
|
|||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
|
||||
{
|
||||
std::size_t
|
||||
operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & physicalDeviceRayTracingInvocationReorderFeaturesNV ) const
|
||||
VULKAN_HPP_NOEXCEPT
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const &
|
||||
physicalDeviceRayTracingInvocationReorderFeaturesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesNV.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesNV.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesNV.rayTracingInvocationReorder );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderFeaturesEXT.rayTracingInvocationReorder );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
||||
template <>
|
||||
struct hash<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>
|
||||
{
|
||||
std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const &
|
||||
physicalDeviceRayTracingInvocationReorderPropertiesEXT ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
std::size_t seed = 0;
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.sType );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.pNext );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.rayTracingInvocationReorderReorderingHint );
|
||||
VULKAN_HPP_HASH_COMBINE( seed, physicalDeviceRayTracingInvocationReorderPropertiesEXT.maxShaderBindingTableRecordIndex );
|
||||
return seed;
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1948,6 +1948,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
if ( !vkCmdEndRendering2KHR )
|
||||
vkCmdEndRendering2KHR = vkCmdEndRendering2EXT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
vkCmdBeginCustomResolveEXT = PFN_vkCmdBeginCustomResolveEXT( vkGetDeviceProcAddr( device, "vkCmdBeginCustomResolveEXT" ) );
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
vkCmdEndRendering2KHR = PFN_vkCmdEndRendering2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRendering2KHR" ) );
|
||||
}
|
||||
|
|
@ -2971,6 +2974,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
//=== VK_EXT_fragment_density_map_offset ===
|
||||
PFN_vkCmdEndRendering2EXT vkCmdEndRendering2EXT = 0;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
PFN_vkCmdBeginCustomResolveEXT vkCmdBeginCustomResolveEXT = 0;
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
PFN_vkCmdEndRendering2KHR vkCmdEndRendering2KHR = 0;
|
||||
};
|
||||
|
|
@ -8009,6 +8015,12 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
// wrapper function for command vkCmdEndRendering2EXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2EXT.html
|
||||
void endRendering2EXT( Optional<const RenderingEndInfoKHR> renderingEndInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
|
||||
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
|
||||
void beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo VULKAN_HPP_DEFAULT_ASSIGNMENT( nullptr ) ) const
|
||||
VULKAN_HPP_NOEXCEPT;
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
|
||||
// wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html
|
||||
|
|
@ -27971,6 +27983,17 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
reinterpret_cast<const VkRenderingEndInfoKHR *>( renderingEndInfo.get() ) );
|
||||
}
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
|
||||
// wrapper function for command vkCmdBeginCustomResolveEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdBeginCustomResolveEXT.html
|
||||
VULKAN_HPP_INLINE void CommandBuffer::beginCustomResolveEXT( Optional<const BeginCustomResolveInfoEXT> beginCustomResolveInfo ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
VULKAN_HPP_ASSERT( getDispatcher()->vkCmdBeginCustomResolveEXT && "Function <vkCmdBeginCustomResolveEXT> requires <VK_EXT_custom_resolve>" );
|
||||
|
||||
getDispatcher()->vkCmdBeginCustomResolveEXT( static_cast<VkCommandBuffer>( m_commandBuffer ),
|
||||
reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( beginCustomResolveInfo.get() ) );
|
||||
}
|
||||
|
||||
//=== VK_KHR_maintenance10 ===
|
||||
|
||||
// wrapper function for command vkCmdEndRendering2KHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/vkCmdEndRendering2KHR.html
|
||||
|
|
|
|||
|
|
@ -7471,14 +7471,6 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
|||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesNV>::value,
|
||||
"PhysicalDeviceRayTracingInvocationReorderPropertiesNV is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesNV>::value,
|
||||
"PhysicalDeviceRayTracingInvocationReorderFeaturesNV is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceCooperativeVectorPropertiesNV ) ==
|
||||
|
|
@ -9061,6 +9053,24 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
|||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShaderFmaFeaturesKHR>::value,
|
||||
"PhysicalDeviceShaderFmaFeaturesKHR is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderPropertiesEXT>::value,
|
||||
"PhysicalDeviceRayTracingInvocationReorderPropertiesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT ) ==
|
||||
sizeof( VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceRayTracingInvocationReorderFeaturesEXT>::value,
|
||||
"PhysicalDeviceRayTracingInvocationReorderFeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceDepthClampControlFeaturesEXT ) == sizeof( VkPhysicalDeviceDepthClampControlFeaturesEXT ),
|
||||
|
|
@ -9423,6 +9433,27 @@ VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::Physical
|
|||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceShader64BitIndexingFeaturesEXT>::value,
|
||||
"PhysicalDeviceShader64BitIndexingFeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_EXT_custom_resolve ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT ) == sizeof( VkPhysicalDeviceCustomResolveFeaturesEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>::value,
|
||||
"struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceCustomResolveFeaturesEXT>::value,
|
||||
"PhysicalDeviceCustomResolveFeaturesEXT is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT ) == sizeof( VkBeginCustomResolveInfoEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BeginCustomResolveInfoEXT>::value,
|
||||
"BeginCustomResolveInfoEXT is not nothrow_move_constructible!" );
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT ) == sizeof( VkCustomResolveCreateInfoEXT ),
|
||||
"struct and wrapper have different size!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>::value, "struct wrapper is not a standard layout!" );
|
||||
VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::CustomResolveCreateInfoEXT>::value,
|
||||
"CustomResolveCreateInfoEXT is not nothrow_move_constructible!" );
|
||||
|
||||
//=== VK_QCOM_data_graph_model ===
|
||||
|
||||
VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PipelineCacheHeaderVersionDataGraphQCOM ) == sizeof( VkPipelineCacheHeaderVersionDataGraphQCOM ),
|
||||
|
|
|
|||
|
|
@ -1164,10 +1164,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eAccelerationStructureBuildSizesInfoKHR;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR( DeviceSize accelerationStructureSize_ = {},
|
||||
DeviceSize updateScratchSize_ = {},
|
||||
DeviceSize buildScratchSize_ = {},
|
||||
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR AccelerationStructureBuildSizesInfoKHR( DeviceSize accelerationStructureSize_ = {},
|
||||
DeviceSize updateScratchSize_ = {},
|
||||
DeviceSize buildScratchSize_ = {},
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, accelerationStructureSize{ accelerationStructureSize_ }
|
||||
, updateScratchSize{ updateScratchSize_ }
|
||||
|
|
@ -1212,7 +1212,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, DeviceSize const &, DeviceSize const &, DeviceSize const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, accelerationStructureSize, updateScratchSize, buildScratchSize );
|
||||
}
|
||||
|
|
@ -1239,7 +1239,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::eAccelerationStructureBuildSizesInfoKHR;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
DeviceSize accelerationStructureSize = {};
|
||||
DeviceSize updateScratchSize = {};
|
||||
DeviceSize buildScratchSize = {};
|
||||
|
|
@ -8792,6 +8792,105 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
};
|
||||
#endif
|
||||
|
||||
// wrapper struct for struct VkBeginCustomResolveInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkBeginCustomResolveInfoEXT.html
|
||||
struct BeginCustomResolveInfoEXT
|
||||
{
|
||||
using NativeType = VkBeginCustomResolveInfoEXT;
|
||||
|
||||
static const bool allowDuplicate = false;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eBeginCustomResolveInfoEXT;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR BeginCustomResolveInfoEXT( void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT : pNext{ pNext_ } {}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR BeginCustomResolveInfoEXT( BeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
|
||||
BeginCustomResolveInfoEXT( VkBeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: BeginCustomResolveInfoEXT( *reinterpret_cast<BeginCustomResolveInfoEXT const *>( &rhs ) )
|
||||
{
|
||||
}
|
||||
|
||||
BeginCustomResolveInfoEXT & operator=( BeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
|
||||
|
||||
BeginCustomResolveInfoEXT & operator=( VkBeginCustomResolveInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
*this = *reinterpret_cast<BeginCustomResolveInfoEXT const *>( &rhs );
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
|
||||
VULKAN_HPP_CONSTEXPR_14 BeginCustomResolveInfoEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
pNext = pNext_;
|
||||
return *this;
|
||||
}
|
||||
#endif /*VULKAN_HPP_NO_SETTERS*/
|
||||
|
||||
operator VkBeginCustomResolveInfoEXT const &() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkBeginCustomResolveInfoEXT &() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<VkBeginCustomResolveInfoEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkBeginCustomResolveInfoEXT const *() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<const VkBeginCustomResolveInfoEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkBeginCustomResolveInfoEXT *() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<VkBeginCustomResolveInfoEXT *>( this );
|
||||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, void * const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
auto operator<=>( BeginCustomResolveInfoEXT const & ) const = default;
|
||||
#else
|
||||
bool operator==( BeginCustomResolveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
# if defined( VULKAN_HPP_USE_REFLECT )
|
||||
return this->reflect() == rhs.reflect();
|
||||
# else
|
||||
return ( sType == rhs.sType ) && ( pNext == rhs.pNext );
|
||||
# endif
|
||||
}
|
||||
|
||||
bool operator!=( BeginCustomResolveInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return !operator==( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
public:
|
||||
StructureType sType = StructureType::eBeginCustomResolveInfoEXT;
|
||||
void * pNext = {};
|
||||
};
|
||||
|
||||
#if 20 <= VULKAN_HPP_CPP_VERSION
|
||||
template <>
|
||||
struct CppType<VkBeginCustomResolveInfoEXT>
|
||||
{
|
||||
using Type = BeginCustomResolveInfoEXT;
|
||||
};
|
||||
#endif
|
||||
|
||||
template <>
|
||||
struct CppType<StructureType, StructureType::eBeginCustomResolveInfoEXT>
|
||||
{
|
||||
using Type = BeginCustomResolveInfoEXT;
|
||||
};
|
||||
|
||||
// wrapper struct for struct VkBindAccelerationStructureMemoryInfoNV, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkBindAccelerationStructureMemoryInfoNV.html
|
||||
struct BindAccelerationStructureMemoryInfoNV
|
||||
|
|
@ -28179,6 +28278,181 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
};
|
||||
#endif /*VK_ENABLE_BETA_EXTENSIONS*/
|
||||
|
||||
// wrapper struct for struct VkCustomResolveCreateInfoEXT, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkCustomResolveCreateInfoEXT.html
|
||||
struct CustomResolveCreateInfoEXT
|
||||
{
|
||||
using NativeType = VkCustomResolveCreateInfoEXT;
|
||||
|
||||
static const bool allowDuplicate = false;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eCustomResolveCreateInfoEXT;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR CustomResolveCreateInfoEXT( Bool32 customResolve_ = {},
|
||||
uint32_t colorAttachmentCount_ = {},
|
||||
const Format * pColorAttachmentFormats_ = {},
|
||||
Format depthAttachmentFormat_ = Format::eUndefined,
|
||||
Format stencilAttachmentFormat_ = Format::eUndefined,
|
||||
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, customResolve{ customResolve_ }
|
||||
, colorAttachmentCount{ colorAttachmentCount_ }
|
||||
, pColorAttachmentFormats{ pColorAttachmentFormats_ }
|
||||
, depthAttachmentFormat{ depthAttachmentFormat_ }
|
||||
, stencilAttachmentFormat{ stencilAttachmentFormat_ }
|
||||
{
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR CustomResolveCreateInfoEXT( CustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
|
||||
CustomResolveCreateInfoEXT( VkCustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: CustomResolveCreateInfoEXT( *reinterpret_cast<CustomResolveCreateInfoEXT const *>( &rhs ) )
|
||||
{
|
||||
}
|
||||
|
||||
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
|
||||
CustomResolveCreateInfoEXT( Bool32 customResolve_,
|
||||
ArrayProxyNoTemporaries<const Format> const & colorAttachmentFormats_,
|
||||
Format depthAttachmentFormat_ = Format::eUndefined,
|
||||
Format stencilAttachmentFormat_ = Format::eUndefined,
|
||||
const void * pNext_ = nullptr )
|
||||
: pNext( pNext_ )
|
||||
, customResolve( customResolve_ )
|
||||
, colorAttachmentCount( static_cast<uint32_t>( colorAttachmentFormats_.size() ) )
|
||||
, pColorAttachmentFormats( colorAttachmentFormats_.data() )
|
||||
, depthAttachmentFormat( depthAttachmentFormat_ )
|
||||
, stencilAttachmentFormat( stencilAttachmentFormat_ )
|
||||
{
|
||||
}
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
CustomResolveCreateInfoEXT & operator=( CustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
|
||||
|
||||
CustomResolveCreateInfoEXT & operator=( VkCustomResolveCreateInfoEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
*this = *reinterpret_cast<CustomResolveCreateInfoEXT const *>( &rhs );
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
|
||||
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
pNext = pNext_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setCustomResolve( Bool32 customResolve_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
customResolve = customResolve_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setColorAttachmentCount( uint32_t colorAttachmentCount_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
colorAttachmentCount = colorAttachmentCount_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setPColorAttachmentFormats( const Format * pColorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
pColorAttachmentFormats = pColorAttachmentFormats_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
# if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
|
||||
CustomResolveCreateInfoEXT & setColorAttachmentFormats( ArrayProxyNoTemporaries<const Format> const & colorAttachmentFormats_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
colorAttachmentCount = static_cast<uint32_t>( colorAttachmentFormats_.size() );
|
||||
pColorAttachmentFormats = colorAttachmentFormats_.data();
|
||||
return *this;
|
||||
}
|
||||
# endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setDepthAttachmentFormat( Format depthAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
depthAttachmentFormat = depthAttachmentFormat_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 CustomResolveCreateInfoEXT & setStencilAttachmentFormat( Format stencilAttachmentFormat_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
stencilAttachmentFormat = stencilAttachmentFormat_;
|
||||
return *this;
|
||||
}
|
||||
#endif /*VULKAN_HPP_NO_SETTERS*/
|
||||
|
||||
operator VkCustomResolveCreateInfoEXT const &() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<const VkCustomResolveCreateInfoEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkCustomResolveCreateInfoEXT &() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<VkCustomResolveCreateInfoEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkCustomResolveCreateInfoEXT const *() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<const VkCustomResolveCreateInfoEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkCustomResolveCreateInfoEXT *() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<VkCustomResolveCreateInfoEXT *>( this );
|
||||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, Bool32 const &, uint32_t const &, const Format * const &, Format const &, Format const &>
|
||||
reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, customResolve, colorAttachmentCount, pColorAttachmentFormats, depthAttachmentFormat, stencilAttachmentFormat );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
auto operator<=>( CustomResolveCreateInfoEXT const & ) const = default;
|
||||
#else
|
||||
bool operator==( CustomResolveCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
# if defined( VULKAN_HPP_USE_REFLECT )
|
||||
return this->reflect() == rhs.reflect();
|
||||
# else
|
||||
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( customResolve == rhs.customResolve ) &&
|
||||
( colorAttachmentCount == rhs.colorAttachmentCount ) && ( pColorAttachmentFormats == rhs.pColorAttachmentFormats ) &&
|
||||
( depthAttachmentFormat == rhs.depthAttachmentFormat ) && ( stencilAttachmentFormat == rhs.stencilAttachmentFormat );
|
||||
# endif
|
||||
}
|
||||
|
||||
bool operator!=( CustomResolveCreateInfoEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return !operator==( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
public:
|
||||
StructureType sType = StructureType::eCustomResolveCreateInfoEXT;
|
||||
const void * pNext = {};
|
||||
Bool32 customResolve = {};
|
||||
uint32_t colorAttachmentCount = {};
|
||||
const Format * pColorAttachmentFormats = {};
|
||||
Format depthAttachmentFormat = Format::eUndefined;
|
||||
Format stencilAttachmentFormat = Format::eUndefined;
|
||||
};
|
||||
|
||||
#if 20 <= VULKAN_HPP_CPP_VERSION
|
||||
template <>
|
||||
struct CppType<VkCustomResolveCreateInfoEXT>
|
||||
{
|
||||
using Type = CustomResolveCreateInfoEXT;
|
||||
};
|
||||
#endif
|
||||
|
||||
template <>
|
||||
struct CppType<StructureType, StructureType::eCustomResolveCreateInfoEXT>
|
||||
{
|
||||
using Type = CustomResolveCreateInfoEXT;
|
||||
};
|
||||
|
||||
#if defined( VK_USE_PLATFORM_WIN32_KHR )
|
||||
// wrapper struct for struct VkD3D12FenceSubmitInfoKHR, see https://registry.khronos.org/vulkan/specs/latest/man/html/VkD3D12FenceSubmitInfoKHR.html
|
||||
struct D3D12FenceSubmitInfoKHR
|
||||
|
|
@ -44038,7 +44312,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eDisplayModeStereoPropertiesNV;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR DisplayModeStereoPropertiesNV( Bool32 hdmi3DSupported_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR DisplayModeStereoPropertiesNV( Bool32 hdmi3DSupported_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, hdmi3DSupported{ hdmi3DSupported_ }
|
||||
{
|
||||
|
|
@ -44081,7 +44355,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, hdmi3DSupported );
|
||||
}
|
||||
|
|
@ -44107,7 +44381,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::eDisplayModeStereoPropertiesNV;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
Bool32 hdmi3DSupported = {};
|
||||
};
|
||||
|
||||
|
|
@ -54168,21 +54442,21 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eLatencyTimingsFrameReportNV;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR LatencyTimingsFrameReportNV( uint64_t presentID_ = {},
|
||||
uint64_t inputSampleTimeUs_ = {},
|
||||
uint64_t simStartTimeUs_ = {},
|
||||
uint64_t simEndTimeUs_ = {},
|
||||
uint64_t renderSubmitStartTimeUs_ = {},
|
||||
uint64_t renderSubmitEndTimeUs_ = {},
|
||||
uint64_t presentStartTimeUs_ = {},
|
||||
uint64_t presentEndTimeUs_ = {},
|
||||
uint64_t driverStartTimeUs_ = {},
|
||||
uint64_t driverEndTimeUs_ = {},
|
||||
uint64_t osRenderQueueStartTimeUs_ = {},
|
||||
uint64_t osRenderQueueEndTimeUs_ = {},
|
||||
uint64_t gpuRenderStartTimeUs_ = {},
|
||||
uint64_t gpuRenderEndTimeUs_ = {},
|
||||
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR LatencyTimingsFrameReportNV( uint64_t presentID_ = {},
|
||||
uint64_t inputSampleTimeUs_ = {},
|
||||
uint64_t simStartTimeUs_ = {},
|
||||
uint64_t simEndTimeUs_ = {},
|
||||
uint64_t renderSubmitStartTimeUs_ = {},
|
||||
uint64_t renderSubmitEndTimeUs_ = {},
|
||||
uint64_t presentStartTimeUs_ = {},
|
||||
uint64_t presentEndTimeUs_ = {},
|
||||
uint64_t driverStartTimeUs_ = {},
|
||||
uint64_t driverEndTimeUs_ = {},
|
||||
uint64_t osRenderQueueStartTimeUs_ = {},
|
||||
uint64_t osRenderQueueEndTimeUs_ = {},
|
||||
uint64_t gpuRenderStartTimeUs_ = {},
|
||||
uint64_t gpuRenderEndTimeUs_ = {},
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, presentID{ presentID_ }
|
||||
, inputSampleTimeUs{ inputSampleTimeUs_ }
|
||||
|
|
@ -54239,7 +54513,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &,
|
||||
const void * const &,
|
||||
void * const &,
|
||||
uint64_t const &,
|
||||
uint64_t const &,
|
||||
uint64_t const &,
|
||||
|
|
@ -54300,7 +54574,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::eLatencyTimingsFrameReportNV;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
uint64_t presentID = {};
|
||||
uint64_t inputSampleTimeUs = {};
|
||||
uint64_t simStartTimeUs = {};
|
||||
|
|
@ -74269,7 +74543,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eOpticalFlowImageFormatPropertiesNV;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatPropertiesNV( Format format_ = Format::eUndefined, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR OpticalFlowImageFormatPropertiesNV( Format format_ = Format::eUndefined, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, format{ format_ }
|
||||
{
|
||||
|
|
@ -74312,7 +74586,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, Format const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, Format const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, format );
|
||||
}
|
||||
|
|
@ -74338,7 +74612,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::eOpticalFlowImageFormatPropertiesNV;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
Format format = Format::eUndefined;
|
||||
};
|
||||
|
||||
|
|
@ -82537,6 +82811,117 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
using Type = PhysicalDeviceCustomBorderColorPropertiesEXT;
|
||||
};
|
||||
|
||||
// wrapper struct for struct VkPhysicalDeviceCustomResolveFeaturesEXT, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceCustomResolveFeaturesEXT.html
|
||||
struct PhysicalDeviceCustomResolveFeaturesEXT
|
||||
{
|
||||
using NativeType = VkPhysicalDeviceCustomResolveFeaturesEXT;
|
||||
|
||||
static const bool allowDuplicate = false;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceCustomResolveFeaturesEXT;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomResolveFeaturesEXT( Bool32 customResolve_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, customResolve{ customResolve_ }
|
||||
{
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceCustomResolveFeaturesEXT( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
|
||||
PhysicalDeviceCustomResolveFeaturesEXT( VkPhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: PhysicalDeviceCustomResolveFeaturesEXT( *reinterpret_cast<PhysicalDeviceCustomResolveFeaturesEXT const *>( &rhs ) )
|
||||
{
|
||||
}
|
||||
|
||||
PhysicalDeviceCustomResolveFeaturesEXT & operator=( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
|
||||
|
||||
PhysicalDeviceCustomResolveFeaturesEXT & operator=( VkPhysicalDeviceCustomResolveFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
*this = *reinterpret_cast<PhysicalDeviceCustomResolveFeaturesEXT const *>( &rhs );
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomResolveFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
pNext = pNext_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceCustomResolveFeaturesEXT & setCustomResolve( Bool32 customResolve_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
customResolve = customResolve_;
|
||||
return *this;
|
||||
}
|
||||
#endif /*VULKAN_HPP_NO_SETTERS*/
|
||||
|
||||
operator VkPhysicalDeviceCustomResolveFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<const VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceCustomResolveFeaturesEXT &() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceCustomResolveFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<const VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceCustomResolveFeaturesEXT *() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<VkPhysicalDeviceCustomResolveFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, customResolve );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
auto operator<=>( PhysicalDeviceCustomResolveFeaturesEXT const & ) const = default;
|
||||
#else
|
||||
bool operator==( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
# if defined( VULKAN_HPP_USE_REFLECT )
|
||||
return this->reflect() == rhs.reflect();
|
||||
# else
|
||||
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( customResolve == rhs.customResolve );
|
||||
# endif
|
||||
}
|
||||
|
||||
bool operator!=( PhysicalDeviceCustomResolveFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return !operator==( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
public:
|
||||
StructureType sType = StructureType::ePhysicalDeviceCustomResolveFeaturesEXT;
|
||||
void * pNext = {};
|
||||
Bool32 customResolve = {};
|
||||
};
|
||||
|
||||
#if 20 <= VULKAN_HPP_CPP_VERSION
|
||||
template <>
|
||||
struct CppType<VkPhysicalDeviceCustomResolveFeaturesEXT>
|
||||
{
|
||||
using Type = PhysicalDeviceCustomResolveFeaturesEXT;
|
||||
};
|
||||
#endif
|
||||
|
||||
template <>
|
||||
struct CppType<StructureType, StructureType::ePhysicalDeviceCustomResolveFeaturesEXT>
|
||||
{
|
||||
using Type = PhysicalDeviceCustomResolveFeaturesEXT;
|
||||
};
|
||||
|
||||
// wrapper struct for struct VkPhysicalDeviceDataGraphFeaturesARM, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceDataGraphFeaturesARM.html
|
||||
struct PhysicalDeviceDataGraphFeaturesARM
|
||||
|
|
@ -82699,7 +83084,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphModelFeaturesQCOM( Bool32 dataGraphModel_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceDataGraphModelFeaturesQCOM( Bool32 dataGraphModel_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, dataGraphModel{ dataGraphModel_ }
|
||||
{
|
||||
|
|
@ -82722,7 +83107,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphModelFeaturesQCOM & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceDataGraphModelFeaturesQCOM & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
pNext = pNext_;
|
||||
return *this;
|
||||
|
|
@ -82756,7 +83141,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, dataGraphModel );
|
||||
}
|
||||
|
|
@ -82782,7 +83167,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
Bool32 dataGraphModel = {};
|
||||
};
|
||||
|
||||
|
|
@ -108107,49 +108492,49 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
using Type = PhysicalDeviceRayQueryFeaturesKHR;
|
||||
};
|
||||
|
||||
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV.html
|
||||
struct PhysicalDeviceRayTracingInvocationReorderFeaturesNV
|
||||
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT.html
|
||||
struct PhysicalDeviceRayTracingInvocationReorderFeaturesEXT
|
||||
{
|
||||
using NativeType = VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
using NativeType = VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
|
||||
static const bool allowDuplicate = false;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderFeaturesNV( Bool32 rayTracingInvocationReorder_ = {},
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( Bool32 rayTracingInvocationReorder_ = {},
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, rayTracingInvocationReorder{ rayTracingInvocationReorder_ }
|
||||
{
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesNV( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesNV( VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: PhysicalDeviceRayTracingInvocationReorderFeaturesNV( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesNV const *>( &rhs ) )
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: PhysicalDeviceRayTracingInvocationReorderFeaturesEXT( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const *>( &rhs ) )
|
||||
{
|
||||
}
|
||||
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesNV &
|
||||
operator=( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT &
|
||||
operator=( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
|
||||
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesNV & operator=( VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
PhysicalDeviceRayTracingInvocationReorderFeaturesEXT & operator=( VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
*this = *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesNV const *>( &rhs );
|
||||
*this = *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const *>( &rhs );
|
||||
return *this;
|
||||
}
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_SETTERS ) && !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesNV & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesEXT & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
pNext = pNext_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesNV &
|
||||
VULKAN_HPP_CONSTEXPR_14 PhysicalDeviceRayTracingInvocationReorderFeaturesEXT &
|
||||
setRayTracingInvocationReorder( Bool32 rayTracingInvocationReorder_ ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
rayTracingInvocationReorder = rayTracingInvocationReorder_;
|
||||
|
|
@ -108157,24 +108542,24 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
#endif /*VULKAN_HPP_NO_SETTERS*/
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const &() const VULKAN_HPP_NOEXCEPT
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const &() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>( this );
|
||||
return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV &() VULKAN_HPP_NOEXCEPT
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT &() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>( this );
|
||||
return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const *() const VULKAN_HPP_NOEXCEPT
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const *() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>( this );
|
||||
return reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *() VULKAN_HPP_NOEXCEPT
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>( this );
|
||||
return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>( this );
|
||||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
|
|
@ -108185,9 +108570,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
#endif
|
||||
|
||||
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
auto operator<=>( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & ) const = default;
|
||||
auto operator<=>( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & ) const = default;
|
||||
#else
|
||||
bool operator==( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
bool operator==( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
# if defined( VULKAN_HPP_USE_REFLECT )
|
||||
return this->reflect() == rhs.reflect();
|
||||
|
|
@ -108196,30 +108581,139 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
# endif
|
||||
}
|
||||
|
||||
bool operator!=( PhysicalDeviceRayTracingInvocationReorderFeaturesNV const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
bool operator!=( PhysicalDeviceRayTracingInvocationReorderFeaturesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return !operator==( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
public:
|
||||
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
void * pNext = {};
|
||||
Bool32 rayTracingInvocationReorder = {};
|
||||
};
|
||||
|
||||
#if 20 <= VULKAN_HPP_CPP_VERSION
|
||||
template <>
|
||||
struct CppType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV>
|
||||
struct CppType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
|
||||
{
|
||||
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
};
|
||||
#endif
|
||||
|
||||
template <>
|
||||
struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV>
|
||||
struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT>
|
||||
{
|
||||
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesNV;
|
||||
using Type = PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
};
|
||||
|
||||
using PhysicalDeviceRayTracingInvocationReorderFeaturesNV = PhysicalDeviceRayTracingInvocationReorderFeaturesEXT;
|
||||
|
||||
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT, see
|
||||
// https://registry.khronos.org/vulkan/specs/latest/man/html/VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT.html
|
||||
struct PhysicalDeviceRayTracingInvocationReorderPropertiesEXT
|
||||
{
|
||||
using NativeType = VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
|
||||
static const bool allowDuplicate = false;
|
||||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesEXT(
|
||||
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint_ = RayTracingInvocationReorderModeEXT::eNone,
|
||||
uint32_t maxShaderBindingTableRecordIndex_ = {},
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, rayTracingInvocationReorderReorderingHint{ rayTracingInvocationReorderReorderingHint_ }
|
||||
, maxShaderBindingTableRecordIndex{ maxShaderBindingTableRecordIndex_ }
|
||||
{
|
||||
}
|
||||
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesEXT( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs )
|
||||
VULKAN_HPP_NOEXCEPT = default;
|
||||
|
||||
PhysicalDeviceRayTracingInvocationReorderPropertiesEXT( VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
: PhysicalDeviceRayTracingInvocationReorderPropertiesEXT( *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const *>( &rhs ) )
|
||||
{
|
||||
}
|
||||
|
||||
PhysicalDeviceRayTracingInvocationReorderPropertiesEXT &
|
||||
operator=( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT = default;
|
||||
#endif /*VULKAN_HPP_NO_CONSTRUCTORS*/
|
||||
|
||||
PhysicalDeviceRayTracingInvocationReorderPropertiesEXT &
|
||||
operator=( VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
*this = *reinterpret_cast<PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const *>( &rhs );
|
||||
return *this;
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const &() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT &() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return *reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const *() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
|
||||
}
|
||||
|
||||
operator VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *() VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>( this );
|
||||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, void * const &, RayTracingInvocationReorderModeEXT const &, uint32_t const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, rayTracingInvocationReorderReorderingHint, maxShaderBindingTableRecordIndex );
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
|
||||
auto operator<=>( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & ) const = default;
|
||||
#else
|
||||
bool operator==( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
# if defined( VULKAN_HPP_USE_REFLECT )
|
||||
return this->reflect() == rhs.reflect();
|
||||
# else
|
||||
return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
|
||||
( rayTracingInvocationReorderReorderingHint == rhs.rayTracingInvocationReorderReorderingHint ) &&
|
||||
( maxShaderBindingTableRecordIndex == rhs.maxShaderBindingTableRecordIndex );
|
||||
# endif
|
||||
}
|
||||
|
||||
bool operator!=( PhysicalDeviceRayTracingInvocationReorderPropertiesEXT const & rhs ) const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return !operator==( rhs );
|
||||
}
|
||||
#endif
|
||||
|
||||
public:
|
||||
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
void * pNext = {};
|
||||
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint = RayTracingInvocationReorderModeEXT::eNone;
|
||||
uint32_t maxShaderBindingTableRecordIndex = {};
|
||||
};
|
||||
|
||||
#if 20 <= VULKAN_HPP_CPP_VERSION
|
||||
template <>
|
||||
struct CppType<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT>
|
||||
{
|
||||
using Type = PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
};
|
||||
#endif
|
||||
|
||||
template <>
|
||||
struct CppType<StructureType, StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT>
|
||||
{
|
||||
using Type = PhysicalDeviceRayTracingInvocationReorderPropertiesEXT;
|
||||
};
|
||||
|
||||
// wrapper struct for struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV, see
|
||||
|
|
@ -108233,8 +108727,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR PhysicalDeviceRayTracingInvocationReorderPropertiesNV(
|
||||
RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint_ = RayTracingInvocationReorderModeNV::eNone,
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint_ = RayTracingInvocationReorderModeEXT::eNone,
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, rayTracingInvocationReorderReorderingHint{ rayTracingInvocationReorderReorderingHint_ }
|
||||
{
|
||||
|
|
@ -108279,7 +108773,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, void * const &, RayTracingInvocationReorderModeNV const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, RayTracingInvocationReorderModeEXT const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, rayTracingInvocationReorderReorderingHint );
|
||||
}
|
||||
|
|
@ -108304,9 +108798,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
#endif
|
||||
|
||||
public:
|
||||
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV;
|
||||
void * pNext = {};
|
||||
RayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint = RayTracingInvocationReorderModeNV::eNone;
|
||||
StructureType sType = StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV;
|
||||
void * pNext = {};
|
||||
RayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint = RayTracingInvocationReorderModeEXT::eNone;
|
||||
};
|
||||
|
||||
#if 20 <= VULKAN_HPP_CPP_VERSION
|
||||
|
|
@ -152268,7 +152762,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType = StructureType::eSurfaceProtectedCapabilitiesKHR;
|
||||
|
||||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR( Bool32 supportsProtected_ = {}, const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
VULKAN_HPP_CONSTEXPR SurfaceProtectedCapabilitiesKHR( Bool32 supportsProtected_ = {}, void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, supportsProtected{ supportsProtected_ }
|
||||
{
|
||||
|
|
@ -152311,7 +152805,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, Bool32 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, supportsProtected );
|
||||
}
|
||||
|
|
@ -152337,7 +152831,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::eSurfaceProtectedCapabilitiesKHR;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
Bool32 supportsProtected = {};
|
||||
};
|
||||
|
||||
|
|
@ -154210,7 +154704,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
#if !defined( VULKAN_HPP_NO_CONSTRUCTORS ) && !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
|
||||
VULKAN_HPP_CONSTEXPR TensorFormatPropertiesARM( FormatFeatureFlags2 optimalTilingTensorFeatures_ = {},
|
||||
FormatFeatureFlags2 linearTilingTensorFeatures_ = {},
|
||||
const void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
void * pNext_ = nullptr ) VULKAN_HPP_NOEXCEPT
|
||||
: pNext{ pNext_ }
|
||||
, optimalTilingTensorFeatures{ optimalTilingTensorFeatures_ }
|
||||
, linearTilingTensorFeatures{ linearTilingTensorFeatures_ }
|
||||
|
|
@ -154254,7 +154748,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
|
||||
#if defined( VULKAN_HPP_USE_REFLECT )
|
||||
std::tuple<StructureType const &, const void * const &, FormatFeatureFlags2 const &, FormatFeatureFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
std::tuple<StructureType const &, void * const &, FormatFeatureFlags2 const &, FormatFeatureFlags2 const &> reflect() const VULKAN_HPP_NOEXCEPT
|
||||
{
|
||||
return std::tie( sType, pNext, optimalTilingTensorFeatures, linearTilingTensorFeatures );
|
||||
}
|
||||
|
|
@ -154281,7 +154775,7 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
|
||||
public:
|
||||
StructureType sType = StructureType::eTensorFormatPropertiesARM;
|
||||
const void * pNext = {};
|
||||
void * pNext = {};
|
||||
FormatFeatureFlags2 optimalTilingTensorFeatures = {};
|
||||
FormatFeatureFlags2 linearTilingTensorFeatures = {};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1261,10 +1261,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
result += " PerViewAttributesNVX |";
|
||||
if ( value & SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX )
|
||||
result += " PerViewPositionXOnlyNVX |";
|
||||
if ( value & SubpassDescriptionFlagBits::eFragmentRegionQCOM )
|
||||
result += " FragmentRegionQCOM |";
|
||||
if ( value & SubpassDescriptionFlagBits::eShaderResolveQCOM )
|
||||
result += " ShaderResolveQCOM |";
|
||||
if ( value & SubpassDescriptionFlagBits::eTileShadingApronQCOM )
|
||||
result += " TileShadingApronQCOM |";
|
||||
if ( value & SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT )
|
||||
|
|
@ -1275,6 +1271,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
result += " RasterizationOrderAttachmentStencilAccessEXT |";
|
||||
if ( value & SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT )
|
||||
result += " EnableLegacyDitheringEXT |";
|
||||
if ( value & SubpassDescriptionFlagBits::eFragmentRegionEXT )
|
||||
result += " FragmentRegionEXT |";
|
||||
if ( value & SubpassDescriptionFlagBits::eCustomResolveEXT )
|
||||
result += " CustomResolveEXT |";
|
||||
|
||||
if ( result.size() > 1 )
|
||||
result.back() = '}';
|
||||
|
|
@ -1604,6 +1604,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
if ( value & ResolveModeFlagBits::eExternalFormatDownsampleANDROID )
|
||||
result += " ExternalFormatDownsampleANDROID |";
|
||||
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
if ( value & ResolveModeFlagBits::eCustomEXT )
|
||||
result += " CustomEXT |";
|
||||
|
||||
if ( result.size() > 1 )
|
||||
result.back() = '}';
|
||||
|
|
@ -2016,6 +2018,10 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
result += " ContentsInlineKHR |";
|
||||
if ( value & RenderingFlagBits::ePerLayerFragmentDensityVALVE )
|
||||
result += " PerLayerFragmentDensityVALVE |";
|
||||
if ( value & RenderingFlagBits::eFragmentRegionEXT )
|
||||
result += " FragmentRegionEXT |";
|
||||
if ( value & RenderingFlagBits::eCustomResolveEXT )
|
||||
result += " CustomResolveEXT |";
|
||||
if ( value & RenderingFlagBits::eLocalReadConcurrentAccessControlKHR )
|
||||
result += " LocalReadConcurrentAccessControlKHR |";
|
||||
|
||||
|
|
@ -5336,7 +5342,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
case StructureType::eSwapchainPresentScalingCreateInfoKHR : return "SwapchainPresentScalingCreateInfoKHR";
|
||||
case StructureType::eReleaseSwapchainImagesInfoKHR : return "ReleaseSwapchainImagesInfoKHR";
|
||||
case StructureType::ePhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM : return "PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM";
|
||||
case StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesNV : return "PhysicalDeviceRayTracingInvocationReorderFeaturesNV";
|
||||
case StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesNV : return "PhysicalDeviceRayTracingInvocationReorderPropertiesNV";
|
||||
case StructureType::ePhysicalDeviceCooperativeVectorFeaturesNV : return "PhysicalDeviceCooperativeVectorFeaturesNV";
|
||||
case StructureType::ePhysicalDeviceCooperativeVectorPropertiesNV : return "PhysicalDeviceCooperativeVectorPropertiesNV";
|
||||
|
|
@ -5515,6 +5520,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
case StructureType::ePhysicalDeviceImageAlignmentControlPropertiesMESA : return "PhysicalDeviceImageAlignmentControlPropertiesMESA";
|
||||
case StructureType::eImageAlignmentControlCreateInfoMESA : return "ImageAlignmentControlCreateInfoMESA";
|
||||
case StructureType::ePhysicalDeviceShaderFmaFeaturesKHR : return "PhysicalDeviceShaderFmaFeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceRayTracingInvocationReorderFeaturesEXT : return "PhysicalDeviceRayTracingInvocationReorderFeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceRayTracingInvocationReorderPropertiesEXT : return "PhysicalDeviceRayTracingInvocationReorderPropertiesEXT";
|
||||
case StructureType::ePhysicalDeviceDepthClampControlFeaturesEXT : return "PhysicalDeviceDepthClampControlFeaturesEXT";
|
||||
case StructureType::ePipelineViewportDepthClampControlCreateInfoEXT : return "PipelineViewportDepthClampControlCreateInfoEXT";
|
||||
case StructureType::ePhysicalDeviceMaintenance9FeaturesKHR : return "PhysicalDeviceMaintenance9FeaturesKHR";
|
||||
|
|
@ -5564,6 +5571,9 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
case StructureType::ePhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT : return "PhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT";
|
||||
case StructureType::ePhysicalDevicePresentModeFifoLatestReadyFeaturesKHR : return "PhysicalDevicePresentModeFifoLatestReadyFeaturesKHR";
|
||||
case StructureType::ePhysicalDeviceShader64BitIndexingFeaturesEXT : return "PhysicalDeviceShader64BitIndexingFeaturesEXT";
|
||||
case StructureType::ePhysicalDeviceCustomResolveFeaturesEXT : return "PhysicalDeviceCustomResolveFeaturesEXT";
|
||||
case StructureType::eBeginCustomResolveInfoEXT : return "BeginCustomResolveInfoEXT";
|
||||
case StructureType::eCustomResolveCreateInfoEXT : return "CustomResolveCreateInfoEXT";
|
||||
case StructureType::ePhysicalDeviceDataGraphModelFeaturesQCOM : return "PhysicalDeviceDataGraphModelFeaturesQCOM";
|
||||
case StructureType::eDataGraphPipelineBuiltinModelCreateInfoQCOM : return "DataGraphPipelineBuiltinModelCreateInfoQCOM";
|
||||
case StructureType::ePhysicalDeviceMaintenance10FeaturesKHR : return "PhysicalDeviceMaintenance10FeaturesKHR";
|
||||
|
|
@ -7284,13 +7294,13 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
{
|
||||
case SubpassDescriptionFlagBits::ePerViewAttributesNVX : return "PerViewAttributesNVX";
|
||||
case SubpassDescriptionFlagBits::ePerViewPositionXOnlyNVX : return "PerViewPositionXOnlyNVX";
|
||||
case SubpassDescriptionFlagBits::eFragmentRegionQCOM : return "FragmentRegionQCOM";
|
||||
case SubpassDescriptionFlagBits::eShaderResolveQCOM : return "ShaderResolveQCOM";
|
||||
case SubpassDescriptionFlagBits::eTileShadingApronQCOM : return "TileShadingApronQCOM";
|
||||
case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentColorAccessEXT : return "RasterizationOrderAttachmentColorAccessEXT";
|
||||
case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentDepthAccessEXT : return "RasterizationOrderAttachmentDepthAccessEXT";
|
||||
case SubpassDescriptionFlagBits::eRasterizationOrderAttachmentStencilAccessEXT: return "RasterizationOrderAttachmentStencilAccessEXT";
|
||||
case SubpassDescriptionFlagBits::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
|
||||
case SubpassDescriptionFlagBits::eFragmentRegionEXT : return "FragmentRegionEXT";
|
||||
case SubpassDescriptionFlagBits::eCustomResolveEXT : return "CustomResolveEXT";
|
||||
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
|
@ -7652,7 +7662,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
#if defined( VK_USE_PLATFORM_ANDROID_KHR )
|
||||
case ResolveModeFlagBits::eExternalFormatDownsampleANDROID: return "ExternalFormatDownsampleANDROID";
|
||||
#endif /*VK_USE_PLATFORM_ANDROID_KHR*/
|
||||
default: return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
case ResolveModeFlagBits::eCustomEXT: return "CustomEXT";
|
||||
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -7882,6 +7893,8 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
case RenderingFlagBits::eEnableLegacyDitheringEXT : return "EnableLegacyDitheringEXT";
|
||||
case RenderingFlagBits::eContentsInlineKHR : return "ContentsInlineKHR";
|
||||
case RenderingFlagBits::ePerLayerFragmentDensityVALVE : return "PerLayerFragmentDensityVALVE";
|
||||
case RenderingFlagBits::eFragmentRegionEXT : return "FragmentRegionEXT";
|
||||
case RenderingFlagBits::eCustomResolveEXT : return "CustomResolveEXT";
|
||||
case RenderingFlagBits::eLocalReadConcurrentAccessControlKHR: return "LocalReadConcurrentAccessControlKHR";
|
||||
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
|
|
@ -10207,18 +10220,6 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
}
|
||||
|
||||
//=== VK_NV_ray_tracing_invocation_reorder ===
|
||||
|
||||
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingInvocationReorderModeNV value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case RayTracingInvocationReorderModeNV::eNone : return "None";
|
||||
case RayTracingInvocationReorderModeNV::eReorder: return "Reorder";
|
||||
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_NV_cooperative_vector ===
|
||||
|
||||
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( CooperativeVectorMatrixLayoutNV value )
|
||||
|
|
@ -10756,6 +10757,18 @@ namespace VULKAN_HPP_NAMESPACE
|
|||
}
|
||||
}
|
||||
|
||||
//=== VK_EXT_ray_tracing_invocation_reorder ===
|
||||
|
||||
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( RayTracingInvocationReorderModeEXT value )
|
||||
{
|
||||
switch ( value )
|
||||
{
|
||||
case RayTracingInvocationReorderModeEXT::eNone : return "None";
|
||||
case RayTracingInvocationReorderModeEXT::eReorder: return "Reorder";
|
||||
default : return "invalid ( " + toHexString( static_cast<uint32_t>( value ) ) + " )";
|
||||
}
|
||||
}
|
||||
|
||||
//=== VK_EXT_depth_clamp_control ===
|
||||
|
||||
VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR_20 std::string to_string( DepthClampModeEXT value )
|
||||
|
|
|
|||
Loading…
Reference in New Issue