Reland "Merge tag 'vulkan-sdk-1.4.350.0' into main" This is a reland of commit 0f0e759e2dbba04f13d43baa41d98ef9230ed1a9 Original change's description: > Merge tag 'vulkan-sdk-1.4.350.0' into main > > Bug: 510484520 > Change-Id: I7e4e0b43e49c0c866944931af0791dacca73912b Bug: 510484520 Change-Id: I0eaacdf724109e3432ff70978425c9aad73f610c
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d71374..2d1577f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml
@@ -14,61 +14,47 @@ jobs: build_and_test: - # Use chromium as a test build, so don't run this job unless something simple works first - needs: chromium + needs: generate_source runs-on: ${{matrix.os}} strategy: matrix: config: [Debug, Release] - os: [ ubuntu-20.04, ubuntu-22.04, windows-latest, macos-latest ] + os: [ ubuntu-22.04, ubuntu-24.04, windows-latest, macos-latest ] steps: - - uses: actions/checkout@v4 - - name: Set up Python 3.8 - if: matrix.os != 'macos-latest' - uses: actions/setup-python@v5 - with: - python-version: '3.8' - # MacOS machine can run on arm64 and it doesn't support 3.8 - - name: Set up Python 3.10.11 - if: matrix.os == 'macos-latest' - uses: actions/setup-python@v5 - with: - python-version: '3.10.11' + - uses: actions/checkout@v6 - name: Test CMake Minimum - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' uses: lukka/get-cmake@latest with: - cmakeVersion: 3.17.2 + cmakeVersion: 3.22.1 - run: cmake -S. -B build -D VUL_WERROR=ON -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=${{matrix.config}} -D UPDATE_DEPS=ON - run: cmake --build build --config ${{matrix.config}} --verbose - run: ctest -C ${{matrix.config}} --output-on-failure working-directory: build/ windows-arm64: - # Use chromium as a test build, so don't run this job unless something simple works first - needs: chromium + needs: generate_source runs-on: windows-latest env: CMAKE_GENERATOR: Ninja steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: ilammy/msvc-dev-cmd@v1 with: arch: amd64_arm64 - run: cmake -S. -B build -D VUL_WERROR=ON -D CMAKE_BUILD_TYPE=Debug -D UPDATE_DEPS=ON - run: cmake --build build - run: cmake --install build --prefix build/install - + android: - # Use chromium as a test build, so don't run this job unless something simple works first - needs: chromium - runs-on: ubuntu-22.04 + needs: generate_source + runs-on: ubuntu-24.04 strategy: matrix: abi: [ armeabi-v7a, arm64-v8a ] steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: '3.8' - uses: lukka/get-cmake@latest @@ -90,31 +76,32 @@ reuse: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: REUSE Compliance Check - uses: fsfe/reuse-action@v5 + uses: fsfe/reuse-action@v6 # Test to ensure we don't accidentally break the Chromium build. - chromium: - needs: generate_source - runs-on: ubuntu-22.04 - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - name: Install WSI dependencies - run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev - - name: Test chromium build - run: python scripts/gn/gn.py + # chromium: + # needs: generate_source + # runs-on: ubuntu-24.04 + # steps: + # - uses: actions/checkout@v6 + # - uses: actions/setup-python@v6 + # with: + # python-version: '3.10' + # - name: Install WSI dependencies + # run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev + # - name: Test chromium build + # run: python scripts/gn/gn.py generate_source: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: '3.10' + - run: python3 -m pip install pyparsing - name: Generate source run: | scripts/update_deps.py --dir external --no-build
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index 0837768..a71a84d 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml
@@ -1,5 +1,5 @@ -# Copyright 2023 Valve Corporation -# Copyright 2023 LunarG, Inc. +# Copyright 2026 Valve Corporation +# Copyright 2026 LunarG, Inc. # # SPDX-License-Identifier: Apache-2.0 @@ -18,17 +18,19 @@ clang-format: name: clang-format runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - path: - - 'include' - - 'src' - - 'tests' + + env: + CLANG_FORMAT_VERSION: 18 + CLANG_FORMAT_FILES: "*.c *.h *.cpp *.hpp" + steps: - - uses: actions/checkout@v4 - - name: Run clang-format - uses: jidicula/clang-format-action@v4.14.0 - with: - clang-format-version: '14' - check-path: ${{ matrix.path }} + - uses: actions/checkout@v6.0.2 + - name: Check formatting + run: | + clang-format-${CLANG_FORMAT_VERSION} --version + for f in $(git ls-files -- ${CLANG_FORMAT_FILES}); do + echo "Checking $f" + clang-format-${CLANG_FORMAT_VERSION} -i --Werror "$f" + done + + git diff --exit-code
diff --git a/.reuse/dep5 b/.reuse/dep5 index 5d336fe..7b243dd 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5
@@ -3,6 +3,6 @@ Source: https://github.com/KhronosGroup/Vulkan-Utility-Libraries # These files are routinely updated from another repo -Files: scripts/known_good.json scripts/update_deps.py scripts/CMakeLists.txt +Files: scripts/known_good.json scripts/update_deps.py scripts/CMakeLists.txt docs/Configuring-Vulkan-Layers-Whitepaper.pdf Copyright: 2023 The Khronos Group Inc. License: Apache-2.0
diff --git a/BUILD.md b/BUILD.md index 85e420a..8b57327 100644 --- a/BUILD.md +++ b/BUILD.md
@@ -16,7 +16,7 @@ ## Requirements -1. CMake >= 3.17.2 +1. CMake >= 3.22.1 2. C++ >= c++17 compiler. See platform-specific sections below for supported compiler versions. 3. Python >= 3.8
diff --git a/CMakeLists.txt b/CMakeLists.txt index 674dcfe..8d63662 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -3,11 +3,10 @@ # Copyright 2023 LunarG, Inc. # # SPDX-License-Identifier: Apache-2.0 -cmake_minimum_required(VERSION 3.17.2) +cmake_minimum_required(VERSION 3.22.1) -project(VUL LANGUAGES CXX) - -string(COMPARE EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} VUL_IS_TOP_LEVEL) # Remove when min is 3.21 +# The VERSION field is generated with the "--generated-version" flag in the generate_source.py script +project(VUL VERSION 1.4.350 LANGUAGES CXX) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # Remove when min is 3.26, see CMP0143 @@ -25,17 +24,37 @@ add_subdirectory(scripts) -find_package(VulkanHeaders CONFIG) +find_package(VulkanHeaders ${PROJECT_VERSION} CONFIG) + +option(VUL_ENABLE_ASAN "Use address sanitization") +if (VUL_ENABLE_ASAN) + add_compile_options(-fsanitize=address) + if (NOT MSVC) + add_link_options(-fsanitize=address) + endif() +endif() + +option(VUL_ENABLE_UBSAN "Use undefined behavior sanitization") +if (VUL_ENABLE_UBSAN) + if (NOT MSVC) + add_compile_options(-fsanitize=undefined) + add_link_options(-fsanitize=undefined) + endif() +endif() add_subdirectory(src) add_subdirectory(include) -if (VUL_IS_TOP_LEVEL) +if (PROJECT_IS_TOP_LEVEL) option(BUILD_TESTS "Build tests") if (BUILD_TESTS) enable_testing() add_subdirectory(tests) endif() +endif() + +option(VUL_ENABLE_INSTALL "Enable install" ${PROJECT_IS_TOP_LEVEL}) +if (VUL_ENABLE_INSTALL) include(GNUInstallDirs) include(CMakePackageConfigHelpers) @@ -66,7 +85,7 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/VulkanUtilityLibrariesConfig.cmake.in" [=[ include(CMakeFindDependencyMacro) # NOTE: Because VulkanHeaders is a PUBLIC dependency it needs to be found prior to VulkanUtilityLibraries - find_dependency(VulkanHeaders REQUIRED) + find_dependency(VulkanHeaders @PROJECT_VERSION@ REQUIRED) @PACKAGE_INIT@ @@ -82,7 +101,22 @@ NO_CHECK_REQUIRED_COMPONENTS_MACRO ) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/VulkanUtilityLibrariesConfig.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/VulkanUtilityLibraries + write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/VulkanUtilityLibrariesConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion) + + install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/VulkanUtilityLibrariesConfig.cmake + ${CMAKE_CURRENT_BINARY_DIR}/VulkanUtilityLibrariesConfigVersion.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/VulkanUtilityLibraries) +endif() + +option(VUL_CODEGEN "Enable Vulkan-Utility-Libraries code generation") +if(VUL_CODEGEN) + find_package(Python3 REQUIRED) + add_custom_target(vul_codegen + COMMAND Python3::Interpreter ${PROJECT_SOURCE_DIR}/scripts/generate_source.py + "${VULKAN_HEADERS_INSTALL_DIR}/${CMAKE_INSTALL_DATADIR}/vulkan/registry" + --generated-version ${VulkanHeaders_VERSION} --api ${API_TYPE} ) endif()
diff --git a/docs/Configuring-Vulkan-Layers-Whitepaper.pdf b/docs/Configuring-Vulkan-Layers-Whitepaper.pdf new file mode 100644 index 0000000..d11969f --- /dev/null +++ b/docs/Configuring-Vulkan-Layers-Whitepaper.pdf Binary files differ
diff --git a/docs/layer_configuration.md b/docs/layer_configuration.md index 360fe9b..8d11d07 100644 --- a/docs/layer_configuration.md +++ b/docs/layer_configuration.md
@@ -22,34 +22,41 @@ Vulkan layers allow application developers to add functionality to Vulkan applications without modifying the application itself, e.g., validating API usages, dumping API entry points or generating screenshots of specified frames. +A *layers configuration* consists in two operations: +- Selecting and ordering layers. +- Configuring each layer themselves using layer settings. + Vulkan layers can be configured using three different methods to match specific Vulkan developers' workflows: -- Using the Vulkan API: `vkCreateInstance()` and the [VK_EXT_layer_settings](https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_layer_settings.html) extension. - - `VK_EXT_layer_settings` is now an official extension as of `1.3.272` -- Using the `vk_layer_settings.txt` file, that can be generated by the GUI interface called *[Vulkan Configurator](https://vulkan.lunarg.com/doc/sdk/latest/windows/vkconfig.html)*. -- Using environment variables. +- Using Environment variables: [Loader environment variables](https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md) and [per-layer settings environment variables](https://github.com/KhronosGroup/Vulkan-Utility-Libraries/blob/main/docs/layer_configuration.md#layer-settings-environment-variables). +- Using dedicated Vulkan system files: [`vk_loader_settings.json`](https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderSettingsFile.md) and [`vk_layer_settings.txt`](https://github.com/KhronosGroup/Vulkan-Utility-Libraries/blob/main/docs/layer_configuration.md#configuring-the-layers-using-the-settings-file-vk_layer_settingstxt). +- Using the Vulkan API, programmably in the Vulkan application: [`vkCreateInstance`](https://docs.vulkan.org/refpages/latest/refpages/source/vkCreateInstance.html) and [`VK_EXT_layer_settings`](https://github.com/KhronosGroup/Vulkan-Utility-Libraries/blob/main/docs/layer_configuration.md#configuring-the-layer-settings-using-vk_ext_layer_settings) extension. + +Since three methods exist and can be used simultanously, here is the priority order: +1. Environment variables. +2. Using dedicated Vulkan system files. +3. Using the Vulkan API, programmably in the Vulkan application. + +[*Vulkan Configurator*](https://github.com/LunarG/VulkanTools/blob/main/vkconfig_gui/README.md) simplifies the usage of these three methods. Using the graphical user interface, we can create *layers configuration*. The tool automatically create and locate the `vk_loader_settings.json` and `vk_layer_settings.txt` files. It can also be used to generate environment variables scripts and a C++ header library that can be directly included within the Vulkan application code. These three methods are implemented by the **Vulkan Layer Settings** library part of the *[Vulkan-Utility-Libraries](https://github.com/KhronosGroup/Vulkan-Utility-Libraries)* repository. Any layer project that uses this library will provide these three methods to control layer settings bringing consistency and easy of use of layers to the Vulkan community. -Configuring layers means multiple tasks: Enabling layers; Ordering layers; Configuring the layers capabilities. These three aspects are described with each method to configure layers. +For each of these methods, it's possible for Vulkan application developers to generate environment variables scripts and C++ code from Vulkan Configurator, using either the GUI (using the context menu of each layers configuration) or the command line (using `vkconfig settings`). This generated files can either implement the default layer setting values of the values selected in the Vulkan Configurator GUI. -Since a setting can be set via multiple methods here is the priority order: -1. Environment variable -2. vk_layer_settings.txt -3. `VK_EXT_layer_settings` +For more information, read the [Vulkan Layers whitepaper](https://github.com/KhronosGroup/Vulkan-Utility-Libraries/blob/main/docs/Configuring-Vulkan-Layers-Whitepaper.pdf). -**Guideline: Settings which are unknown by the layer will be ignored independently of the method. It's the responsibility of the layer developer to ensure backward compatibility with previous versions of the layer. This is to ensure the list of layer settings remain stable across versions and that the responsibility of handling layer backward compatibility doesn't fall on Vulkan application developers as this could quickly become untrackable.**. +Guideline: Settings which are unknown by the layer will be ignored independently of the method. It's the responsibility of the layer developer to ensure backward compatibility with previous versions of the layer. This is to ensure the list of layer settings remain stable across versions and that the responsibility of handling layer backward compatibility doesn't fall on Vulkan application developers as this could quickly become untrackable.. ## Configuring Vulkan Layers using the *Vulkan API* ### Enabling and ordering the layer using `vkCreateInstance()` -Applications may programmatically activate layers via the `vkCreateInstance()` entry point. This -is done by setting `enabledLayerCount` and `ppEnabledLayerNames` in the `VkInstanceCreateInfo` -structure. +Applications may programmatically activate layers via the `vkCreateInstance()` entry point. This is done by setting `enabledLayerCount` and `ppEnabledLayerNames` in the `VkInstanceCreateInfo` structure. -The layer names order in `ppEnabledLayerNames` specifies the layers execution ordering from closer to the Vulkan application to closer -to the Vulkan driver. +The layer names order in `ppEnabledLayerNames` specifies the layers execution ordering from closer to the Vulkan application to closer to the Vulkan driver. + +Layer properties can be queried from an application with [vkEnumerateInstanceLayerProperties](https://docs.vulkan.org/spec/latest/chapters/extensions.html#vkEnumerateInstanceLayerProperties[vkEnumerateInstanceLayerProperties). + #### Code example to enable and order the validation and the profiles layers programmatically @@ -72,7 +79,7 @@ ### Configuring the layer settings using `VK_EXT_layer_settings` -Layer settings may be configured using the `VK_EXT_layer_settings` extension by initializing the `VkLayerSettingsCreateInfoEXT` structure and chaining it to the `pNext` of `VkInstanceCreateInfo` when creating a Vulkan instance. +Introduced with Vulkan `1.3.272`, layer settings may be configured using the `VK_EXT_layer_settings` extension by initializing the `VkLayerSettingsCreateInfoEXT` structure and chaining it to the `pNext` of `VkInstanceCreateInfo` when creating a Vulkan instance. #### Code example to configure the validation layer programmatically @@ -92,7 +99,7 @@ {layer_name, "validate_sync", VK_LAYER_SETTING_TYPE_BOOL32_EXT, 1, &setting_validate_sync}, {layer_name, "thread_safety", VK_LAYER_SETTING_TYPE_BOOL32_EXT, 1, &setting_thread_safety}, {layer_name, "debug_action", VK_LAYER_SETTING_TYPE_STRING_EXT, 1, setting_debug_action}, - {layer_name, "report_flags", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast<uint32_t>(std::size(setting_report_flags)), setting_report_flags} + {layer_name, "report_flags", VK_LAYER_SETTING_TYPE_STRING_EXT, static_cast<uint32_t>(std::size(setting_report_flags)), setting_report_flags}, {layer_name, "enable_message_limit", VK_LAYER_SETTING_TYPE_BOOL32_EXT, 1, &setting_enable_message_limit}, {layer_name, "duplicate_message_limit", VK_LAYER_SETTING_TYPE_INT32_EXT, 1, &setting_duplicate_message_limit}}; @@ -115,6 +122,39 @@ VkResult result = vkCreateInstance(&inst_create_info, nullptr, &instance); ``` +### Configuring the layer settings using `VK_EXT_layer_settings` C++ helper library + +In Vulkan Configurator UI, using the context menu of each layers configuration, it's possible to generate a C++ helper library ("vulkan_layer_settings.hpp") matching the layer settings of the selected layers configuration. + +```cpp +#include "vulkan_layer_settings.hpp" +... + + // Create an object with all the settigns initialized + LayerSettings layer_settings; + + // We can modify the setting values: + layer_settings.validation.report_flags = {"error", "warn"}; + + const VkLayerSettingsCreateInfoEXT layer_settings_create_info = { + VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT, nullptr, + static_cast<uint32_t>(layer_settings.info().size()), &layer_settings.info()[0]}; + + const VkApplicationInfo app_info = initAppInfo(); + + const char* layers[] = {layer_name}; + + const VkInstanceCreateInfo inst_create_info = { + VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO, &layer_settings_create_info, 0, + &app_info, + static_cast<uint32_t>(std::size(layers)), layers, + 0, nullptr + }; + + VkInstance instance = VK_NULL_HANDLE; + VkResult result = vkCreateInstance(&inst_create_info, nullptr, &instance); +``` + ## Configuring Vulkan Layers using *Vulkan Configurator* Developers can configure layers through a graphical user interface. *Vulkan Configurator* allows full user control of Vulkan layers, including enabling or disabling specific layers, controlling layer order, changing layer settings, etc. @@ -125,9 +165,27 @@ We recommend using *Vulkan Configurator* GUI approach for Vulkan application developers. It's the most effective approach to switch between multiple layer configurations and quickly iterate during development. Additionally, *Vulkan Configurator* presents to the Vulkan application developers the layers found on the system and the settings of each layer, allowing Vulkan application developers to discover new functionality from the GUI without having to dig into each layer documentation. +### Enabling and ordering the layer with the Vulkan Loader settings file (`vk_loader_settings.json`) + +Introduced with Vulkan Configurator 3 and Vulkan Loader 1.4.304, to control the enabled layers and the layer order, *Vulkan Configurator 3* generates the `vk_loader_settings.json` file, which is consumed by the Vulkan loader to enable Vulkan layers and control the order of the layers. This file also stores the user-defined paths specified in *Vulkan Configurator 3* to find additional layers. + +#### The Vulkan Loader settings file on Linux and macOS + +Unix systems store override layer file in the following paths: + +- `$HOME/.local/share/vulkan/loader_settings.d/vk_loader_settings.json` + +#### The Vulkan Loader settings file on Windows + +Windows systems store the override layer file in the following path: + +- `%HOME%\AppData\Local\LunarG\vulkan\vk_loader_settings.json` + ### Enabling and ordering the layer with the override layer file (`VkLayer_override.json`) -To control the enabled layers and the layer order, *Vulkan Configurator* generates the `VkLayer_override.json` file, which is consumed by the Vulkan loader to enable Vulkan layers and control the order of the layers. This file also stores the user-defined paths specified in *Vulkan Configurator* to find additional layers. +To control the enabled layers and the layer order, *Vulkan Configurator 2* generates the `VkLayer_override.json` file, which is consumed by the Vulkan loader to enable Vulkan layers and control the order of the layers. This file also stores the user-defined paths specified in *Vulkan Configurator 2* to find additional layers. + +The `VkLayer_override.json` file is no longer generated or used by *Vulkan Configurator 3* #### The override layer file on Linux and macOS @@ -332,9 +390,11 @@ The environment variable names for the layer settings have multiple variants that follows the format: - VK_`<`*`LayerVendor`*`>_`<`*`LayerName`*`>_<`*`setting_name`*`>` which take precedent over: - VK_`<`*`LayerName`*`>_<`*`setting_name`*`>` which take precedent over: - VK_`<`*`setting_name`*`>` +- `VK_<`*`LayerVendor`*`>_<`*`LayerName`*`>_<`*`setting_name`*`>` which take precedent over: +- `VK_<`*`LayerName`*`>_<`*`setting_name`*`>` which take precedent over: +- `VK_<`*`setting_name`*`>` + +A few settings may be available under the deprecated format `VK_LAYER_<`*`setting_name`*`>`, which is discouraged from further being used. This approach allows to share the same setting name for potentially multiple layers but still use different values for the same setting name if this is what is required for the Vulkan developer use case. @@ -368,4 +428,14 @@ $ export VK_VALIDATION_REPORT_FLAGS=debug:error:perf:info:warn $ export VK_VALIDATION_ENABLE_MESSAGE_LIMIT=true $ export VK_VALIDATION_DUPLICATE_MESSAGE_LIMIT=3 -``` \ No newline at end of file +``` + +#### Example Usage on Android: + +``` +$ adb setprop debug.vvl.validation_core true +$ adb setprop debug.vulkan.validation.validation_sync true +$ adb setprop debug.vulkan.validation.thread_safety true +$ adb setprop debug.vulkan.validation.enable_message_limit true +$ adb setprop debug.vulkan.validation.duplicate_message_limit 3 +```
diff --git a/include/vulkan/layer/vk_layer_settings.h b/include/vulkan/layer/vk_layer_settings.h index 92e798c..2709917 100644 --- a/include/vulkan/layer/vk_layer_settings.h +++ b/include/vulkan/layer/vk_layer_settings.h
@@ -70,8 +70,9 @@ const VkLayerSettingsCreateInfoEXT *vkuNextLayerSettingsCreateInfo(const VkLayerSettingsCreateInfoEXT *pCreateInfo); // Return the list of Unknown setting in VkLayerSettingsCreateInfoEXT -VkResult vkuGetUnknownSettings(const VkLayerSettingsCreateInfoEXT *pFirstCreateInfo, uint32_t settingsCount, const char **pSettings, - uint32_t *pUnknownSettingCount, const char **pUnknownSettings); +VkResult vkuGetUnknownSettings(VkuLayerSettingSet layerSettingSet, uint32_t layerSettingsCount, const char **pLayerSettings, + const VkLayerSettingsCreateInfoEXT *pFirstCreateInfo, uint32_t *pUnknownSettingCount, + const char **pUnknownSettings); #ifdef __cplusplus }
diff --git a/include/vulkan/layer/vk_layer_settings.hpp b/include/vulkan/layer/vk_layer_settings.hpp index fbee6da..8bcbaeb 100644 --- a/include/vulkan/layer/vk_layer_settings.hpp +++ b/include/vulkan/layer/vk_layer_settings.hpp
@@ -57,12 +57,6 @@ VkResult vkuGetLayerSettingValues(VkuLayerSettingSet layerSettingSet, const char *pSettingName, std::vector<VkuFrameset> &settingValues); -// Required by vk_safe_struct -typedef std::pair<uint32_t, uint32_t> VkuCustomSTypeInfo; - -VkResult vkuGetLayerSettingValues(VkuLayerSettingSet layerSettingSet, const char *pSettingName, - std::vector<VkuCustomSTypeInfo> &settingValues); - // Return the list of Unknown setting in all VkLayerSettingsCreateInfoEXT -VkResult vkuGetUnknownSettings(const VkLayerSettingsCreateInfoEXT *pFirstCreateInfo, uint32_t settingsCount, const char **pSettings, - std::vector<const char *> &unknownSettings); +VkResult vkuGetUnknownSettings(VkuLayerSettingSet layerSettingSet, uint32_t layerSettingsCount, const char **pLayerSettings, + const VkLayerSettingsCreateInfoEXT *pFirstCreateInfo, std::vector<const char *> &unknownSettings);
diff --git a/include/vulkan/utility/vk_concurrent_unordered_map.hpp b/include/vulkan/utility/vk_concurrent_unordered_map.hpp index 57b5810..a6e9b1c 100644 --- a/include/vulkan/utility/vk_concurrent_unordered_map.hpp +++ b/include/vulkan/utility/vk_concurrent_unordered_map.hpp
@@ -174,12 +174,12 @@ } bool empty() const { - bool result = 0; - for (int h = 0; h < BUCKETS; ++h) { + bool all_maps_empty = true; + for (size_t h = 0; h < BUCKETS; ++h) { ReadLockGuard lock(locks[h].lock); - result |= maps[h].empty(); + all_maps_empty &= maps[h].empty(); } - return result; + return all_maps_empty; } private:
diff --git a/include/vulkan/utility/vk_dispatch_table.h b/include/vulkan/utility/vk_dispatch_table.h index d8f80c4..f87414d 100644 --- a/include/vulkan/utility/vk_dispatch_table.h +++ b/include/vulkan/utility/vk_dispatch_table.h
@@ -131,6 +131,7 @@ PFN_vkCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT; PFN_vkDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT; PFN_vkSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT; + PFN_vkGetPhysicalDeviceDescriptorSizeEXT GetPhysicalDeviceDescriptorSizeEXT; PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT GetPhysicalDeviceMultisamplePropertiesEXT; PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT GetPhysicalDeviceCalibrateableTimeDomainsEXT; #ifdef VK_USE_PLATFORM_FUCHSIA @@ -160,8 +161,23 @@ PFN_vkCreateScreenSurfaceQNX CreateScreenSurfaceQNX; PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX GetPhysicalDeviceScreenPresentationSupportQNX; #endif // VK_USE_PLATFORM_SCREEN_QNX + PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM GetPhysicalDeviceExternalTensorPropertiesARM; PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV GetPhysicalDeviceOpticalFlowImageFormatsNV; + PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM; +#ifdef VK_USE_PLATFORM_OHOS + PFN_vkCreateSurfaceOHOS CreateSurfaceOHOS; +#endif // VK_USE_PLATFORM_OHOS PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV; + PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM; + PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM EnumeratePhysicalDeviceShaderInstrumentationMetricsARM; + PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM; +#ifdef VK_USE_PLATFORM_UBM_SEC + PFN_vkCreateUbmSurfaceSEC CreateUbmSurfaceSEC; + PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC GetPhysicalDeviceUbmPresentationSupportSEC; +#endif // VK_USE_PLATFORM_UBM_SEC } VkuInstanceDispatchTable; // Device function pointer dispatch table @@ -192,30 +208,50 @@ PFN_vkWaitForFences WaitForFences; PFN_vkCreateSemaphore CreateSemaphore; PFN_vkDestroySemaphore DestroySemaphore; - PFN_vkCreateEvent CreateEvent; - PFN_vkDestroyEvent DestroyEvent; - PFN_vkGetEventStatus GetEventStatus; - PFN_vkSetEvent SetEvent; - PFN_vkResetEvent ResetEvent; PFN_vkCreateQueryPool CreateQueryPool; PFN_vkDestroyQueryPool DestroyQueryPool; PFN_vkGetQueryPoolResults GetQueryPoolResults; PFN_vkCreateBuffer CreateBuffer; PFN_vkDestroyBuffer DestroyBuffer; - PFN_vkCreateBufferView CreateBufferView; - PFN_vkDestroyBufferView DestroyBufferView; PFN_vkCreateImage CreateImage; PFN_vkDestroyImage DestroyImage; PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout; PFN_vkCreateImageView CreateImageView; PFN_vkDestroyImageView DestroyImageView; + PFN_vkCreateCommandPool CreateCommandPool; + PFN_vkDestroyCommandPool DestroyCommandPool; + PFN_vkResetCommandPool ResetCommandPool; + PFN_vkAllocateCommandBuffers AllocateCommandBuffers; + PFN_vkFreeCommandBuffers FreeCommandBuffers; + PFN_vkBeginCommandBuffer BeginCommandBuffer; + PFN_vkEndCommandBuffer EndCommandBuffer; + PFN_vkResetCommandBuffer ResetCommandBuffer; + PFN_vkCmdCopyBuffer CmdCopyBuffer; + PFN_vkCmdCopyImage CmdCopyImage; + PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; + PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; + PFN_vkCmdUpdateBuffer CmdUpdateBuffer; + PFN_vkCmdFillBuffer CmdFillBuffer; + PFN_vkCmdPipelineBarrier CmdPipelineBarrier; + PFN_vkCmdBeginQuery CmdBeginQuery; + PFN_vkCmdEndQuery CmdEndQuery; + PFN_vkCmdResetQueryPool CmdResetQueryPool; + PFN_vkCmdWriteTimestamp CmdWriteTimestamp; + PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; + PFN_vkCmdExecuteCommands CmdExecuteCommands; + PFN_vkCreateEvent CreateEvent; + PFN_vkDestroyEvent DestroyEvent; + PFN_vkGetEventStatus GetEventStatus; + PFN_vkSetEvent SetEvent; + PFN_vkResetEvent ResetEvent; + PFN_vkCreateBufferView CreateBufferView; + PFN_vkDestroyBufferView DestroyBufferView; PFN_vkCreateShaderModule CreateShaderModule; PFN_vkDestroyShaderModule DestroyShaderModule; PFN_vkCreatePipelineCache CreatePipelineCache; PFN_vkDestroyPipelineCache DestroyPipelineCache; PFN_vkGetPipelineCacheData GetPipelineCacheData; PFN_vkMergePipelineCaches MergePipelineCaches; - PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; PFN_vkCreateComputePipelines CreateComputePipelines; PFN_vkDestroyPipeline DestroyPipeline; PFN_vkCreatePipelineLayout CreatePipelineLayout; @@ -230,20 +266,21 @@ PFN_vkAllocateDescriptorSets AllocateDescriptorSets; PFN_vkFreeDescriptorSets FreeDescriptorSets; PFN_vkUpdateDescriptorSets UpdateDescriptorSets; + PFN_vkCmdBindPipeline CmdBindPipeline; + PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; + PFN_vkCmdClearColorImage CmdClearColorImage; + PFN_vkCmdDispatch CmdDispatch; + PFN_vkCmdDispatchIndirect CmdDispatchIndirect; + PFN_vkCmdSetEvent CmdSetEvent; + PFN_vkCmdResetEvent CmdResetEvent; + PFN_vkCmdWaitEvents CmdWaitEvents; + PFN_vkCmdPushConstants CmdPushConstants; + PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines; PFN_vkCreateFramebuffer CreateFramebuffer; PFN_vkDestroyFramebuffer DestroyFramebuffer; PFN_vkCreateRenderPass CreateRenderPass; PFN_vkDestroyRenderPass DestroyRenderPass; PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity; - PFN_vkCreateCommandPool CreateCommandPool; - PFN_vkDestroyCommandPool DestroyCommandPool; - PFN_vkResetCommandPool ResetCommandPool; - PFN_vkAllocateCommandBuffers AllocateCommandBuffers; - PFN_vkFreeCommandBuffers FreeCommandBuffers; - PFN_vkBeginCommandBuffer BeginCommandBuffer; - PFN_vkEndCommandBuffer EndCommandBuffer; - PFN_vkResetCommandBuffer ResetCommandBuffer; - PFN_vkCmdBindPipeline CmdBindPipeline; PFN_vkCmdSetViewport CmdSetViewport; PFN_vkCmdSetScissor CmdSetScissor; PFN_vkCmdSetLineWidth CmdSetLineWidth; @@ -253,62 +290,35 @@ PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask; PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask; PFN_vkCmdSetStencilReference CmdSetStencilReference; - PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets; PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer; PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers; PFN_vkCmdDraw CmdDraw; PFN_vkCmdDrawIndexed CmdDrawIndexed; PFN_vkCmdDrawIndirect CmdDrawIndirect; PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect; - PFN_vkCmdDispatch CmdDispatch; - PFN_vkCmdDispatchIndirect CmdDispatchIndirect; - PFN_vkCmdCopyBuffer CmdCopyBuffer; - PFN_vkCmdCopyImage CmdCopyImage; PFN_vkCmdBlitImage CmdBlitImage; - PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage; - PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer; - PFN_vkCmdUpdateBuffer CmdUpdateBuffer; - PFN_vkCmdFillBuffer CmdFillBuffer; - PFN_vkCmdClearColorImage CmdClearColorImage; PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage; PFN_vkCmdClearAttachments CmdClearAttachments; PFN_vkCmdResolveImage CmdResolveImage; - PFN_vkCmdSetEvent CmdSetEvent; - PFN_vkCmdResetEvent CmdResetEvent; - PFN_vkCmdWaitEvents CmdWaitEvents; - PFN_vkCmdPipelineBarrier CmdPipelineBarrier; - PFN_vkCmdBeginQuery CmdBeginQuery; - PFN_vkCmdEndQuery CmdEndQuery; - PFN_vkCmdResetQueryPool CmdResetQueryPool; - PFN_vkCmdWriteTimestamp CmdWriteTimestamp; - PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults; - PFN_vkCmdPushConstants CmdPushConstants; PFN_vkCmdBeginRenderPass CmdBeginRenderPass; PFN_vkCmdNextSubpass CmdNextSubpass; PFN_vkCmdEndRenderPass CmdEndRenderPass; - PFN_vkCmdExecuteCommands CmdExecuteCommands; PFN_vkBindBufferMemory2 BindBufferMemory2; PFN_vkBindImageMemory2 BindImageMemory2; PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures; PFN_vkCmdSetDeviceMask CmdSetDeviceMask; - PFN_vkCmdDispatchBase CmdDispatchBase; PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2; PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2; PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2; PFN_vkTrimCommandPool TrimCommandPool; PFN_vkGetDeviceQueue2 GetDeviceQueue2; - PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion; - PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion; + PFN_vkCmdDispatchBase CmdDispatchBase; PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate; PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate; PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate; PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport; - PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount; - PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount; - PFN_vkCreateRenderPass2 CreateRenderPass2; - PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2; - PFN_vkCmdNextSubpass2 CmdNextSubpass2; - PFN_vkCmdEndRenderPass2 CmdEndRenderPass2; + PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion; + PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion; PFN_vkResetQueryPool ResetQueryPool; PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue; PFN_vkWaitSemaphores WaitSemaphores; @@ -316,13 +326,16 @@ PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress; PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress; PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress; + PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount; + PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount; + PFN_vkCreateRenderPass2 CreateRenderPass2; + PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2; + PFN_vkCmdNextSubpass2 CmdNextSubpass2; + PFN_vkCmdEndRenderPass2 CmdEndRenderPass2; PFN_vkCreatePrivateDataSlot CreatePrivateDataSlot; PFN_vkDestroyPrivateDataSlot DestroyPrivateDataSlot; PFN_vkSetPrivateData SetPrivateData; PFN_vkGetPrivateData GetPrivateData; - PFN_vkCmdSetEvent2 CmdSetEvent2; - PFN_vkCmdResetEvent2 CmdResetEvent2; - PFN_vkCmdWaitEvents2 CmdWaitEvents2; PFN_vkCmdPipelineBarrier2 CmdPipelineBarrier2; PFN_vkCmdWriteTimestamp2 CmdWriteTimestamp2; PFN_vkQueueSubmit2 QueueSubmit2; @@ -330,6 +343,12 @@ PFN_vkCmdCopyImage2 CmdCopyImage2; PFN_vkCmdCopyBufferToImage2 CmdCopyBufferToImage2; PFN_vkCmdCopyImageToBuffer2 CmdCopyImageToBuffer2; + PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements; + PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements; + PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements; + PFN_vkCmdSetEvent2 CmdSetEvent2; + PFN_vkCmdResetEvent2 CmdResetEvent2; + PFN_vkCmdWaitEvents2 CmdWaitEvents2; PFN_vkCmdBlitImage2 CmdBlitImage2; PFN_vkCmdResolveImage2 CmdResolveImage2; PFN_vkCmdBeginRendering CmdBeginRendering; @@ -349,28 +368,25 @@ PFN_vkCmdSetRasterizerDiscardEnable CmdSetRasterizerDiscardEnable; PFN_vkCmdSetDepthBiasEnable CmdSetDepthBiasEnable; PFN_vkCmdSetPrimitiveRestartEnable CmdSetPrimitiveRestartEnable; - PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements; - PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements; - PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements; - PFN_vkCmdSetLineStipple CmdSetLineStipple; PFN_vkMapMemory2 MapMemory2; PFN_vkUnmapMemory2 UnmapMemory2; - PFN_vkCmdBindIndexBuffer2 CmdBindIndexBuffer2; - PFN_vkGetRenderingAreaGranularity GetRenderingAreaGranularity; PFN_vkGetDeviceImageSubresourceLayout GetDeviceImageSubresourceLayout; PFN_vkGetImageSubresourceLayout2 GetImageSubresourceLayout2; - PFN_vkCmdPushDescriptorSet CmdPushDescriptorSet; - PFN_vkCmdPushDescriptorSetWithTemplate CmdPushDescriptorSetWithTemplate; - PFN_vkCmdSetRenderingAttachmentLocations CmdSetRenderingAttachmentLocations; - PFN_vkCmdSetRenderingInputAttachmentIndices CmdSetRenderingInputAttachmentIndices; - PFN_vkCmdBindDescriptorSets2 CmdBindDescriptorSets2; - PFN_vkCmdPushConstants2 CmdPushConstants2; - PFN_vkCmdPushDescriptorSet2 CmdPushDescriptorSet2; - PFN_vkCmdPushDescriptorSetWithTemplate2 CmdPushDescriptorSetWithTemplate2; PFN_vkCopyMemoryToImage CopyMemoryToImage; PFN_vkCopyImageToMemory CopyImageToMemory; PFN_vkCopyImageToImage CopyImageToImage; PFN_vkTransitionImageLayout TransitionImageLayout; + PFN_vkCmdPushDescriptorSet CmdPushDescriptorSet; + PFN_vkCmdPushDescriptorSetWithTemplate CmdPushDescriptorSetWithTemplate; + PFN_vkCmdBindDescriptorSets2 CmdBindDescriptorSets2; + PFN_vkCmdPushConstants2 CmdPushConstants2; + PFN_vkCmdPushDescriptorSet2 CmdPushDescriptorSet2; + PFN_vkCmdPushDescriptorSetWithTemplate2 CmdPushDescriptorSetWithTemplate2; + PFN_vkCmdSetLineStipple CmdSetLineStipple; + PFN_vkCmdBindIndexBuffer2 CmdBindIndexBuffer2; + PFN_vkGetRenderingAreaGranularity GetRenderingAreaGranularity; + PFN_vkCmdSetRenderingAttachmentLocations CmdSetRenderingAttachmentLocations; + PFN_vkCmdSetRenderingInputAttachmentIndices CmdSetRenderingInputAttachmentIndices; PFN_vkCreateSwapchainKHR CreateSwapchainKHR; PFN_vkDestroySwapchainKHR DestroySwapchainKHR; PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR; @@ -465,6 +481,28 @@ PFN_vkCmdPipelineBarrier2KHR CmdPipelineBarrier2KHR; PFN_vkCmdWriteTimestamp2KHR CmdWriteTimestamp2KHR; PFN_vkQueueSubmit2KHR QueueSubmit2KHR; + PFN_vkCmdBindIndexBuffer3KHR CmdBindIndexBuffer3KHR; + PFN_vkCmdBindVertexBuffers3KHR CmdBindVertexBuffers3KHR; + PFN_vkCmdDrawIndirect2KHR CmdDrawIndirect2KHR; + PFN_vkCmdDrawIndexedIndirect2KHR CmdDrawIndexedIndirect2KHR; + PFN_vkCmdDispatchIndirect2KHR CmdDispatchIndirect2KHR; + PFN_vkCmdCopyMemoryKHR CmdCopyMemoryKHR; + PFN_vkCmdCopyMemoryToImageKHR CmdCopyMemoryToImageKHR; + PFN_vkCmdCopyImageToMemoryKHR CmdCopyImageToMemoryKHR; + PFN_vkCmdUpdateMemoryKHR CmdUpdateMemoryKHR; + PFN_vkCmdFillMemoryKHR CmdFillMemoryKHR; + PFN_vkCmdCopyQueryPoolResultsToMemoryKHR CmdCopyQueryPoolResultsToMemoryKHR; + PFN_vkCmdDrawIndirectCount2KHR CmdDrawIndirectCount2KHR; + PFN_vkCmdDrawIndexedIndirectCount2KHR CmdDrawIndexedIndirectCount2KHR; + PFN_vkCmdBeginConditionalRendering2EXT CmdBeginConditionalRendering2EXT; + PFN_vkCmdBindTransformFeedbackBuffers2EXT CmdBindTransformFeedbackBuffers2EXT; + PFN_vkCmdBeginTransformFeedback2EXT CmdBeginTransformFeedback2EXT; + PFN_vkCmdEndTransformFeedback2EXT CmdEndTransformFeedback2EXT; + PFN_vkCmdDrawIndirectByteCount2EXT CmdDrawIndirectByteCount2EXT; + PFN_vkCmdDrawMeshTasksIndirect2EXT CmdDrawMeshTasksIndirect2EXT; + PFN_vkCmdDrawMeshTasksIndirectCount2EXT CmdDrawMeshTasksIndirectCount2EXT; + PFN_vkCmdWriteMarkerToMemoryAMD CmdWriteMarkerToMemoryAMD; + PFN_vkCreateAccelerationStructure2KHR CreateAccelerationStructure2KHR; PFN_vkCmdCopyBuffer2KHR CmdCopyBuffer2KHR; PFN_vkCmdCopyImage2KHR CmdCopyImage2KHR; PFN_vkCmdCopyBufferToImage2KHR CmdCopyBufferToImage2KHR; @@ -479,11 +517,13 @@ PFN_vkGetRenderingAreaGranularityKHR GetRenderingAreaGranularityKHR; PFN_vkGetDeviceImageSubresourceLayoutKHR GetDeviceImageSubresourceLayoutKHR; PFN_vkGetImageSubresourceLayout2KHR GetImageSubresourceLayout2KHR; + PFN_vkWaitForPresent2KHR WaitForPresent2KHR; PFN_vkCreatePipelineBinariesKHR CreatePipelineBinariesKHR; PFN_vkDestroyPipelineBinaryKHR DestroyPipelineBinaryKHR; PFN_vkGetPipelineKeyKHR GetPipelineKeyKHR; PFN_vkGetPipelineBinaryDataKHR GetPipelineBinaryDataKHR; PFN_vkReleaseCapturedPipelineDataKHR ReleaseCapturedPipelineDataKHR; + PFN_vkReleaseSwapchainImagesKHR ReleaseSwapchainImagesKHR; PFN_vkCmdSetLineStippleKHR CmdSetLineStippleKHR; PFN_vkGetCalibratedTimestampsKHR GetCalibratedTimestampsKHR; PFN_vkCmdBindDescriptorSets2KHR CmdBindDescriptorSets2KHR; @@ -492,6 +532,11 @@ PFN_vkCmdPushDescriptorSetWithTemplate2KHR CmdPushDescriptorSetWithTemplate2KHR; PFN_vkCmdSetDescriptorBufferOffsets2EXT CmdSetDescriptorBufferOffsets2EXT; PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT CmdBindDescriptorBufferEmbeddedSamplers2EXT; + PFN_vkCmdCopyMemoryIndirectKHR CmdCopyMemoryIndirectKHR; + PFN_vkCmdCopyMemoryToImageIndirectKHR CmdCopyMemoryToImageIndirectKHR; + PFN_vkGetDeviceFaultReportsKHR GetDeviceFaultReportsKHR; + PFN_vkGetDeviceFaultDebugInfoKHR GetDeviceFaultDebugInfoKHR; + PFN_vkCmdEndRendering2KHR CmdEndRendering2KHR; PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT; PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT; PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT; @@ -511,6 +556,7 @@ PFN_vkGetImageViewHandleNVX GetImageViewHandleNVX; PFN_vkGetImageViewHandle64NVX GetImageViewHandle64NVX; PFN_vkGetImageViewAddressNVX GetImageViewAddressNVX; + PFN_vkGetDeviceCombinedImageSamplerIndexNVX GetDeviceCombinedImageSamplerIndexNVX; PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD; PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD; PFN_vkGetShaderInfoAMD GetShaderInfoAMD; @@ -551,6 +597,15 @@ PFN_vkCmdDispatchGraphIndirectAMDX CmdDispatchGraphIndirectAMDX; PFN_vkCmdDispatchGraphIndirectCountAMDX CmdDispatchGraphIndirectCountAMDX; #endif // VK_ENABLE_BETA_EXTENSIONS + PFN_vkWriteSamplerDescriptorsEXT WriteSamplerDescriptorsEXT; + PFN_vkWriteResourceDescriptorsEXT WriteResourceDescriptorsEXT; + PFN_vkCmdBindSamplerHeapEXT CmdBindSamplerHeapEXT; + PFN_vkCmdBindResourceHeapEXT CmdBindResourceHeapEXT; + PFN_vkCmdPushDataEXT CmdPushDataEXT; + PFN_vkGetImageOpaqueCaptureDataEXT GetImageOpaqueCaptureDataEXT; + PFN_vkRegisterCustomBorderColorEXT RegisterCustomBorderColorEXT; + PFN_vkUnregisterCustomBorderColorEXT UnregisterCustomBorderColorEXT; + PFN_vkGetTensorOpaqueCaptureDataARM GetTensorOpaqueCaptureDataARM; PFN_vkCmdSetSampleLocationsEXT CmdSetSampleLocationsEXT; PFN_vkGetImageDrmFormatModifierPropertiesEXT GetImageDrmFormatModifierPropertiesEXT; PFN_vkCreateValidationCacheEXT CreateValidationCacheEXT; @@ -585,6 +640,10 @@ PFN_vkCmdSetCheckpointNV CmdSetCheckpointNV; PFN_vkGetQueueCheckpointDataNV GetQueueCheckpointDataNV; PFN_vkGetQueueCheckpointData2NV GetQueueCheckpointData2NV; + PFN_vkSetSwapchainPresentTimingQueueSizeEXT SetSwapchainPresentTimingQueueSizeEXT; + PFN_vkGetSwapchainTimingPropertiesEXT GetSwapchainTimingPropertiesEXT; + PFN_vkGetSwapchainTimeDomainPropertiesEXT GetSwapchainTimeDomainPropertiesEXT; + PFN_vkGetPastPresentationTimingEXT GetPastPresentationTimingEXT; PFN_vkInitializePerformanceApiINTEL InitializePerformanceApiINTEL; PFN_vkUninitializePerformanceApiINTEL UninitializePerformanceApiINTEL; PFN_vkCmdSetPerformanceMarkerINTEL CmdSetPerformanceMarkerINTEL; @@ -632,12 +691,18 @@ PFN_vkDestroyPrivateDataSlotEXT DestroyPrivateDataSlotEXT; PFN_vkSetPrivateDataEXT SetPrivateDataEXT; PFN_vkGetPrivateDataEXT GetPrivateDataEXT; + PFN_vkQueueSetPerfHintQCOM QueueSetPerfHintQCOM; +#ifdef VK_ENABLE_BETA_EXTENSIONS PFN_vkCreateCudaModuleNV CreateCudaModuleNV; PFN_vkGetCudaModuleCacheNV GetCudaModuleCacheNV; PFN_vkCreateCudaFunctionNV CreateCudaFunctionNV; PFN_vkDestroyCudaModuleNV DestroyCudaModuleNV; PFN_vkDestroyCudaFunctionNV DestroyCudaFunctionNV; PFN_vkCmdCudaLaunchKernelNV CmdCudaLaunchKernelNV; +#endif // VK_ENABLE_BETA_EXTENSIONS + PFN_vkCmdDispatchTileQCOM CmdDispatchTileQCOM; + PFN_vkCmdBeginPerTileExecutionQCOM CmdBeginPerTileExecutionQCOM; + PFN_vkCmdEndPerTileExecutionQCOM CmdEndPerTileExecutionQCOM; #ifdef VK_USE_PLATFORM_METAL_EXT PFN_vkExportMetalObjectsEXT ExportMetalObjectsEXT; #endif // VK_USE_PLATFORM_METAL_EXT @@ -696,6 +761,7 @@ PFN_vkCmdDrawClusterHUAWEI CmdDrawClusterHUAWEI; PFN_vkCmdDrawClusterIndirectHUAWEI CmdDrawClusterIndirectHUAWEI; PFN_vkSetDeviceMemoryPriorityEXT SetDeviceMemoryPriorityEXT; + PFN_vkCmdSetDispatchParametersARM CmdSetDispatchParametersARM; PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE GetDescriptorSetLayoutHostMappingInfoVALVE; PFN_vkGetDescriptorSetHostMappingVALVE GetDescriptorSetHostMappingVALVE; PFN_vkCmdCopyMemoryIndirectNV CmdCopyMemoryIndirectNV; @@ -705,6 +771,10 @@ PFN_vkGetPipelineIndirectMemoryRequirementsNV GetPipelineIndirectMemoryRequirementsNV; PFN_vkCmdUpdatePipelineIndirectBufferNV CmdUpdatePipelineIndirectBufferNV; PFN_vkGetPipelineIndirectDeviceAddressNV GetPipelineIndirectDeviceAddressNV; +#ifdef VK_USE_PLATFORM_OHOS + PFN_vkGetNativeBufferPropertiesOHOS GetNativeBufferPropertiesOHOS; + PFN_vkGetMemoryNativeBufferOHOS GetMemoryNativeBufferOHOS; +#endif // VK_USE_PLATFORM_OHOS PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT; PFN_vkCmdSetPolygonModeEXT CmdSetPolygonModeEXT; PFN_vkCmdSetRasterizationSamplesEXT CmdSetRasterizationSamplesEXT; @@ -736,6 +806,16 @@ PFN_vkCmdSetShadingRateImageEnableNV CmdSetShadingRateImageEnableNV; PFN_vkCmdSetRepresentativeFragmentTestEnableNV CmdSetRepresentativeFragmentTestEnableNV; PFN_vkCmdSetCoverageReductionModeNV CmdSetCoverageReductionModeNV; + PFN_vkCreateTensorARM CreateTensorARM; + PFN_vkDestroyTensorARM DestroyTensorARM; + PFN_vkCreateTensorViewARM CreateTensorViewARM; + PFN_vkDestroyTensorViewARM DestroyTensorViewARM; + PFN_vkGetTensorMemoryRequirementsARM GetTensorMemoryRequirementsARM; + PFN_vkBindTensorMemoryARM BindTensorMemoryARM; + PFN_vkGetDeviceTensorMemoryRequirementsARM GetDeviceTensorMemoryRequirementsARM; + PFN_vkCmdCopyTensorARM CmdCopyTensorARM; + PFN_vkGetTensorOpaqueCaptureDescriptorDataARM GetTensorOpaqueCaptureDescriptorDataARM; + PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM GetTensorViewOpaqueCaptureDescriptorDataARM; PFN_vkGetShaderModuleIdentifierEXT GetShaderModuleIdentifierEXT; PFN_vkGetShaderModuleCreateInfoIdentifierEXT GetShaderModuleCreateInfoIdentifierEXT; PFN_vkCreateOpticalFlowSessionNV CreateOpticalFlowSessionNV; @@ -750,15 +830,36 @@ PFN_vkCmdSetDepthClampRangeEXT CmdSetDepthClampRangeEXT; PFN_vkGetFramebufferTilePropertiesQCOM GetFramebufferTilePropertiesQCOM; PFN_vkGetDynamicRenderingTilePropertiesQCOM GetDynamicRenderingTilePropertiesQCOM; + PFN_vkConvertCooperativeVectorMatrixNV ConvertCooperativeVectorMatrixNV; + PFN_vkCmdConvertCooperativeVectorMatrixNV CmdConvertCooperativeVectorMatrixNV; PFN_vkSetLatencySleepModeNV SetLatencySleepModeNV; PFN_vkLatencySleepNV LatencySleepNV; PFN_vkSetLatencyMarkerNV SetLatencyMarkerNV; PFN_vkGetLatencyTimingsNV GetLatencyTimingsNV; PFN_vkQueueNotifyOutOfBandNV QueueNotifyOutOfBandNV; + PFN_vkCreateDataGraphPipelinesARM CreateDataGraphPipelinesARM; + PFN_vkCreateDataGraphPipelineSessionARM CreateDataGraphPipelineSessionARM; + PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM GetDataGraphPipelineSessionBindPointRequirementsARM; + PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM GetDataGraphPipelineSessionMemoryRequirementsARM; + PFN_vkBindDataGraphPipelineSessionMemoryARM BindDataGraphPipelineSessionMemoryARM; + PFN_vkDestroyDataGraphPipelineSessionARM DestroyDataGraphPipelineSessionARM; + PFN_vkCmdDispatchDataGraphARM CmdDispatchDataGraphARM; + PFN_vkGetDataGraphPipelineAvailablePropertiesARM GetDataGraphPipelineAvailablePropertiesARM; + PFN_vkGetDataGraphPipelinePropertiesARM GetDataGraphPipelinePropertiesARM; PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT CmdSetAttachmentFeedbackLoopEnableEXT; #ifdef VK_USE_PLATFORM_SCREEN_QNX PFN_vkGetScreenBufferPropertiesQNX GetScreenBufferPropertiesQNX; #endif // VK_USE_PLATFORM_SCREEN_QNX + PFN_vkCmdBindTileMemoryQCOM CmdBindTileMemoryQCOM; + PFN_vkCmdDecompressMemoryEXT CmdDecompressMemoryEXT; + PFN_vkCmdDecompressMemoryIndirectCountEXT CmdDecompressMemoryIndirectCountEXT; + PFN_vkCreateExternalComputeQueueNV CreateExternalComputeQueueNV; + PFN_vkDestroyExternalComputeQueueNV DestroyExternalComputeQueueNV; + PFN_vkGetExternalComputeQueueDataNV GetExternalComputeQueueDataNV; + PFN_vkGetClusterAccelerationStructureBuildSizesNV GetClusterAccelerationStructureBuildSizesNV; + PFN_vkCmdBuildClusterAccelerationStructureIndirectNV CmdBuildClusterAccelerationStructureIndirectNV; + PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV GetPartitionedAccelerationStructuresBuildSizesNV; + PFN_vkCmdBuildPartitionedAccelerationStructuresNV CmdBuildPartitionedAccelerationStructuresNV; PFN_vkGetGeneratedCommandsMemoryRequirementsEXT GetGeneratedCommandsMemoryRequirementsEXT; PFN_vkCmdPreprocessGeneratedCommandsEXT CmdPreprocessGeneratedCommandsEXT; PFN_vkCmdExecuteGeneratedCommandsEXT CmdExecuteGeneratedCommandsEXT; @@ -768,6 +869,20 @@ PFN_vkDestroyIndirectExecutionSetEXT DestroyIndirectExecutionSetEXT; PFN_vkUpdateIndirectExecutionSetPipelineEXT UpdateIndirectExecutionSetPipelineEXT; PFN_vkUpdateIndirectExecutionSetShaderEXT UpdateIndirectExecutionSetShaderEXT; +#ifdef VK_USE_PLATFORM_METAL_EXT + PFN_vkGetMemoryMetalHandleEXT GetMemoryMetalHandleEXT; + PFN_vkGetMemoryMetalHandlePropertiesEXT GetMemoryMetalHandlePropertiesEXT; +#endif // VK_USE_PLATFORM_METAL_EXT + PFN_vkCreateShaderInstrumentationARM CreateShaderInstrumentationARM; + PFN_vkDestroyShaderInstrumentationARM DestroyShaderInstrumentationARM; + PFN_vkCmdBeginShaderInstrumentationARM CmdBeginShaderInstrumentationARM; + PFN_vkCmdEndShaderInstrumentationARM CmdEndShaderInstrumentationARM; + PFN_vkGetShaderInstrumentationValuesARM GetShaderInstrumentationValuesARM; + PFN_vkClearShaderInstrumentationMetricsARM ClearShaderInstrumentationMetricsARM; + PFN_vkCmdEndRendering2EXT CmdEndRendering2EXT; + PFN_vkCmdBeginCustomResolveEXT CmdBeginCustomResolveEXT; + PFN_vkCmdSetComputeOccupancyPriorityNV CmdSetComputeOccupancyPriorityNV; + PFN_vkCmdSetPrimitiveRestartIndexEXT CmdSetPrimitiveRestartIndexEXT; PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR; PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR; PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR; @@ -824,30 +939,50 @@ table->WaitForFences = (PFN_vkWaitForFences)gdpa(device, "vkWaitForFences"); table->CreateSemaphore = (PFN_vkCreateSemaphore)gdpa(device, "vkCreateSemaphore"); table->DestroySemaphore = (PFN_vkDestroySemaphore)gdpa(device, "vkDestroySemaphore"); - table->CreateEvent = (PFN_vkCreateEvent)gdpa(device, "vkCreateEvent"); - table->DestroyEvent = (PFN_vkDestroyEvent)gdpa(device, "vkDestroyEvent"); - table->GetEventStatus = (PFN_vkGetEventStatus)gdpa(device, "vkGetEventStatus"); - table->SetEvent = (PFN_vkSetEvent)gdpa(device, "vkSetEvent"); - table->ResetEvent = (PFN_vkResetEvent)gdpa(device, "vkResetEvent"); table->CreateQueryPool = (PFN_vkCreateQueryPool)gdpa(device, "vkCreateQueryPool"); table->DestroyQueryPool = (PFN_vkDestroyQueryPool)gdpa(device, "vkDestroyQueryPool"); table->GetQueryPoolResults = (PFN_vkGetQueryPoolResults)gdpa(device, "vkGetQueryPoolResults"); table->CreateBuffer = (PFN_vkCreateBuffer)gdpa(device, "vkCreateBuffer"); table->DestroyBuffer = (PFN_vkDestroyBuffer)gdpa(device, "vkDestroyBuffer"); - table->CreateBufferView = (PFN_vkCreateBufferView)gdpa(device, "vkCreateBufferView"); - table->DestroyBufferView = (PFN_vkDestroyBufferView)gdpa(device, "vkDestroyBufferView"); table->CreateImage = (PFN_vkCreateImage)gdpa(device, "vkCreateImage"); table->DestroyImage = (PFN_vkDestroyImage)gdpa(device, "vkDestroyImage"); table->GetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)gdpa(device, "vkGetImageSubresourceLayout"); table->CreateImageView = (PFN_vkCreateImageView)gdpa(device, "vkCreateImageView"); table->DestroyImageView = (PFN_vkDestroyImageView)gdpa(device, "vkDestroyImageView"); + table->CreateCommandPool = (PFN_vkCreateCommandPool)gdpa(device, "vkCreateCommandPool"); + table->DestroyCommandPool = (PFN_vkDestroyCommandPool)gdpa(device, "vkDestroyCommandPool"); + table->ResetCommandPool = (PFN_vkResetCommandPool)gdpa(device, "vkResetCommandPool"); + table->AllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)gdpa(device, "vkAllocateCommandBuffers"); + table->FreeCommandBuffers = (PFN_vkFreeCommandBuffers)gdpa(device, "vkFreeCommandBuffers"); + table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer)gdpa(device, "vkBeginCommandBuffer"); + table->EndCommandBuffer = (PFN_vkEndCommandBuffer)gdpa(device, "vkEndCommandBuffer"); + table->ResetCommandBuffer = (PFN_vkResetCommandBuffer)gdpa(device, "vkResetCommandBuffer"); + table->CmdCopyBuffer = (PFN_vkCmdCopyBuffer)gdpa(device, "vkCmdCopyBuffer"); + table->CmdCopyImage = (PFN_vkCmdCopyImage)gdpa(device, "vkCmdCopyImage"); + table->CmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)gdpa(device, "vkCmdCopyBufferToImage"); + table->CmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)gdpa(device, "vkCmdCopyImageToBuffer"); + table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)gdpa(device, "vkCmdUpdateBuffer"); + table->CmdFillBuffer = (PFN_vkCmdFillBuffer)gdpa(device, "vkCmdFillBuffer"); + table->CmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)gdpa(device, "vkCmdPipelineBarrier"); + table->CmdBeginQuery = (PFN_vkCmdBeginQuery)gdpa(device, "vkCmdBeginQuery"); + table->CmdEndQuery = (PFN_vkCmdEndQuery)gdpa(device, "vkCmdEndQuery"); + table->CmdResetQueryPool = (PFN_vkCmdResetQueryPool)gdpa(device, "vkCmdResetQueryPool"); + table->CmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)gdpa(device, "vkCmdWriteTimestamp"); + table->CmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)gdpa(device, "vkCmdCopyQueryPoolResults"); + table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands)gdpa(device, "vkCmdExecuteCommands"); + table->CreateEvent = (PFN_vkCreateEvent)gdpa(device, "vkCreateEvent"); + table->DestroyEvent = (PFN_vkDestroyEvent)gdpa(device, "vkDestroyEvent"); + table->GetEventStatus = (PFN_vkGetEventStatus)gdpa(device, "vkGetEventStatus"); + table->SetEvent = (PFN_vkSetEvent)gdpa(device, "vkSetEvent"); + table->ResetEvent = (PFN_vkResetEvent)gdpa(device, "vkResetEvent"); + table->CreateBufferView = (PFN_vkCreateBufferView)gdpa(device, "vkCreateBufferView"); + table->DestroyBufferView = (PFN_vkDestroyBufferView)gdpa(device, "vkDestroyBufferView"); table->CreateShaderModule = (PFN_vkCreateShaderModule)gdpa(device, "vkCreateShaderModule"); table->DestroyShaderModule = (PFN_vkDestroyShaderModule)gdpa(device, "vkDestroyShaderModule"); table->CreatePipelineCache = (PFN_vkCreatePipelineCache)gdpa(device, "vkCreatePipelineCache"); table->DestroyPipelineCache = (PFN_vkDestroyPipelineCache)gdpa(device, "vkDestroyPipelineCache"); table->GetPipelineCacheData = (PFN_vkGetPipelineCacheData)gdpa(device, "vkGetPipelineCacheData"); table->MergePipelineCaches = (PFN_vkMergePipelineCaches)gdpa(device, "vkMergePipelineCaches"); - table->CreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)gdpa(device, "vkCreateGraphicsPipelines"); table->CreateComputePipelines = (PFN_vkCreateComputePipelines)gdpa(device, "vkCreateComputePipelines"); table->DestroyPipeline = (PFN_vkDestroyPipeline)gdpa(device, "vkDestroyPipeline"); table->CreatePipelineLayout = (PFN_vkCreatePipelineLayout)gdpa(device, "vkCreatePipelineLayout"); @@ -862,20 +997,21 @@ table->AllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)gdpa(device, "vkAllocateDescriptorSets"); table->FreeDescriptorSets = (PFN_vkFreeDescriptorSets)gdpa(device, "vkFreeDescriptorSets"); table->UpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)gdpa(device, "vkUpdateDescriptorSets"); + table->CmdBindPipeline = (PFN_vkCmdBindPipeline)gdpa(device, "vkCmdBindPipeline"); + table->CmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)gdpa(device, "vkCmdBindDescriptorSets"); + table->CmdClearColorImage = (PFN_vkCmdClearColorImage)gdpa(device, "vkCmdClearColorImage"); + table->CmdDispatch = (PFN_vkCmdDispatch)gdpa(device, "vkCmdDispatch"); + table->CmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)gdpa(device, "vkCmdDispatchIndirect"); + table->CmdSetEvent = (PFN_vkCmdSetEvent)gdpa(device, "vkCmdSetEvent"); + table->CmdResetEvent = (PFN_vkCmdResetEvent)gdpa(device, "vkCmdResetEvent"); + table->CmdWaitEvents = (PFN_vkCmdWaitEvents)gdpa(device, "vkCmdWaitEvents"); + table->CmdPushConstants = (PFN_vkCmdPushConstants)gdpa(device, "vkCmdPushConstants"); + table->CreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)gdpa(device, "vkCreateGraphicsPipelines"); table->CreateFramebuffer = (PFN_vkCreateFramebuffer)gdpa(device, "vkCreateFramebuffer"); table->DestroyFramebuffer = (PFN_vkDestroyFramebuffer)gdpa(device, "vkDestroyFramebuffer"); table->CreateRenderPass = (PFN_vkCreateRenderPass)gdpa(device, "vkCreateRenderPass"); table->DestroyRenderPass = (PFN_vkDestroyRenderPass)gdpa(device, "vkDestroyRenderPass"); table->GetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)gdpa(device, "vkGetRenderAreaGranularity"); - table->CreateCommandPool = (PFN_vkCreateCommandPool)gdpa(device, "vkCreateCommandPool"); - table->DestroyCommandPool = (PFN_vkDestroyCommandPool)gdpa(device, "vkDestroyCommandPool"); - table->ResetCommandPool = (PFN_vkResetCommandPool)gdpa(device, "vkResetCommandPool"); - table->AllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)gdpa(device, "vkAllocateCommandBuffers"); - table->FreeCommandBuffers = (PFN_vkFreeCommandBuffers)gdpa(device, "vkFreeCommandBuffers"); - table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer)gdpa(device, "vkBeginCommandBuffer"); - table->EndCommandBuffer = (PFN_vkEndCommandBuffer)gdpa(device, "vkEndCommandBuffer"); - table->ResetCommandBuffer = (PFN_vkResetCommandBuffer)gdpa(device, "vkResetCommandBuffer"); - table->CmdBindPipeline = (PFN_vkCmdBindPipeline)gdpa(device, "vkCmdBindPipeline"); table->CmdSetViewport = (PFN_vkCmdSetViewport)gdpa(device, "vkCmdSetViewport"); table->CmdSetScissor = (PFN_vkCmdSetScissor)gdpa(device, "vkCmdSetScissor"); table->CmdSetLineWidth = (PFN_vkCmdSetLineWidth)gdpa(device, "vkCmdSetLineWidth"); @@ -885,62 +1021,35 @@ table->CmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)gdpa(device, "vkCmdSetStencilCompareMask"); table->CmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)gdpa(device, "vkCmdSetStencilWriteMask"); table->CmdSetStencilReference = (PFN_vkCmdSetStencilReference)gdpa(device, "vkCmdSetStencilReference"); - table->CmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)gdpa(device, "vkCmdBindDescriptorSets"); table->CmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)gdpa(device, "vkCmdBindIndexBuffer"); table->CmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)gdpa(device, "vkCmdBindVertexBuffers"); table->CmdDraw = (PFN_vkCmdDraw)gdpa(device, "vkCmdDraw"); table->CmdDrawIndexed = (PFN_vkCmdDrawIndexed)gdpa(device, "vkCmdDrawIndexed"); table->CmdDrawIndirect = (PFN_vkCmdDrawIndirect)gdpa(device, "vkCmdDrawIndirect"); table->CmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)gdpa(device, "vkCmdDrawIndexedIndirect"); - table->CmdDispatch = (PFN_vkCmdDispatch)gdpa(device, "vkCmdDispatch"); - table->CmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)gdpa(device, "vkCmdDispatchIndirect"); - table->CmdCopyBuffer = (PFN_vkCmdCopyBuffer)gdpa(device, "vkCmdCopyBuffer"); - table->CmdCopyImage = (PFN_vkCmdCopyImage)gdpa(device, "vkCmdCopyImage"); table->CmdBlitImage = (PFN_vkCmdBlitImage)gdpa(device, "vkCmdBlitImage"); - table->CmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)gdpa(device, "vkCmdCopyBufferToImage"); - table->CmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)gdpa(device, "vkCmdCopyImageToBuffer"); - table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)gdpa(device, "vkCmdUpdateBuffer"); - table->CmdFillBuffer = (PFN_vkCmdFillBuffer)gdpa(device, "vkCmdFillBuffer"); - table->CmdClearColorImage = (PFN_vkCmdClearColorImage)gdpa(device, "vkCmdClearColorImage"); table->CmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)gdpa(device, "vkCmdClearDepthStencilImage"); table->CmdClearAttachments = (PFN_vkCmdClearAttachments)gdpa(device, "vkCmdClearAttachments"); table->CmdResolveImage = (PFN_vkCmdResolveImage)gdpa(device, "vkCmdResolveImage"); - table->CmdSetEvent = (PFN_vkCmdSetEvent)gdpa(device, "vkCmdSetEvent"); - table->CmdResetEvent = (PFN_vkCmdResetEvent)gdpa(device, "vkCmdResetEvent"); - table->CmdWaitEvents = (PFN_vkCmdWaitEvents)gdpa(device, "vkCmdWaitEvents"); - table->CmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)gdpa(device, "vkCmdPipelineBarrier"); - table->CmdBeginQuery = (PFN_vkCmdBeginQuery)gdpa(device, "vkCmdBeginQuery"); - table->CmdEndQuery = (PFN_vkCmdEndQuery)gdpa(device, "vkCmdEndQuery"); - table->CmdResetQueryPool = (PFN_vkCmdResetQueryPool)gdpa(device, "vkCmdResetQueryPool"); - table->CmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)gdpa(device, "vkCmdWriteTimestamp"); - table->CmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)gdpa(device, "vkCmdCopyQueryPoolResults"); - table->CmdPushConstants = (PFN_vkCmdPushConstants)gdpa(device, "vkCmdPushConstants"); table->CmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)gdpa(device, "vkCmdBeginRenderPass"); table->CmdNextSubpass = (PFN_vkCmdNextSubpass)gdpa(device, "vkCmdNextSubpass"); table->CmdEndRenderPass = (PFN_vkCmdEndRenderPass)gdpa(device, "vkCmdEndRenderPass"); - table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands)gdpa(device, "vkCmdExecuteCommands"); table->BindBufferMemory2 = (PFN_vkBindBufferMemory2)gdpa(device, "vkBindBufferMemory2"); table->BindImageMemory2 = (PFN_vkBindImageMemory2)gdpa(device, "vkBindImageMemory2"); table->GetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)gdpa(device, "vkGetDeviceGroupPeerMemoryFeatures"); table->CmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)gdpa(device, "vkCmdSetDeviceMask"); - table->CmdDispatchBase = (PFN_vkCmdDispatchBase)gdpa(device, "vkCmdDispatchBase"); table->GetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)gdpa(device, "vkGetImageMemoryRequirements2"); table->GetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)gdpa(device, "vkGetBufferMemoryRequirements2"); table->GetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)gdpa(device, "vkGetImageSparseMemoryRequirements2"); table->TrimCommandPool = (PFN_vkTrimCommandPool)gdpa(device, "vkTrimCommandPool"); table->GetDeviceQueue2 = (PFN_vkGetDeviceQueue2)gdpa(device, "vkGetDeviceQueue2"); - table->CreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)gdpa(device, "vkCreateSamplerYcbcrConversion"); - table->DestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)gdpa(device, "vkDestroySamplerYcbcrConversion"); + table->CmdDispatchBase = (PFN_vkCmdDispatchBase)gdpa(device, "vkCmdDispatchBase"); table->CreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)gdpa(device, "vkCreateDescriptorUpdateTemplate"); table->DestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)gdpa(device, "vkDestroyDescriptorUpdateTemplate"); table->UpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)gdpa(device, "vkUpdateDescriptorSetWithTemplate"); table->GetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)gdpa(device, "vkGetDescriptorSetLayoutSupport"); - table->CmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)gdpa(device, "vkCmdDrawIndirectCount"); - table->CmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)gdpa(device, "vkCmdDrawIndexedIndirectCount"); - table->CreateRenderPass2 = (PFN_vkCreateRenderPass2)gdpa(device, "vkCreateRenderPass2"); - table->CmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)gdpa(device, "vkCmdBeginRenderPass2"); - table->CmdNextSubpass2 = (PFN_vkCmdNextSubpass2)gdpa(device, "vkCmdNextSubpass2"); - table->CmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)gdpa(device, "vkCmdEndRenderPass2"); + table->CreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)gdpa(device, "vkCreateSamplerYcbcrConversion"); + table->DestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)gdpa(device, "vkDestroySamplerYcbcrConversion"); table->ResetQueryPool = (PFN_vkResetQueryPool)gdpa(device, "vkResetQueryPool"); table->GetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)gdpa(device, "vkGetSemaphoreCounterValue"); table->WaitSemaphores = (PFN_vkWaitSemaphores)gdpa(device, "vkWaitSemaphores"); @@ -948,13 +1057,16 @@ table->GetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)gdpa(device, "vkGetBufferDeviceAddress"); table->GetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)gdpa(device, "vkGetBufferOpaqueCaptureAddress"); table->GetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)gdpa(device, "vkGetDeviceMemoryOpaqueCaptureAddress"); + table->CmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)gdpa(device, "vkCmdDrawIndirectCount"); + table->CmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)gdpa(device, "vkCmdDrawIndexedIndirectCount"); + table->CreateRenderPass2 = (PFN_vkCreateRenderPass2)gdpa(device, "vkCreateRenderPass2"); + table->CmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)gdpa(device, "vkCmdBeginRenderPass2"); + table->CmdNextSubpass2 = (PFN_vkCmdNextSubpass2)gdpa(device, "vkCmdNextSubpass2"); + table->CmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)gdpa(device, "vkCmdEndRenderPass2"); table->CreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)gdpa(device, "vkCreatePrivateDataSlot"); table->DestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)gdpa(device, "vkDestroyPrivateDataSlot"); table->SetPrivateData = (PFN_vkSetPrivateData)gdpa(device, "vkSetPrivateData"); table->GetPrivateData = (PFN_vkGetPrivateData)gdpa(device, "vkGetPrivateData"); - table->CmdSetEvent2 = (PFN_vkCmdSetEvent2)gdpa(device, "vkCmdSetEvent2"); - table->CmdResetEvent2 = (PFN_vkCmdResetEvent2)gdpa(device, "vkCmdResetEvent2"); - table->CmdWaitEvents2 = (PFN_vkCmdWaitEvents2)gdpa(device, "vkCmdWaitEvents2"); table->CmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)gdpa(device, "vkCmdPipelineBarrier2"); table->CmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)gdpa(device, "vkCmdWriteTimestamp2"); table->QueueSubmit2 = (PFN_vkQueueSubmit2)gdpa(device, "vkQueueSubmit2"); @@ -962,6 +1074,12 @@ table->CmdCopyImage2 = (PFN_vkCmdCopyImage2)gdpa(device, "vkCmdCopyImage2"); table->CmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)gdpa(device, "vkCmdCopyBufferToImage2"); table->CmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)gdpa(device, "vkCmdCopyImageToBuffer2"); + table->GetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)gdpa(device, "vkGetDeviceBufferMemoryRequirements"); + table->GetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)gdpa(device, "vkGetDeviceImageMemoryRequirements"); + table->GetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)gdpa(device, "vkGetDeviceImageSparseMemoryRequirements"); + table->CmdSetEvent2 = (PFN_vkCmdSetEvent2)gdpa(device, "vkCmdSetEvent2"); + table->CmdResetEvent2 = (PFN_vkCmdResetEvent2)gdpa(device, "vkCmdResetEvent2"); + table->CmdWaitEvents2 = (PFN_vkCmdWaitEvents2)gdpa(device, "vkCmdWaitEvents2"); table->CmdBlitImage2 = (PFN_vkCmdBlitImage2)gdpa(device, "vkCmdBlitImage2"); table->CmdResolveImage2 = (PFN_vkCmdResolveImage2)gdpa(device, "vkCmdResolveImage2"); table->CmdBeginRendering = (PFN_vkCmdBeginRendering)gdpa(device, "vkCmdBeginRendering"); @@ -981,28 +1099,25 @@ table->CmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)gdpa(device, "vkCmdSetRasterizerDiscardEnable"); table->CmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)gdpa(device, "vkCmdSetDepthBiasEnable"); table->CmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)gdpa(device, "vkCmdSetPrimitiveRestartEnable"); - table->GetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)gdpa(device, "vkGetDeviceBufferMemoryRequirements"); - table->GetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)gdpa(device, "vkGetDeviceImageMemoryRequirements"); - table->GetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)gdpa(device, "vkGetDeviceImageSparseMemoryRequirements"); - table->CmdSetLineStipple = (PFN_vkCmdSetLineStipple)gdpa(device, "vkCmdSetLineStipple"); table->MapMemory2 = (PFN_vkMapMemory2)gdpa(device, "vkMapMemory2"); table->UnmapMemory2 = (PFN_vkUnmapMemory2)gdpa(device, "vkUnmapMemory2"); - table->CmdBindIndexBuffer2 = (PFN_vkCmdBindIndexBuffer2)gdpa(device, "vkCmdBindIndexBuffer2"); - table->GetRenderingAreaGranularity = (PFN_vkGetRenderingAreaGranularity)gdpa(device, "vkGetRenderingAreaGranularity"); table->GetDeviceImageSubresourceLayout = (PFN_vkGetDeviceImageSubresourceLayout)gdpa(device, "vkGetDeviceImageSubresourceLayout"); table->GetImageSubresourceLayout2 = (PFN_vkGetImageSubresourceLayout2)gdpa(device, "vkGetImageSubresourceLayout2"); - table->CmdPushDescriptorSet = (PFN_vkCmdPushDescriptorSet)gdpa(device, "vkCmdPushDescriptorSet"); - table->CmdPushDescriptorSetWithTemplate = (PFN_vkCmdPushDescriptorSetWithTemplate)gdpa(device, "vkCmdPushDescriptorSetWithTemplate"); - table->CmdSetRenderingAttachmentLocations = (PFN_vkCmdSetRenderingAttachmentLocations)gdpa(device, "vkCmdSetRenderingAttachmentLocations"); - table->CmdSetRenderingInputAttachmentIndices = (PFN_vkCmdSetRenderingInputAttachmentIndices)gdpa(device, "vkCmdSetRenderingInputAttachmentIndices"); - table->CmdBindDescriptorSets2 = (PFN_vkCmdBindDescriptorSets2)gdpa(device, "vkCmdBindDescriptorSets2"); - table->CmdPushConstants2 = (PFN_vkCmdPushConstants2)gdpa(device, "vkCmdPushConstants2"); - table->CmdPushDescriptorSet2 = (PFN_vkCmdPushDescriptorSet2)gdpa(device, "vkCmdPushDescriptorSet2"); - table->CmdPushDescriptorSetWithTemplate2 = (PFN_vkCmdPushDescriptorSetWithTemplate2)gdpa(device, "vkCmdPushDescriptorSetWithTemplate2"); table->CopyMemoryToImage = (PFN_vkCopyMemoryToImage)gdpa(device, "vkCopyMemoryToImage"); table->CopyImageToMemory = (PFN_vkCopyImageToMemory)gdpa(device, "vkCopyImageToMemory"); table->CopyImageToImage = (PFN_vkCopyImageToImage)gdpa(device, "vkCopyImageToImage"); table->TransitionImageLayout = (PFN_vkTransitionImageLayout)gdpa(device, "vkTransitionImageLayout"); + table->CmdPushDescriptorSet = (PFN_vkCmdPushDescriptorSet)gdpa(device, "vkCmdPushDescriptorSet"); + table->CmdPushDescriptorSetWithTemplate = (PFN_vkCmdPushDescriptorSetWithTemplate)gdpa(device, "vkCmdPushDescriptorSetWithTemplate"); + table->CmdBindDescriptorSets2 = (PFN_vkCmdBindDescriptorSets2)gdpa(device, "vkCmdBindDescriptorSets2"); + table->CmdPushConstants2 = (PFN_vkCmdPushConstants2)gdpa(device, "vkCmdPushConstants2"); + table->CmdPushDescriptorSet2 = (PFN_vkCmdPushDescriptorSet2)gdpa(device, "vkCmdPushDescriptorSet2"); + table->CmdPushDescriptorSetWithTemplate2 = (PFN_vkCmdPushDescriptorSetWithTemplate2)gdpa(device, "vkCmdPushDescriptorSetWithTemplate2"); + table->CmdSetLineStipple = (PFN_vkCmdSetLineStipple)gdpa(device, "vkCmdSetLineStipple"); + table->CmdBindIndexBuffer2 = (PFN_vkCmdBindIndexBuffer2)gdpa(device, "vkCmdBindIndexBuffer2"); + table->GetRenderingAreaGranularity = (PFN_vkGetRenderingAreaGranularity)gdpa(device, "vkGetRenderingAreaGranularity"); + table->CmdSetRenderingAttachmentLocations = (PFN_vkCmdSetRenderingAttachmentLocations)gdpa(device, "vkCmdSetRenderingAttachmentLocations"); + table->CmdSetRenderingInputAttachmentIndices = (PFN_vkCmdSetRenderingInputAttachmentIndices)gdpa(device, "vkCmdSetRenderingInputAttachmentIndices"); table->CreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)gdpa(device, "vkCreateSwapchainKHR"); table->DestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)gdpa(device, "vkDestroySwapchainKHR"); table->GetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)gdpa(device, "vkGetSwapchainImagesKHR"); @@ -1097,6 +1212,28 @@ table->CmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)gdpa(device, "vkCmdPipelineBarrier2KHR"); table->CmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)gdpa(device, "vkCmdWriteTimestamp2KHR"); table->QueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)gdpa(device, "vkQueueSubmit2KHR"); + table->CmdBindIndexBuffer3KHR = (PFN_vkCmdBindIndexBuffer3KHR)gdpa(device, "vkCmdBindIndexBuffer3KHR"); + table->CmdBindVertexBuffers3KHR = (PFN_vkCmdBindVertexBuffers3KHR)gdpa(device, "vkCmdBindVertexBuffers3KHR"); + table->CmdDrawIndirect2KHR = (PFN_vkCmdDrawIndirect2KHR)gdpa(device, "vkCmdDrawIndirect2KHR"); + table->CmdDrawIndexedIndirect2KHR = (PFN_vkCmdDrawIndexedIndirect2KHR)gdpa(device, "vkCmdDrawIndexedIndirect2KHR"); + table->CmdDispatchIndirect2KHR = (PFN_vkCmdDispatchIndirect2KHR)gdpa(device, "vkCmdDispatchIndirect2KHR"); + table->CmdCopyMemoryKHR = (PFN_vkCmdCopyMemoryKHR)gdpa(device, "vkCmdCopyMemoryKHR"); + table->CmdCopyMemoryToImageKHR = (PFN_vkCmdCopyMemoryToImageKHR)gdpa(device, "vkCmdCopyMemoryToImageKHR"); + table->CmdCopyImageToMemoryKHR = (PFN_vkCmdCopyImageToMemoryKHR)gdpa(device, "vkCmdCopyImageToMemoryKHR"); + table->CmdUpdateMemoryKHR = (PFN_vkCmdUpdateMemoryKHR)gdpa(device, "vkCmdUpdateMemoryKHR"); + table->CmdFillMemoryKHR = (PFN_vkCmdFillMemoryKHR)gdpa(device, "vkCmdFillMemoryKHR"); + table->CmdCopyQueryPoolResultsToMemoryKHR = (PFN_vkCmdCopyQueryPoolResultsToMemoryKHR)gdpa(device, "vkCmdCopyQueryPoolResultsToMemoryKHR"); + table->CmdDrawIndirectCount2KHR = (PFN_vkCmdDrawIndirectCount2KHR)gdpa(device, "vkCmdDrawIndirectCount2KHR"); + table->CmdDrawIndexedIndirectCount2KHR = (PFN_vkCmdDrawIndexedIndirectCount2KHR)gdpa(device, "vkCmdDrawIndexedIndirectCount2KHR"); + table->CmdBeginConditionalRendering2EXT = (PFN_vkCmdBeginConditionalRendering2EXT)gdpa(device, "vkCmdBeginConditionalRendering2EXT"); + table->CmdBindTransformFeedbackBuffers2EXT = (PFN_vkCmdBindTransformFeedbackBuffers2EXT)gdpa(device, "vkCmdBindTransformFeedbackBuffers2EXT"); + table->CmdBeginTransformFeedback2EXT = (PFN_vkCmdBeginTransformFeedback2EXT)gdpa(device, "vkCmdBeginTransformFeedback2EXT"); + table->CmdEndTransformFeedback2EXT = (PFN_vkCmdEndTransformFeedback2EXT)gdpa(device, "vkCmdEndTransformFeedback2EXT"); + table->CmdDrawIndirectByteCount2EXT = (PFN_vkCmdDrawIndirectByteCount2EXT)gdpa(device, "vkCmdDrawIndirectByteCount2EXT"); + table->CmdDrawMeshTasksIndirect2EXT = (PFN_vkCmdDrawMeshTasksIndirect2EXT)gdpa(device, "vkCmdDrawMeshTasksIndirect2EXT"); + table->CmdDrawMeshTasksIndirectCount2EXT = (PFN_vkCmdDrawMeshTasksIndirectCount2EXT)gdpa(device, "vkCmdDrawMeshTasksIndirectCount2EXT"); + table->CmdWriteMarkerToMemoryAMD = (PFN_vkCmdWriteMarkerToMemoryAMD)gdpa(device, "vkCmdWriteMarkerToMemoryAMD"); + table->CreateAccelerationStructure2KHR = (PFN_vkCreateAccelerationStructure2KHR)gdpa(device, "vkCreateAccelerationStructure2KHR"); table->CmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)gdpa(device, "vkCmdCopyBuffer2KHR"); table->CmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)gdpa(device, "vkCmdCopyImage2KHR"); table->CmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)gdpa(device, "vkCmdCopyBufferToImage2KHR"); @@ -1111,11 +1248,13 @@ table->GetRenderingAreaGranularityKHR = (PFN_vkGetRenderingAreaGranularityKHR)gdpa(device, "vkGetRenderingAreaGranularityKHR"); table->GetDeviceImageSubresourceLayoutKHR = (PFN_vkGetDeviceImageSubresourceLayoutKHR)gdpa(device, "vkGetDeviceImageSubresourceLayoutKHR"); table->GetImageSubresourceLayout2KHR = (PFN_vkGetImageSubresourceLayout2KHR)gdpa(device, "vkGetImageSubresourceLayout2KHR"); + table->WaitForPresent2KHR = (PFN_vkWaitForPresent2KHR)gdpa(device, "vkWaitForPresent2KHR"); table->CreatePipelineBinariesKHR = (PFN_vkCreatePipelineBinariesKHR)gdpa(device, "vkCreatePipelineBinariesKHR"); table->DestroyPipelineBinaryKHR = (PFN_vkDestroyPipelineBinaryKHR)gdpa(device, "vkDestroyPipelineBinaryKHR"); table->GetPipelineKeyKHR = (PFN_vkGetPipelineKeyKHR)gdpa(device, "vkGetPipelineKeyKHR"); table->GetPipelineBinaryDataKHR = (PFN_vkGetPipelineBinaryDataKHR)gdpa(device, "vkGetPipelineBinaryDataKHR"); table->ReleaseCapturedPipelineDataKHR = (PFN_vkReleaseCapturedPipelineDataKHR)gdpa(device, "vkReleaseCapturedPipelineDataKHR"); + table->ReleaseSwapchainImagesKHR = (PFN_vkReleaseSwapchainImagesKHR)gdpa(device, "vkReleaseSwapchainImagesKHR"); table->CmdSetLineStippleKHR = (PFN_vkCmdSetLineStippleKHR)gdpa(device, "vkCmdSetLineStippleKHR"); table->GetCalibratedTimestampsKHR = (PFN_vkGetCalibratedTimestampsKHR)gdpa(device, "vkGetCalibratedTimestampsKHR"); table->CmdBindDescriptorSets2KHR = (PFN_vkCmdBindDescriptorSets2KHR)gdpa(device, "vkCmdBindDescriptorSets2KHR"); @@ -1124,6 +1263,11 @@ table->CmdPushDescriptorSetWithTemplate2KHR = (PFN_vkCmdPushDescriptorSetWithTemplate2KHR)gdpa(device, "vkCmdPushDescriptorSetWithTemplate2KHR"); table->CmdSetDescriptorBufferOffsets2EXT = (PFN_vkCmdSetDescriptorBufferOffsets2EXT)gdpa(device, "vkCmdSetDescriptorBufferOffsets2EXT"); table->CmdBindDescriptorBufferEmbeddedSamplers2EXT = (PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)gdpa(device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT"); + table->CmdCopyMemoryIndirectKHR = (PFN_vkCmdCopyMemoryIndirectKHR)gdpa(device, "vkCmdCopyMemoryIndirectKHR"); + table->CmdCopyMemoryToImageIndirectKHR = (PFN_vkCmdCopyMemoryToImageIndirectKHR)gdpa(device, "vkCmdCopyMemoryToImageIndirectKHR"); + table->GetDeviceFaultReportsKHR = (PFN_vkGetDeviceFaultReportsKHR)gdpa(device, "vkGetDeviceFaultReportsKHR"); + table->GetDeviceFaultDebugInfoKHR = (PFN_vkGetDeviceFaultDebugInfoKHR)gdpa(device, "vkGetDeviceFaultDebugInfoKHR"); + table->CmdEndRendering2KHR = (PFN_vkCmdEndRendering2KHR)gdpa(device, "vkCmdEndRendering2KHR"); table->DebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)gdpa(device, "vkDebugMarkerSetObjectTagEXT"); table->DebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)gdpa(device, "vkDebugMarkerSetObjectNameEXT"); table->CmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)gdpa(device, "vkCmdDebugMarkerBeginEXT"); @@ -1143,6 +1287,7 @@ table->GetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)gdpa(device, "vkGetImageViewHandleNVX"); table->GetImageViewHandle64NVX = (PFN_vkGetImageViewHandle64NVX)gdpa(device, "vkGetImageViewHandle64NVX"); table->GetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)gdpa(device, "vkGetImageViewAddressNVX"); + table->GetDeviceCombinedImageSamplerIndexNVX = (PFN_vkGetDeviceCombinedImageSamplerIndexNVX)gdpa(device, "vkGetDeviceCombinedImageSamplerIndexNVX"); table->CmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)gdpa(device, "vkCmdDrawIndirectCountAMD"); table->CmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)gdpa(device, "vkCmdDrawIndexedIndirectCountAMD"); table->GetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)gdpa(device, "vkGetShaderInfoAMD"); @@ -1183,6 +1328,15 @@ table->CmdDispatchGraphIndirectAMDX = (PFN_vkCmdDispatchGraphIndirectAMDX)gdpa(device, "vkCmdDispatchGraphIndirectAMDX"); table->CmdDispatchGraphIndirectCountAMDX = (PFN_vkCmdDispatchGraphIndirectCountAMDX)gdpa(device, "vkCmdDispatchGraphIndirectCountAMDX"); #endif // VK_ENABLE_BETA_EXTENSIONS + table->WriteSamplerDescriptorsEXT = (PFN_vkWriteSamplerDescriptorsEXT)gdpa(device, "vkWriteSamplerDescriptorsEXT"); + table->WriteResourceDescriptorsEXT = (PFN_vkWriteResourceDescriptorsEXT)gdpa(device, "vkWriteResourceDescriptorsEXT"); + table->CmdBindSamplerHeapEXT = (PFN_vkCmdBindSamplerHeapEXT)gdpa(device, "vkCmdBindSamplerHeapEXT"); + table->CmdBindResourceHeapEXT = (PFN_vkCmdBindResourceHeapEXT)gdpa(device, "vkCmdBindResourceHeapEXT"); + table->CmdPushDataEXT = (PFN_vkCmdPushDataEXT)gdpa(device, "vkCmdPushDataEXT"); + table->GetImageOpaqueCaptureDataEXT = (PFN_vkGetImageOpaqueCaptureDataEXT)gdpa(device, "vkGetImageOpaqueCaptureDataEXT"); + table->RegisterCustomBorderColorEXT = (PFN_vkRegisterCustomBorderColorEXT)gdpa(device, "vkRegisterCustomBorderColorEXT"); + table->UnregisterCustomBorderColorEXT = (PFN_vkUnregisterCustomBorderColorEXT)gdpa(device, "vkUnregisterCustomBorderColorEXT"); + table->GetTensorOpaqueCaptureDataARM = (PFN_vkGetTensorOpaqueCaptureDataARM)gdpa(device, "vkGetTensorOpaqueCaptureDataARM"); table->CmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)gdpa(device, "vkCmdSetSampleLocationsEXT"); table->GetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)gdpa(device, "vkGetImageDrmFormatModifierPropertiesEXT"); table->CreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)gdpa(device, "vkCreateValidationCacheEXT"); @@ -1217,6 +1371,10 @@ table->CmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)gdpa(device, "vkCmdSetCheckpointNV"); table->GetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)gdpa(device, "vkGetQueueCheckpointDataNV"); table->GetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)gdpa(device, "vkGetQueueCheckpointData2NV"); + table->SetSwapchainPresentTimingQueueSizeEXT = (PFN_vkSetSwapchainPresentTimingQueueSizeEXT)gdpa(device, "vkSetSwapchainPresentTimingQueueSizeEXT"); + table->GetSwapchainTimingPropertiesEXT = (PFN_vkGetSwapchainTimingPropertiesEXT)gdpa(device, "vkGetSwapchainTimingPropertiesEXT"); + table->GetSwapchainTimeDomainPropertiesEXT = (PFN_vkGetSwapchainTimeDomainPropertiesEXT)gdpa(device, "vkGetSwapchainTimeDomainPropertiesEXT"); + table->GetPastPresentationTimingEXT = (PFN_vkGetPastPresentationTimingEXT)gdpa(device, "vkGetPastPresentationTimingEXT"); table->InitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)gdpa(device, "vkInitializePerformanceApiINTEL"); table->UninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)gdpa(device, "vkUninitializePerformanceApiINTEL"); table->CmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)gdpa(device, "vkCmdSetPerformanceMarkerINTEL"); @@ -1264,12 +1422,18 @@ table->DestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)gdpa(device, "vkDestroyPrivateDataSlotEXT"); table->SetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)gdpa(device, "vkSetPrivateDataEXT"); table->GetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)gdpa(device, "vkGetPrivateDataEXT"); + table->QueueSetPerfHintQCOM = (PFN_vkQueueSetPerfHintQCOM)gdpa(device, "vkQueueSetPerfHintQCOM"); +#ifdef VK_ENABLE_BETA_EXTENSIONS table->CreateCudaModuleNV = (PFN_vkCreateCudaModuleNV)gdpa(device, "vkCreateCudaModuleNV"); table->GetCudaModuleCacheNV = (PFN_vkGetCudaModuleCacheNV)gdpa(device, "vkGetCudaModuleCacheNV"); table->CreateCudaFunctionNV = (PFN_vkCreateCudaFunctionNV)gdpa(device, "vkCreateCudaFunctionNV"); table->DestroyCudaModuleNV = (PFN_vkDestroyCudaModuleNV)gdpa(device, "vkDestroyCudaModuleNV"); table->DestroyCudaFunctionNV = (PFN_vkDestroyCudaFunctionNV)gdpa(device, "vkDestroyCudaFunctionNV"); table->CmdCudaLaunchKernelNV = (PFN_vkCmdCudaLaunchKernelNV)gdpa(device, "vkCmdCudaLaunchKernelNV"); +#endif // VK_ENABLE_BETA_EXTENSIONS + table->CmdDispatchTileQCOM = (PFN_vkCmdDispatchTileQCOM)gdpa(device, "vkCmdDispatchTileQCOM"); + table->CmdBeginPerTileExecutionQCOM = (PFN_vkCmdBeginPerTileExecutionQCOM)gdpa(device, "vkCmdBeginPerTileExecutionQCOM"); + table->CmdEndPerTileExecutionQCOM = (PFN_vkCmdEndPerTileExecutionQCOM)gdpa(device, "vkCmdEndPerTileExecutionQCOM"); #ifdef VK_USE_PLATFORM_METAL_EXT table->ExportMetalObjectsEXT = (PFN_vkExportMetalObjectsEXT)gdpa(device, "vkExportMetalObjectsEXT"); #endif // VK_USE_PLATFORM_METAL_EXT @@ -1328,6 +1492,7 @@ table->CmdDrawClusterHUAWEI = (PFN_vkCmdDrawClusterHUAWEI)gdpa(device, "vkCmdDrawClusterHUAWEI"); table->CmdDrawClusterIndirectHUAWEI = (PFN_vkCmdDrawClusterIndirectHUAWEI)gdpa(device, "vkCmdDrawClusterIndirectHUAWEI"); table->SetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)gdpa(device, "vkSetDeviceMemoryPriorityEXT"); + table->CmdSetDispatchParametersARM = (PFN_vkCmdSetDispatchParametersARM)gdpa(device, "vkCmdSetDispatchParametersARM"); table->GetDescriptorSetLayoutHostMappingInfoVALVE = (PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE)gdpa(device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE"); table->GetDescriptorSetHostMappingVALVE = (PFN_vkGetDescriptorSetHostMappingVALVE)gdpa(device, "vkGetDescriptorSetHostMappingVALVE"); table->CmdCopyMemoryIndirectNV = (PFN_vkCmdCopyMemoryIndirectNV)gdpa(device, "vkCmdCopyMemoryIndirectNV"); @@ -1337,6 +1502,10 @@ table->GetPipelineIndirectMemoryRequirementsNV = (PFN_vkGetPipelineIndirectMemoryRequirementsNV)gdpa(device, "vkGetPipelineIndirectMemoryRequirementsNV"); table->CmdUpdatePipelineIndirectBufferNV = (PFN_vkCmdUpdatePipelineIndirectBufferNV)gdpa(device, "vkCmdUpdatePipelineIndirectBufferNV"); table->GetPipelineIndirectDeviceAddressNV = (PFN_vkGetPipelineIndirectDeviceAddressNV)gdpa(device, "vkGetPipelineIndirectDeviceAddressNV"); +#ifdef VK_USE_PLATFORM_OHOS + table->GetNativeBufferPropertiesOHOS = (PFN_vkGetNativeBufferPropertiesOHOS)gdpa(device, "vkGetNativeBufferPropertiesOHOS"); + table->GetMemoryNativeBufferOHOS = (PFN_vkGetMemoryNativeBufferOHOS)gdpa(device, "vkGetMemoryNativeBufferOHOS"); +#endif // VK_USE_PLATFORM_OHOS table->CmdSetDepthClampEnableEXT = (PFN_vkCmdSetDepthClampEnableEXT)gdpa(device, "vkCmdSetDepthClampEnableEXT"); table->CmdSetPolygonModeEXT = (PFN_vkCmdSetPolygonModeEXT)gdpa(device, "vkCmdSetPolygonModeEXT"); table->CmdSetRasterizationSamplesEXT = (PFN_vkCmdSetRasterizationSamplesEXT)gdpa(device, "vkCmdSetRasterizationSamplesEXT"); @@ -1368,6 +1537,16 @@ table->CmdSetShadingRateImageEnableNV = (PFN_vkCmdSetShadingRateImageEnableNV)gdpa(device, "vkCmdSetShadingRateImageEnableNV"); table->CmdSetRepresentativeFragmentTestEnableNV = (PFN_vkCmdSetRepresentativeFragmentTestEnableNV)gdpa(device, "vkCmdSetRepresentativeFragmentTestEnableNV"); table->CmdSetCoverageReductionModeNV = (PFN_vkCmdSetCoverageReductionModeNV)gdpa(device, "vkCmdSetCoverageReductionModeNV"); + table->CreateTensorARM = (PFN_vkCreateTensorARM)gdpa(device, "vkCreateTensorARM"); + table->DestroyTensorARM = (PFN_vkDestroyTensorARM)gdpa(device, "vkDestroyTensorARM"); + table->CreateTensorViewARM = (PFN_vkCreateTensorViewARM)gdpa(device, "vkCreateTensorViewARM"); + table->DestroyTensorViewARM = (PFN_vkDestroyTensorViewARM)gdpa(device, "vkDestroyTensorViewARM"); + table->GetTensorMemoryRequirementsARM = (PFN_vkGetTensorMemoryRequirementsARM)gdpa(device, "vkGetTensorMemoryRequirementsARM"); + table->BindTensorMemoryARM = (PFN_vkBindTensorMemoryARM)gdpa(device, "vkBindTensorMemoryARM"); + table->GetDeviceTensorMemoryRequirementsARM = (PFN_vkGetDeviceTensorMemoryRequirementsARM)gdpa(device, "vkGetDeviceTensorMemoryRequirementsARM"); + table->CmdCopyTensorARM = (PFN_vkCmdCopyTensorARM)gdpa(device, "vkCmdCopyTensorARM"); + table->GetTensorOpaqueCaptureDescriptorDataARM = (PFN_vkGetTensorOpaqueCaptureDescriptorDataARM)gdpa(device, "vkGetTensorOpaqueCaptureDescriptorDataARM"); + table->GetTensorViewOpaqueCaptureDescriptorDataARM = (PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM)gdpa(device, "vkGetTensorViewOpaqueCaptureDescriptorDataARM"); table->GetShaderModuleIdentifierEXT = (PFN_vkGetShaderModuleIdentifierEXT)gdpa(device, "vkGetShaderModuleIdentifierEXT"); table->GetShaderModuleCreateInfoIdentifierEXT = (PFN_vkGetShaderModuleCreateInfoIdentifierEXT)gdpa(device, "vkGetShaderModuleCreateInfoIdentifierEXT"); table->CreateOpticalFlowSessionNV = (PFN_vkCreateOpticalFlowSessionNV)gdpa(device, "vkCreateOpticalFlowSessionNV"); @@ -1382,15 +1561,36 @@ table->CmdSetDepthClampRangeEXT = (PFN_vkCmdSetDepthClampRangeEXT)gdpa(device, "vkCmdSetDepthClampRangeEXT"); table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)gdpa(device, "vkGetFramebufferTilePropertiesQCOM"); table->GetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)gdpa(device, "vkGetDynamicRenderingTilePropertiesQCOM"); + table->ConvertCooperativeVectorMatrixNV = (PFN_vkConvertCooperativeVectorMatrixNV)gdpa(device, "vkConvertCooperativeVectorMatrixNV"); + table->CmdConvertCooperativeVectorMatrixNV = (PFN_vkCmdConvertCooperativeVectorMatrixNV)gdpa(device, "vkCmdConvertCooperativeVectorMatrixNV"); table->SetLatencySleepModeNV = (PFN_vkSetLatencySleepModeNV)gdpa(device, "vkSetLatencySleepModeNV"); table->LatencySleepNV = (PFN_vkLatencySleepNV)gdpa(device, "vkLatencySleepNV"); table->SetLatencyMarkerNV = (PFN_vkSetLatencyMarkerNV)gdpa(device, "vkSetLatencyMarkerNV"); table->GetLatencyTimingsNV = (PFN_vkGetLatencyTimingsNV)gdpa(device, "vkGetLatencyTimingsNV"); table->QueueNotifyOutOfBandNV = (PFN_vkQueueNotifyOutOfBandNV)gdpa(device, "vkQueueNotifyOutOfBandNV"); + table->CreateDataGraphPipelinesARM = (PFN_vkCreateDataGraphPipelinesARM)gdpa(device, "vkCreateDataGraphPipelinesARM"); + table->CreateDataGraphPipelineSessionARM = (PFN_vkCreateDataGraphPipelineSessionARM)gdpa(device, "vkCreateDataGraphPipelineSessionARM"); + table->GetDataGraphPipelineSessionBindPointRequirementsARM = (PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM)gdpa(device, "vkGetDataGraphPipelineSessionBindPointRequirementsARM"); + table->GetDataGraphPipelineSessionMemoryRequirementsARM = (PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM)gdpa(device, "vkGetDataGraphPipelineSessionMemoryRequirementsARM"); + table->BindDataGraphPipelineSessionMemoryARM = (PFN_vkBindDataGraphPipelineSessionMemoryARM)gdpa(device, "vkBindDataGraphPipelineSessionMemoryARM"); + table->DestroyDataGraphPipelineSessionARM = (PFN_vkDestroyDataGraphPipelineSessionARM)gdpa(device, "vkDestroyDataGraphPipelineSessionARM"); + table->CmdDispatchDataGraphARM = (PFN_vkCmdDispatchDataGraphARM)gdpa(device, "vkCmdDispatchDataGraphARM"); + table->GetDataGraphPipelineAvailablePropertiesARM = (PFN_vkGetDataGraphPipelineAvailablePropertiesARM)gdpa(device, "vkGetDataGraphPipelineAvailablePropertiesARM"); + table->GetDataGraphPipelinePropertiesARM = (PFN_vkGetDataGraphPipelinePropertiesARM)gdpa(device, "vkGetDataGraphPipelinePropertiesARM"); table->CmdSetAttachmentFeedbackLoopEnableEXT = (PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)gdpa(device, "vkCmdSetAttachmentFeedbackLoopEnableEXT"); #ifdef VK_USE_PLATFORM_SCREEN_QNX table->GetScreenBufferPropertiesQNX = (PFN_vkGetScreenBufferPropertiesQNX)gdpa(device, "vkGetScreenBufferPropertiesQNX"); #endif // VK_USE_PLATFORM_SCREEN_QNX + table->CmdBindTileMemoryQCOM = (PFN_vkCmdBindTileMemoryQCOM)gdpa(device, "vkCmdBindTileMemoryQCOM"); + table->CmdDecompressMemoryEXT = (PFN_vkCmdDecompressMemoryEXT)gdpa(device, "vkCmdDecompressMemoryEXT"); + table->CmdDecompressMemoryIndirectCountEXT = (PFN_vkCmdDecompressMemoryIndirectCountEXT)gdpa(device, "vkCmdDecompressMemoryIndirectCountEXT"); + table->CreateExternalComputeQueueNV = (PFN_vkCreateExternalComputeQueueNV)gdpa(device, "vkCreateExternalComputeQueueNV"); + table->DestroyExternalComputeQueueNV = (PFN_vkDestroyExternalComputeQueueNV)gdpa(device, "vkDestroyExternalComputeQueueNV"); + table->GetExternalComputeQueueDataNV = (PFN_vkGetExternalComputeQueueDataNV)gdpa(device, "vkGetExternalComputeQueueDataNV"); + table->GetClusterAccelerationStructureBuildSizesNV = (PFN_vkGetClusterAccelerationStructureBuildSizesNV)gdpa(device, "vkGetClusterAccelerationStructureBuildSizesNV"); + table->CmdBuildClusterAccelerationStructureIndirectNV = (PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)gdpa(device, "vkCmdBuildClusterAccelerationStructureIndirectNV"); + table->GetPartitionedAccelerationStructuresBuildSizesNV = (PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)gdpa(device, "vkGetPartitionedAccelerationStructuresBuildSizesNV"); + table->CmdBuildPartitionedAccelerationStructuresNV = (PFN_vkCmdBuildPartitionedAccelerationStructuresNV)gdpa(device, "vkCmdBuildPartitionedAccelerationStructuresNV"); table->GetGeneratedCommandsMemoryRequirementsEXT = (PFN_vkGetGeneratedCommandsMemoryRequirementsEXT)gdpa(device, "vkGetGeneratedCommandsMemoryRequirementsEXT"); table->CmdPreprocessGeneratedCommandsEXT = (PFN_vkCmdPreprocessGeneratedCommandsEXT)gdpa(device, "vkCmdPreprocessGeneratedCommandsEXT"); table->CmdExecuteGeneratedCommandsEXT = (PFN_vkCmdExecuteGeneratedCommandsEXT)gdpa(device, "vkCmdExecuteGeneratedCommandsEXT"); @@ -1400,6 +1600,20 @@ table->DestroyIndirectExecutionSetEXT = (PFN_vkDestroyIndirectExecutionSetEXT)gdpa(device, "vkDestroyIndirectExecutionSetEXT"); table->UpdateIndirectExecutionSetPipelineEXT = (PFN_vkUpdateIndirectExecutionSetPipelineEXT)gdpa(device, "vkUpdateIndirectExecutionSetPipelineEXT"); table->UpdateIndirectExecutionSetShaderEXT = (PFN_vkUpdateIndirectExecutionSetShaderEXT)gdpa(device, "vkUpdateIndirectExecutionSetShaderEXT"); +#ifdef VK_USE_PLATFORM_METAL_EXT + table->GetMemoryMetalHandleEXT = (PFN_vkGetMemoryMetalHandleEXT)gdpa(device, "vkGetMemoryMetalHandleEXT"); + table->GetMemoryMetalHandlePropertiesEXT = (PFN_vkGetMemoryMetalHandlePropertiesEXT)gdpa(device, "vkGetMemoryMetalHandlePropertiesEXT"); +#endif // VK_USE_PLATFORM_METAL_EXT + table->CreateShaderInstrumentationARM = (PFN_vkCreateShaderInstrumentationARM)gdpa(device, "vkCreateShaderInstrumentationARM"); + table->DestroyShaderInstrumentationARM = (PFN_vkDestroyShaderInstrumentationARM)gdpa(device, "vkDestroyShaderInstrumentationARM"); + table->CmdBeginShaderInstrumentationARM = (PFN_vkCmdBeginShaderInstrumentationARM)gdpa(device, "vkCmdBeginShaderInstrumentationARM"); + table->CmdEndShaderInstrumentationARM = (PFN_vkCmdEndShaderInstrumentationARM)gdpa(device, "vkCmdEndShaderInstrumentationARM"); + table->GetShaderInstrumentationValuesARM = (PFN_vkGetShaderInstrumentationValuesARM)gdpa(device, "vkGetShaderInstrumentationValuesARM"); + table->ClearShaderInstrumentationMetricsARM = (PFN_vkClearShaderInstrumentationMetricsARM)gdpa(device, "vkClearShaderInstrumentationMetricsARM"); + table->CmdEndRendering2EXT = (PFN_vkCmdEndRendering2EXT)gdpa(device, "vkCmdEndRendering2EXT"); + table->CmdBeginCustomResolveEXT = (PFN_vkCmdBeginCustomResolveEXT)gdpa(device, "vkCmdBeginCustomResolveEXT"); + table->CmdSetComputeOccupancyPriorityNV = (PFN_vkCmdSetComputeOccupancyPriorityNV)gdpa(device, "vkCmdSetComputeOccupancyPriorityNV"); + table->CmdSetPrimitiveRestartIndexEXT = (PFN_vkCmdSetPrimitiveRestartIndexEXT)gdpa(device, "vkCmdSetPrimitiveRestartIndexEXT"); table->CreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)gdpa(device, "vkCreateAccelerationStructureKHR"); table->DestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)gdpa(device, "vkDestroyAccelerationStructureKHR"); table->CmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)gdpa(device, "vkCmdBuildAccelerationStructuresKHR"); @@ -1537,6 +1751,7 @@ table->CreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)gipa(instance, "vkCreateDebugUtilsMessengerEXT"); table->DestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)gipa(instance, "vkDestroyDebugUtilsMessengerEXT"); table->SubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)gipa(instance, "vkSubmitDebugUtilsMessageEXT"); + table->GetPhysicalDeviceDescriptorSizeEXT = (PFN_vkGetPhysicalDeviceDescriptorSizeEXT)gipa(instance, "vkGetPhysicalDeviceDescriptorSizeEXT"); table->GetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)gipa(instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT"); table->GetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)gipa(instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT"); #ifdef VK_USE_PLATFORM_FUCHSIA @@ -1566,7 +1781,22 @@ table->CreateScreenSurfaceQNX = (PFN_vkCreateScreenSurfaceQNX)gipa(instance, "vkCreateScreenSurfaceQNX"); table->GetPhysicalDeviceScreenPresentationSupportQNX = (PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)gipa(instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX"); #endif // VK_USE_PLATFORM_SCREEN_QNX + table->GetPhysicalDeviceExternalTensorPropertiesARM = (PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM)gipa(instance, "vkGetPhysicalDeviceExternalTensorPropertiesARM"); table->GetPhysicalDeviceOpticalFlowImageFormatsNV = (PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)gipa(instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV"); + table->GetPhysicalDeviceCooperativeVectorPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)gipa(instance, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV"); + table->GetPhysicalDeviceQueueFamilyDataGraphPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM"); + table->GetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM"); + table->GetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphEngineOperationPropertiesARM"); +#ifdef VK_USE_PLATFORM_OHOS + table->CreateSurfaceOHOS = (PFN_vkCreateSurfaceOHOS)gipa(instance, "vkCreateSurfaceOHOS"); +#endif // VK_USE_PLATFORM_OHOS table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)gipa(instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV"); + table->EnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM)gipa(instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceCountersByRegionARM"); + table->EnumeratePhysicalDeviceShaderInstrumentationMetricsARM = (PFN_vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM)gipa(instance, "vkEnumeratePhysicalDeviceShaderInstrumentationMetricsARM"); + table->GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM = (PFN_vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM)gipa(instance, "vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM"); +#ifdef VK_USE_PLATFORM_UBM_SEC + table->CreateUbmSurfaceSEC = (PFN_vkCreateUbmSurfaceSEC)gipa(instance, "vkCreateUbmSurfaceSEC"); + table->GetPhysicalDeviceUbmPresentationSupportSEC = (PFN_vkGetPhysicalDeviceUbmPresentationSupportSEC)gipa(instance, "vkGetPhysicalDeviceUbmPresentationSupportSEC"); +#endif // VK_USE_PLATFORM_UBM_SEC } // clang-format on
diff --git a/include/vulkan/utility/vk_format_utils.h b/include/vulkan/utility/vk_format_utils.h index 862f8e1..ccf9e30 100644 --- a/include/vulkan/utility/vk_format_utils.h +++ b/include/vulkan/utility/vk_format_utils.h
@@ -1,8 +1,8 @@ // *** THIS FILE IS GENERATED - DO NOT EDIT *** // See format_utils_generator.py for modifications -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 @@ -24,6 +24,7 @@ enum VKU_FORMAT_NUMERICAL_TYPE { VKU_FORMAT_NUMERICAL_TYPE_NONE = 0, + VKU_FORMAT_NUMERICAL_TYPE_BOOL, VKU_FORMAT_NUMERICAL_TYPE_SFIXED5, VKU_FORMAT_NUMERICAL_TYPE_SFLOAT, VKU_FORMAT_NUMERICAL_TYPE_SINT, @@ -51,6 +52,8 @@ VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_420, VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_422, VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_444, + VKU_FORMAT_COMPATIBILITY_CLASS_14BIT_2PLANE_420, + VKU_FORMAT_COMPATIBILITY_CLASS_14BIT_2PLANE_422, VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_420, VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_422, @@ -74,6 +77,7 @@ VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G16B16G16R16, VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R10G10B10A10, VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R12G12B12A12, + VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R14G14B14A14, VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_420, VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_422, @@ -89,11 +93,21 @@ VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, + VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, @@ -127,204 +141,204 @@ // VK_IMAGE_ASPECT_PLANE_1_BIT -> 1 // VK_IMAGE_ASPECT_PLANE_2_BIT -> 2 // <any other value> -> VKU_FORMAT_INVALID_INDEX -inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect); +static inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect); + +// Returns whether a VkFormat is of the numerical format BOOL +// Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false +static inline bool vkuFormatIsBOOL(VkFormat format); // Returns whether a VkFormat is of the numerical format SFIXED5 // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsSFIXED5(VkFormat format); +static inline bool vkuFormatIsSFIXED5(VkFormat format); // Returns whether a VkFormat is of the numerical format SFLOAT // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsSFLOAT(VkFormat format); +static inline bool vkuFormatIsSFLOAT(VkFormat format); // Returns whether a VkFormat is of the numerical format SINT // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsSINT(VkFormat format); +static inline bool vkuFormatIsSINT(VkFormat format); // Returns whether a VkFormat is of the numerical format SNORM // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsSNORM(VkFormat format); +static inline bool vkuFormatIsSNORM(VkFormat format); // Returns whether a VkFormat is of the numerical format SRGB // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsSRGB(VkFormat format); +static inline bool vkuFormatIsSRGB(VkFormat format); // Returns whether a VkFormat is of the numerical format SSCALED // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsSSCALED(VkFormat format); +static inline bool vkuFormatIsSSCALED(VkFormat format); // Returns whether a VkFormat is of the numerical format UFLOAT // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsUFLOAT(VkFormat format); +static inline bool vkuFormatIsUFLOAT(VkFormat format); // Returns whether a VkFormat is of the numerical format UINT // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsUINT(VkFormat format); +static inline bool vkuFormatIsUINT(VkFormat format); // Returns whether a VkFormat is of the numerical format UNORM // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsUNORM(VkFormat format); +static inline bool vkuFormatIsUNORM(VkFormat format); // Returns whether a VkFormat is of the numerical format USCALED // Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false -inline bool vkuFormatIsUSCALED(VkFormat format); +static inline bool vkuFormatIsUSCALED(VkFormat format); // Returns whether the type of a VkFormat is a OpTypeInt (SPIR-V) from "Interpretation of Numeric Format" table -inline bool vkuFormatIsSampledInt(VkFormat format); +static inline bool vkuFormatIsSampledInt(VkFormat format); // Returns whether the type of a VkFormat is a OpTypeFloat (SPIR-V) from "Interpretation of Numeric Format" table -inline bool vkuFormatIsSampledFloat(VkFormat format); +static inline bool vkuFormatIsSampledFloat(VkFormat format); // Returns whether a VkFormat is a compressed format of type ASTC_HDR -inline bool vkuFormatIsCompressed_ASTC_HDR(VkFormat format); +static inline bool vkuFormatIsCompressed_ASTC_HDR(VkFormat format); // Returns whether a VkFormat is a compressed format of type ASTC_LDR -inline bool vkuFormatIsCompressed_ASTC_LDR(VkFormat format); +static inline bool vkuFormatIsCompressed_ASTC_LDR(VkFormat format); // Returns whether a VkFormat is a compressed format of type BC -inline bool vkuFormatIsCompressed_BC(VkFormat format); +static inline bool vkuFormatIsCompressed_BC(VkFormat format); // Returns whether a VkFormat is a compressed format of type EAC -inline bool vkuFormatIsCompressed_EAC(VkFormat format); +static inline bool vkuFormatIsCompressed_EAC(VkFormat format); // Returns whether a VkFormat is a compressed format of type ETC2 -inline bool vkuFormatIsCompressed_ETC2(VkFormat format); +static inline bool vkuFormatIsCompressed_ETC2(VkFormat format); // Returns whether a VkFormat is a compressed format of type PVRTC -inline bool vkuFormatIsCompressed_PVRTC(VkFormat format); +static inline bool vkuFormatIsCompressed_PVRTC(VkFormat format); // Returns whether a VkFormat is of any compressed format type -inline bool vkuFormatIsCompressed(VkFormat format); +static inline bool vkuFormatIsCompressed(VkFormat format); // Returns whether a VkFormat is either a depth or stencil format -inline bool vkuFormatIsDepthOrStencil(VkFormat format); +static inline bool vkuFormatIsDepthOrStencil(VkFormat format); // Returns whether a VkFormat is a depth and stencil format -inline bool vkuFormatIsDepthAndStencil(VkFormat format); +static inline bool vkuFormatIsDepthAndStencil(VkFormat format); // Returns whether a VkFormat is a depth only format -inline bool vkuFormatIsDepthOnly(VkFormat format); +static inline bool vkuFormatIsDepthOnly(VkFormat format); // Returns whether a VkFormat is a stencil only format -inline bool vkuFormatIsStencilOnly(VkFormat format); +static inline bool vkuFormatIsStencilOnly(VkFormat format); // Returns whether a VkFormat has a depth component -inline bool vkuFormatHasDepth(VkFormat format) { return (vkuFormatIsDepthOnly(format) || vkuFormatIsDepthAndStencil(format)); } +static inline bool vkuFormatHasDepth(VkFormat format) { return (vkuFormatIsDepthOnly(format) || vkuFormatIsDepthAndStencil(format)); } // Returns whether a VkFormat has a stencil component -inline bool vkuFormatHasStencil(VkFormat format) { return (vkuFormatIsStencilOnly(format) || vkuFormatIsDepthAndStencil(format)); } +static inline bool vkuFormatHasStencil(VkFormat format) { return (vkuFormatIsStencilOnly(format) || vkuFormatIsDepthAndStencil(format)); } // Returns the size of the depth component in bits if it has one. Otherwise it returns 0 -inline uint32_t vkuFormatDepthSize(VkFormat format); +static inline uint32_t vkuFormatDepthSize(VkFormat format); // Returns the size of the stencil component in bits if it has one. Otherwise it returns 0 -inline uint32_t vkuFormatStencilSize(VkFormat format); +static inline uint32_t vkuFormatStencilSize(VkFormat format); // Returns the numerical type of the depth component if it has one. Otherwise it returns VKU_FORMAT_NUMERICAL_TYPE_NONE -inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatDepthNumericalType(VkFormat format); +static inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatDepthNumericalType(VkFormat format); // Returns the numerical type of the stencil component if it has one. Otherwise it returns VKU_FORMAT_NUMERICAL_TYPE_NONE -inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatStencilNumericalType(VkFormat format); +static inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatStencilNumericalType(VkFormat format); // Returns whether a VkFormat is packed -inline bool vkuFormatIsPacked(VkFormat format); +static inline bool vkuFormatIsPacked(VkFormat format); // Returns whether a VkFormat is YCbCr // This corresponds to formats with _444, _422, or _420 in their name -inline bool vkuFormatRequiresYcbcrConversion(VkFormat format); +static inline bool vkuFormatRequiresYcbcrConversion(VkFormat format); // Returns whether a VkFormat is XChromaSubsampled // This corresponds to formats with _422 or 420 in their name -inline bool vkuFormatIsXChromaSubsampled(VkFormat format); +static inline bool vkuFormatIsXChromaSubsampled(VkFormat format); // Returns whether a VkFormat is YChromaSubsampled // This corresponds to formats with _420 in their name -inline bool vkuFormatIsYChromaSubsampled(VkFormat format); +static inline bool vkuFormatIsYChromaSubsampled(VkFormat format); // Returns whether a VkFormat is Multiplane // Single-plane "_422" formats are treated as 2x1 compressed (for copies) -inline bool vkuFormatIsSinglePlane_422(VkFormat format); +static inline bool vkuFormatIsSinglePlane_422(VkFormat format); // Returns number of planes in format (which is 1 by default) -inline uint32_t vkuFormatPlaneCount(VkFormat format); +static inline uint32_t vkuFormatPlaneCount(VkFormat format); // Returns whether a VkFormat is multiplane -inline bool vkuFormatIsMultiplane(VkFormat format) { return ((vkuFormatPlaneCount(format)) > 1u); } +// Note - Formats like VK_FORMAT_G8B8G8R8_422_UNORM are NOT multi-planar, they require a +// VkSamplerYcbcrConversion and you should use vkuFormatRequiresYcbcrConversion instead +static inline bool vkuFormatIsMultiplane(VkFormat format) { return ((vkuFormatPlaneCount(format)) > 1u); } // Returns a VkFormat that is compatible with a given plane of a multiplane format // Will return VK_FORMAT_UNDEFINED if given a plane aspect that doesn't exist for the format -inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); +static inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); // Returns the extent divisors of a multiplane format given a plane // Will return {1, 1} if given a plane aspect that doesn't exist for the VkFormat -inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); +static inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); + +// From table in spec vkspec.html#formats-compatible-zs-color +// Introduced in VK_KHR_maintenance8 to allow copying between color and depth/stencil formats +static inline bool vkuFormatIsDepthStencilWithColorSizeCompatible(VkFormat color_format, VkFormat ds_format, VkImageAspectFlags aspect_mask); // Returns the count of components in a VkFormat -inline uint32_t vkuFormatComponentCount(VkFormat format); +static inline uint32_t vkuFormatComponentCount(VkFormat format); // Returns the texel block extent of a VkFormat -inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format); +static inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format); // Returns the Compatibility Class of a VkFormat as defined by the spec -inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format); +static inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format); -// Return true if a VkFormat is 'normal', with one texel per format element -inline bool vkuFormatElementIsTexel(VkFormat format); +// Returns the number of texels inside a texel block +// Will always be 1 when not using compressed block formats +static inline uint32_t vkuFormatTexelsPerBlock(VkFormat format); -// Return size, in bytes, of one element of a VkFormat -// Format must not be a depth, stencil, or multiplane format -inline uint32_t vkuFormatElementSize(VkFormat format); - -// Return the size in bytes of one texel of a VkFormat -// For compressed or multi-plane, this may be a fractional number -inline uint32_t vkuFormatElementSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask); - -// Return the size in bytes of one texel of a VkFormat -// Format must not be a depth, stencil, or multiplane format -inline double vkuFormatTexelSize(VkFormat format); - -// Return the size in bytes of one texel of a VkFormat -// For compressed or multi-plane, this may be a fractional number -inline double vkuFormatTexelSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask); +// Returns the number of bytes in a single Texel Block. +// When dealing with a depth/stencil format, need to consider using vkuFormatStencilSize or vkuFormatDepthSize. +// When dealing with mulit-planar formats, need to consider using vkuGetPlaneIndex. +static inline uint32_t vkuFormatTexelBlockSize(VkFormat format); // Returns whether a VkFormat contains only 8-bit sized components -inline bool vkuFormatIs8bit(VkFormat format); +static inline bool vkuFormatIs8bit(VkFormat format); // Returns whether a VkFormat contains only 16-bit sized components -inline bool vkuFormatIs16bit(VkFormat format); +static inline bool vkuFormatIs16bit(VkFormat format); // Returns whether a VkFormat contains only 32-bit sized components -inline bool vkuFormatIs32bit(VkFormat format); +static inline bool vkuFormatIs32bit(VkFormat format); // Returns whether a VkFormat contains only 64-bit sized components -inline bool vkuFormatIs64bit(VkFormat format); +static inline bool vkuFormatIs64bit(VkFormat format); // Returns whether a VkFormat has a component of a given size -inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size); +static inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size); // Returns whether a VkFormat has a Red color component -inline bool vkuFormatHasRed(VkFormat format); +static inline bool vkuFormatHasRed(VkFormat format); // Returns whether a VkFormat has a Green color component -inline bool vkuFormatHasGreen(VkFormat format); +static inline bool vkuFormatHasGreen(VkFormat format); // Returns whether a VkFormat has a Blue color component -inline bool vkuFormatHasBlue(VkFormat format); +static inline bool vkuFormatHasBlue(VkFormat format); // Returns whether a VkFormat has a Alpha color component -inline bool vkuFormatHasAlpha(VkFormat format); +static inline bool vkuFormatHasAlpha(VkFormat format); // Returns whether a VkFormat is equal to VK_FORMAT_UNDEFINED -inline bool vkuFormatIsUndefined(VkFormat format) { return (format == VK_FORMAT_UNDEFINED); } +static inline bool vkuFormatIsUndefined(VkFormat format) { return (format == VK_FORMAT_UNDEFINED); } // Returns whether a VkFormat is a "blocked image" as defined in the spec (vkspec.html#blocked-image) -inline bool vkuFormatIsBlockedImage(VkFormat format) { +static inline bool vkuFormatIsBlockedImage(VkFormat format) { return (vkuFormatIsCompressed(format) || vkuFormatIsSinglePlane_422(format)); } // Returns whether a VkFormat is a "color format'. Because there is no official specification definition of // "color format", it is defined here as anything that isn't a depth/stencil format, multiplane format, or the undefined format. -inline bool vkuFormatIsColor(VkFormat format) { +static inline bool vkuFormatIsColor(VkFormat format) { return !(vkuFormatIsUndefined(format) || vkuFormatIsDepthOrStencil(format) || vkuFormatIsMultiplane(format)); } @@ -339,7 +353,7 @@ }; // Compressed formats don't have a defined component size -const uint32_t VKU_FORMAT_COMPRESSED_COMPONENT = 0xFFFFFFFF; +#define VKU_FORMAT_COMPRESSED_COMPONENT 0xFFFFFFFF struct VKU_FORMAT_COMPONENT_INFO { enum VKU_FORMAT_COMPONENT_TYPE type; @@ -349,768 +363,328 @@ // Generic information for all formats struct VKU_FORMAT_INFO { enum VKU_FORMAT_COMPATIBILITY_CLASS compatibility; - uint32_t block_size; // bytes - uint32_t texel_per_block; + uint32_t texel_block_size; // bytes + uint32_t texels_per_block; VkExtent3D block_extent; uint32_t component_count; struct VKU_FORMAT_COMPONENT_INFO components[VKU_FORMAT_MAX_COMPONENTS]; }; -inline const struct VKU_FORMAT_INFO vkuGetFormatInfo(VkFormat format) { - switch (format) { - case VK_FORMAT_R4G4_UNORM_PACK8: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}}}; - return out; } - case VK_FORMAT_R4G4B4A4_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_A, 4}}}; - return out; } - case VK_FORMAT_B4G4R4A4_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_A, 4}}}; - return out; } - case VK_FORMAT_R5G6B5_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 6}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}}}; - return out; } - case VK_FORMAT_B5G6R5_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 6}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}}}; - return out; } - case VK_FORMAT_R5G5B5A1_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_A, 1}}}; - return out; } - case VK_FORMAT_B5G5R5A1_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_A, 1}}}; - return out; } - case VK_FORMAT_A1R5G5B5_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 1}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}}}; - return out; } - case VK_FORMAT_A1B5G5R5_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 1}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}}}; - return out; } - case VK_FORMAT_A8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_ALPHA, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8_SRGB: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8G8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8_SRGB: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_R8G8B8_SRGB: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8_SRGB: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_R8G8B8A8_SRGB: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_B8G8R8A8_SRGB: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_UNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_SNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_USCALED_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_SSCALED_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_UINT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_SINT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A8B8G8R8_SRGB_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_A2R10G10B10_UNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}}}; - return out; } - case VK_FORMAT_A2R10G10B10_SNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}}}; - return out; } - case VK_FORMAT_A2R10G10B10_USCALED_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}}}; - return out; } - case VK_FORMAT_A2R10G10B10_SSCALED_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}}}; - return out; } - case VK_FORMAT_A2R10G10B10_UINT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}}}; - return out; } - case VK_FORMAT_A2R10G10B10_SINT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}}}; - return out; } - case VK_FORMAT_A2B10G10R10_UNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_A2B10G10R10_SNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_A2B10G10R10_USCALED_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_A2B10G10R10_SSCALED_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_A2B10G10R10_UINT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_A2B10G10R10_SINT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_R16_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_R16G16_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_SNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_USCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_SSCALED: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R16G16B16A16_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}}}; - return out; } - case VK_FORMAT_R32_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}}}; - return out; } - case VK_FORMAT_R32_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}}}; - return out; } - case VK_FORMAT_R32_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}}}; - return out; } - case VK_FORMAT_R32G32_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}}}; - return out; } - case VK_FORMAT_R32G32_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}}}; - return out; } - case VK_FORMAT_R32G32_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}}}; - return out; } - case VK_FORMAT_R32G32B32_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_96BIT, 12, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}}}; - return out; } - case VK_FORMAT_R32G32B32_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_96BIT, 12, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}}}; - return out; } - case VK_FORMAT_R32G32B32_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_96BIT, 12, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}}}; - return out; } - case VK_FORMAT_R32G32B32A32_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}, {VKU_FORMAT_COMPONENT_TYPE_A, 32}}}; - return out; } - case VK_FORMAT_R32G32B32A32_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}, {VKU_FORMAT_COMPONENT_TYPE_A, 32}}}; - return out; } - case VK_FORMAT_R32G32B32A32_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}, {VKU_FORMAT_COMPONENT_TYPE_A, 32}}}; - return out; } - case VK_FORMAT_R64_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}}}; - return out; } - case VK_FORMAT_R64_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}}}; - return out; } - case VK_FORMAT_R64_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}}}; - return out; } - case VK_FORMAT_R64G64_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}}}; - return out; } - case VK_FORMAT_R64G64_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}}}; - return out; } - case VK_FORMAT_R64G64_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}}}; - return out; } - case VK_FORMAT_R64G64B64_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_192BIT, 24, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}}}; - return out; } - case VK_FORMAT_R64G64B64_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_192BIT, 24, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}}}; - return out; } - case VK_FORMAT_R64G64B64_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_192BIT, 24, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}}}; - return out; } - case VK_FORMAT_R64G64B64A64_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_256BIT, 32, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}, {VKU_FORMAT_COMPONENT_TYPE_A, 64}}}; - return out; } - case VK_FORMAT_R64G64B64A64_SINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_256BIT, 32, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}, {VKU_FORMAT_COMPONENT_TYPE_A, 64}}}; - return out; } - case VK_FORMAT_R64G64B64A64_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_256BIT, 32, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}, {VKU_FORMAT_COMPONENT_TYPE_A, 64}}}; - return out; } - case VK_FORMAT_B10G11R11_UFLOAT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 11}, {VKU_FORMAT_COMPONENT_TYPE_R, 11}}}; - return out; } - case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 9}, {VKU_FORMAT_COMPONENT_TYPE_G, 9}, {VKU_FORMAT_COMPONENT_TYPE_R, 9}}}; - return out; } - case VK_FORMAT_D16_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_D16, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_D, 16}}}; - return out; } - case VK_FORMAT_X8_D24_UNORM_PACK32: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_D24, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_D, 24}}}; - return out; } - case VK_FORMAT_D32_SFLOAT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_D32, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_D, 32}}}; - return out; } - case VK_FORMAT_S8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_S8, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_S, 8}}}; - return out; } - case VK_FORMAT_D16_UNORM_S8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_D16S8, 3, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_D, 16}, {VKU_FORMAT_COMPONENT_TYPE_S, 8}}}; - return out; } - case VK_FORMAT_D24_UNORM_S8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_D24S8, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_D, 24}, {VKU_FORMAT_COMPONENT_TYPE_S, 8}}}; - return out; } - case VK_FORMAT_D32_SFLOAT_S8_UINT: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_D32S8, 5, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_D, 32}, {VKU_FORMAT_COMPONENT_TYPE_S, 8}}}; - return out; } - case VK_FORMAT_BC1_RGB_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC1_RGB_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC1_RGBA_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC1_RGBA_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC2_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC2, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC2_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC2, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC3_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC3, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC3_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC3, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC4_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC4, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC4_SNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC4, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC5_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC5, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC5_SNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC5, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC6H_UFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC6H, 16, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC6H_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC6H, 16, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC7_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC7, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_BC7_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_BC7, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_EAC_RGBA, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_EAC_RGBA, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_EAC_R11_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_EAC_R, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}}}; - return out; } - case VK_FORMAT_EAC_R11_SNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_EAC_R, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}}}; - return out; } - case VK_FORMAT_EAC_R11G11_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_EAC_RG, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}, {VKU_FORMAT_COMPONENT_TYPE_G, 11}}}; - return out; } - case VK_FORMAT_EAC_R11G11_SNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_EAC_RG, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}, {VKU_FORMAT_COMPONENT_TYPE_G, 11}}}; - return out; } - case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, 16, 20, {5, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, 16, 20, {5, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, 16, 25, {5, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, 16, 25, {5, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, 16, 30, {6, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, 16, 30, {6, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, 16, 36, {6, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, 16, 36, {6, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, 16, 40, {8, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, 16, 40, {8, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x6_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, 16, 48, {8, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, 16, 48, {8, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x8_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, 16, 64, {8, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x8_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, 16, 64, {8, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x5_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X5, 16, 50, {10, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x5_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X5, 16, 50, {10, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x6_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X6, 16, 60, {10, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x6_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X6, 16, 60, {10, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x8_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, 16, 80, {10, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x8_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, 16, 80, {10, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x10_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X10, 16, 100, {10, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x10_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X10, 16, 100, {10, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, 16, 120, {12, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_12x10_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, 16, 120, {12, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, 16, 144, {12, 12, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, 16, 144, {12, 12, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_G8B8G8R8_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT_G8B8G8R8, 4, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_B8G8R8G8_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT_B8G8R8G8, 4, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}}}; - return out; } - case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_3PLANE_420, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_G8_B8R8_2PLANE_420_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_420, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_3PLANE_422, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_422, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_3PLANE_444, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_R10X6_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_R10X6G10X6_UNORM_2PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}}}; - return out; } - case VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R10G10B10A10, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_A, 10}}}; - return out; } - case VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G10B10G10R10, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_B10G10R10G10, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}}}; - return out; } - case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_3PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_R12X4_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_R12X4G12X4_UNORM_2PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}}}; - return out; } - case VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R12G12B12A12, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_A, 12}}}; - return out; } - case VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G12B12G12R12, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_B12G12R12G12, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}}}; - return out; } - case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_G16B16G16R16_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G16B16G16R16, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_B16G16R16G16_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_B16G16R16G16, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, 16, 20, {5, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, 16, 25, {5, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, 16, 30, {6, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, 16, 36, {6, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, 16, 40, {8, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, 16, 48, {8, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, 16, 64, {8, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X5, 16, 50, {10, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X6, 16, 60, {10, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, 16, 80, {10, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X10, 16, 100, {10, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, 16, 120, {12, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, 16, 144, {12, 12, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}}}; - return out; } - case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_444, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}}}; - return out; } - case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}}}; - return out; } - case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}}}; - return out; } - case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}}}; - return out; } - case VK_FORMAT_A4R4G4B4_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}}}; - return out; } - case VK_FORMAT_A4B4G4R4_UNORM_PACK16: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}}}; - return out; } - case VK_FORMAT_R16G16_SFIXED5_NV: { - struct VKU_FORMAT_INFO out = {VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}}}; - return out; } - - default: { - // return values for VK_FORMAT_UNDEFINED - struct VKU_FORMAT_INFO out = { VKU_FORMAT_COMPATIBILITY_CLASS_NONE, 0, 0, {0, 0, 0}, 0, {{VKU_FORMAT_COMPONENT_TYPE_NONE, 0}, {VKU_FORMAT_COMPONENT_TYPE_NONE, 0}, {VKU_FORMAT_COMPONENT_TYPE_NONE, 0}, {VKU_FORMAT_COMPONENT_TYPE_NONE, 0}} }; - return out; - } - }; +const struct VKU_FORMAT_INFO vku_formats[298] = { + { VKU_FORMAT_COMPATIBILITY_CLASS_NONE, 0, 0, {0, 0, 0}, 0, {} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_A, 4}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_A, 4}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 6}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 6}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_A, 1}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_A, 1}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 1}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_24BIT, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 2}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_48BIT, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_A, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_96BIT, 12, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_96BIT, 12, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_96BIT, 12, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}, {VKU_FORMAT_COMPONENT_TYPE_A, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}, {VKU_FORMAT_COMPONENT_TYPE_A, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 32}, {VKU_FORMAT_COMPONENT_TYPE_G, 32}, {VKU_FORMAT_COMPONENT_TYPE_B, 32}, {VKU_FORMAT_COMPONENT_TYPE_A, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT, 8, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_128BIT, 16, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_192BIT, 24, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_192BIT, 24, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_192BIT, 24, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_256BIT, 32, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}, {VKU_FORMAT_COMPONENT_TYPE_A, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_256BIT, 32, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}, {VKU_FORMAT_COMPONENT_TYPE_A, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_256BIT, 32, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 64}, {VKU_FORMAT_COMPONENT_TYPE_G, 64}, {VKU_FORMAT_COMPONENT_TYPE_B, 64}, {VKU_FORMAT_COMPONENT_TYPE_A, 64}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 11}, {VKU_FORMAT_COMPONENT_TYPE_R, 11}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_B, 9}, {VKU_FORMAT_COMPONENT_TYPE_G, 9}, {VKU_FORMAT_COMPONENT_TYPE_R, 9}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_D16, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_D, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_D24, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_D, 24}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_D32, 4, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_D, 32}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_S8, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_S, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_D16S8, 3, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_D, 16}, {VKU_FORMAT_COMPONENT_TYPE_S, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_D24S8, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_D, 24}, {VKU_FORMAT_COMPONENT_TYPE_S, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_D32S8, 5, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_D, 32}, {VKU_FORMAT_COMPONENT_TYPE_S, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC1_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC2, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC2, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC3, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC3, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC4, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC4, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC5, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC5, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC6H, 16, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC6H, 16, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC7, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_BC7, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGB, 8, 16, {4, 4, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_RGBA, 8, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_EAC_RGBA, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ETC2_EAC_RGBA, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_EAC_R, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_EAC_R, 8, 16, {4, 4, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_EAC_RG, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}, {VKU_FORMAT_COMPONENT_TYPE_G, 11}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_EAC_RG, 16, 16, {4, 4, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 11}, {VKU_FORMAT_COMPONENT_TYPE_G, 11}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, 16, 20, {5, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, 16, 20, {5, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, 16, 25, {5, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, 16, 25, {5, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, 16, 30, {6, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, 16, 30, {6, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, 16, 36, {6, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, 16, 36, {6, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, 16, 40, {8, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, 16, 40, {8, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, 16, 48, {8, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, 16, 48, {8, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, 16, 64, {8, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, 16, 64, {8, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X5, 16, 50, {10, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X5, 16, 50, {10, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X6, 16, 60, {10, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X6, 16, 60, {10, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, 16, 80, {10, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, 16, 80, {10, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X10, 16, 100, {10, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X10, 16, 100, {10, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, 16, 120, {12, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, 16, 120, {12, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, 16, 144, {12, 12, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, 16, 144, {12, 12, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC1_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_2BPP, 8, 1, {8, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_PVRTC2_4BPP, 8, 1, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4, 16, 16, {4, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4, 16, 20, {5, 4, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5, 16, 25, {5, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5, 16, 30, {6, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6, 16, 36, {6, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X5, 16, 40, {8, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X6, 16, 48, {8, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_8X8, 16, 64, {8, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X5, 16, 50, {10, 5, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X6, 16, 60, {10, 6, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X8, 16, 80, {10, 8, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_10X10, 16, 100, {10, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X10, 16, 120, {12, 10, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_12X12, 16, 144, {12, 12, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT_G8B8G8R8, 4, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT_B8G8R8G8, 4, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}, {VKU_FORMAT_COMPONENT_TYPE_G, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_3PLANE_420, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_420, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_3PLANE_422, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_422, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_3PLANE_444, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R10G10B10A10, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_A, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G10B10G10R10, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_B10G10R10G10, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_3PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R12G12B12A12, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_A, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G12B12G12R12, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_B12G12R12G12, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_G16B16G16R16, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_B16G16R16G16, 8, 1, {2, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_3PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, 16, 27, {3, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, 16, 27, {3, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_3X3X3, 16, 27, {3, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, 16, 36, {4, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, 16, 36, {4, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X3X3, 16, 36, {4, 3, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, 16, 48, {4, 4, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, 16, 48, {4, 4, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X3, 16, 48, {4, 4, 3}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, 16, 64, {4, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, 16, 64, {4, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_4X4X4, 16, 64, {4, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, 16, 80, {5, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, 16, 80, {5, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X4X4, 16, 80, {5, 4, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, 16, 100, {5, 5, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, 16, 100, {5, 5, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X4, 16, 100, {5, 5, 4}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, 16, 125, {5, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, 16, 125, {5, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_5X5X5, 16, 125, {5, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, 16, 150, {6, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, 16, 150, {6, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X5X5, 16, 150, {6, 5, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, 16, 180, {6, 6, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, 16, 180, {6, 6, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X5, 16, 180, {6, 6, 5}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, 16, 216, {6, 6, 6}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, 16, 216, {6, 6, 6}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_ASTC_6X6X6, 16, 216, {6, 6, 6}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_G, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_B, VKU_FORMAT_COMPRESSED_COMPONENT}, {VKU_FORMAT_COMPONENT_TYPE_A, VKU_FORMAT_COMPRESSED_COMPONENT}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_2PLANE_444, 3, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 8}, {VKU_FORMAT_COMPONENT_TYPE_B, 8}, {VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_10BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_12BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT_2PLANE_444, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 16}, {VKU_FORMAT_COMPONENT_TYPE_B, 16}, {VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 4}, {VKU_FORMAT_COMPONENT_TYPE_B, 4}, {VKU_FORMAT_COMPONENT_TYPE_G, 4}, {VKU_FORMAT_COMPONENT_TYPE_R, 4}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 16}, {VKU_FORMAT_COMPONENT_TYPE_G, 16}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_A, 1}, {VKU_FORMAT_COMPONENT_TYPE_B, 5}, {VKU_FORMAT_COMPONENT_TYPE_G, 5}, {VKU_FORMAT_COMPONENT_TYPE_R, 5}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_8BIT_ALPHA, 1, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_A, 8}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R10G10B10A10, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 10}, {VKU_FORMAT_COMPONENT_TYPE_G, 10}, {VKU_FORMAT_COMPONENT_TYPE_B, 10}, {VKU_FORMAT_COMPONENT_TYPE_A, 10}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R12G12B12A12, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 12}, {VKU_FORMAT_COMPONENT_TYPE_G, 12}, {VKU_FORMAT_COMPONENT_TYPE_B, 12}, {VKU_FORMAT_COMPONENT_TYPE_A, 12}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 14}, {VKU_FORMAT_COMPONENT_TYPE_G, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R14G14B14A14, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 14}, {VKU_FORMAT_COMPONENT_TYPE_G, 14}, {VKU_FORMAT_COMPONENT_TYPE_B, 14}, {VKU_FORMAT_COMPONENT_TYPE_A, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_16BIT, 2, 1, {1, 1, 1}, 1, {{VKU_FORMAT_COMPONENT_TYPE_R, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_32BIT, 4, 1, {1, 1, 1}, 2, {{VKU_FORMAT_COMPONENT_TYPE_R, 14}, {VKU_FORMAT_COMPONENT_TYPE_G, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_64BIT_R14G14B14A14, 8, 1, {1, 1, 1}, 4, {{VKU_FORMAT_COMPONENT_TYPE_R, 14}, {VKU_FORMAT_COMPONENT_TYPE_G, 14}, {VKU_FORMAT_COMPONENT_TYPE_B, 14}, {VKU_FORMAT_COMPONENT_TYPE_A, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_14BIT_2PLANE_420, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 14}, {VKU_FORMAT_COMPONENT_TYPE_B, 14}, {VKU_FORMAT_COMPONENT_TYPE_R, 14}} }, + { VKU_FORMAT_COMPATIBILITY_CLASS_14BIT_2PLANE_422, 6, 1, {1, 1, 1}, 3, {{VKU_FORMAT_COMPONENT_TYPE_G, 14}, {VKU_FORMAT_COMPONENT_TYPE_B, 14}, {VKU_FORMAT_COMPONENT_TYPE_R, 14}} }, +}; +static inline struct VKU_FORMAT_INFO vkuGetFormatInfo(VkFormat format) { + if (VK_FORMAT_UNDEFINED <= format && format <= VK_FORMAT_ASTC_12x12_SRGB_BLOCK ) { return vku_formats[format - VK_FORMAT_UNDEFINED + 0]; } + else if (VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG <= format && format <= VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG ) { return vku_formats[format - VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG + 185]; } + else if (VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK <= format && format <= VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK ) { return vku_formats[format - VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK + 193]; } + else if (VK_FORMAT_G8B8G8R8_422_UNORM <= format && format <= VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM ) { return vku_formats[format - VK_FORMAT_G8B8G8R8_422_UNORM + 207]; } + else if (VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT <= format && format <= VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT ) { return vku_formats[format - VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT + 241]; } + else if (VK_FORMAT_G8_B8R8_2PLANE_444_UNORM <= format && format <= VK_FORMAT_G16_B16R16_2PLANE_444_UNORM ) { return vku_formats[format - VK_FORMAT_G8_B8R8_2PLANE_444_UNORM + 271]; } + else if (VK_FORMAT_A4R4G4B4_UNORM_PACK16 <= format && format <= VK_FORMAT_A4B4G4R4_UNORM_PACK16 ) { return vku_formats[format - VK_FORMAT_A4R4G4B4_UNORM_PACK16 + 275]; } + else if (VK_FORMAT_R8_BOOL_ARM <= format && format <= VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM ) { return vku_formats[format - VK_FORMAT_R8_BOOL_ARM + 277]; } + else if (VK_FORMAT_R16G16_SFIXED5_NV <= format && format <= VK_FORMAT_R16G16_SFIXED5_NV ) { return vku_formats[format - VK_FORMAT_R16G16_SFIXED5_NV + 281]; } + else if (VK_FORMAT_A1B5G5R5_UNORM_PACK16 <= format && format <= VK_FORMAT_A8_UNORM ) { return vku_formats[format - VK_FORMAT_A1B5G5R5_UNORM_PACK16 + 282]; } + else if (VK_FORMAT_R10X6_UINT_PACK16_ARM <= format && format <= VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM ) { return vku_formats[format - VK_FORMAT_R10X6_UINT_PACK16_ARM + 284]; } + // Default case - return VK_FORMAT_UNDEFINED + else { + return vku_formats[0]; + } } struct VKU_FORMAT_PER_PLANE_COMPATIBILITY { @@ -1125,7 +699,7 @@ }; // Source: Vulkan spec Table 47. Plane Format Compatibility Table -inline const struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY vkuGetFormatCompatibility(VkFormat format) { +static inline struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY vkuGetFormatCompatibility(VkFormat format) { switch (format) { case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: { struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY out = {{{1, 1, VK_FORMAT_R8_UNORM }, {2, 2, VK_FORMAT_R8_UNORM }, {2, 2, VK_FORMAT_R8_UNORM }}}; @@ -1199,12 +773,28 @@ case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: { struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY out = {{{1, 1, VK_FORMAT_R16_UNORM }, {1, 1, VK_FORMAT_R16G16_UNORM }, {1, 1, VK_FORMAT_UNDEFINED }}}; return out; } + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: { + struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY out = {{{1, 1, VK_FORMAT_R14X2_UNORM_PACK16_ARM }, {2, 2, VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM }, {1, 1, VK_FORMAT_UNDEFINED }}}; + return out; } + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: { + struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY out = {{{1, 1, VK_FORMAT_R14X2_UNORM_PACK16_ARM }, {2, 1, VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM }, {1, 1, VK_FORMAT_UNDEFINED }}}; + return out; } default: { struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY out = {{{1, 1, VK_FORMAT_UNDEFINED}, {1, 1, VK_FORMAT_UNDEFINED}, {1, 1, VK_FORMAT_UNDEFINED}}}; return out; } }; } +// Return true if all components in a format are an BOOL +bool vkuFormatIsBOOL(VkFormat format) { + switch (format) { + case VK_FORMAT_R8_BOOL_ARM: + return true; + default: + return false; + } +} + // Return true if all components in a format are an SFIXED5 bool vkuFormatIsSFIXED5(VkFormat format) { switch (format) { @@ -1246,6 +836,19 @@ case VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT: + case VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM: + case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM: + case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM: return true; default: return false; @@ -1344,6 +947,16 @@ case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG: case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG: case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: + case VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT: return true; default: return false; @@ -1409,6 +1022,15 @@ case VK_FORMAT_R64G64B64_UINT: case VK_FORMAT_R64G64B64A64_UINT: case VK_FORMAT_S8_UINT: + case VK_FORMAT_R10X6_UINT_PACK16_ARM: + case VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM: + case VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM: + case VK_FORMAT_R12X4_UINT_PACK16_ARM: + case VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM: + case VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM: + case VK_FORMAT_R14X2_UINT_PACK16_ARM: + case VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM: + case VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM: return true; default: return false; @@ -1507,12 +1129,27 @@ case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG: case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG: case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG: + case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT: case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: case VK_FORMAT_A4R4G4B4_UNORM_PACK16: case VK_FORMAT_A4B4G4R4_UNORM_PACK16: + case VK_FORMAT_R14X2_UNORM_PACK16_ARM: + case VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM: + case VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: return true; default: return false; @@ -1541,8 +1178,8 @@ } } -inline bool vkuFormatIsSampledInt(VkFormat format) { return (vkuFormatIsSINT(format) || vkuFormatIsUINT(format)); } -inline bool vkuFormatIsSampledFloat(VkFormat format) { +static inline bool vkuFormatIsSampledInt(VkFormat format) { return (vkuFormatIsSINT(format) || vkuFormatIsUINT(format)); } +static inline bool vkuFormatIsSampledFloat(VkFormat format) { return (vkuFormatIsUNORM(format) || vkuFormatIsSNORM(format) || vkuFormatIsUSCALED(format) || vkuFormatIsSSCALED(format) || vkuFormatIsUFLOAT(format) || vkuFormatIsSFLOAT(format) || @@ -1558,11 +1195,21 @@ case VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK: case VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK: + case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT: case VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK: case VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK: case VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK: @@ -1587,16 +1234,36 @@ case VK_FORMAT_ASTC_12x10_UNORM_BLOCK: case VK_FORMAT_ASTC_12x12_SRGB_BLOCK: case VK_FORMAT_ASTC_12x12_UNORM_BLOCK: + case VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_4x4_SRGB_BLOCK: case VK_FORMAT_ASTC_4x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_5x4_SRGB_BLOCK: case VK_FORMAT_ASTC_5x4_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_5x5_SRGB_BLOCK: case VK_FORMAT_ASTC_5x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_6x5_SRGB_BLOCK: case VK_FORMAT_ASTC_6x5_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_6x6_SRGB_BLOCK: case VK_FORMAT_ASTC_6x6_UNORM_BLOCK: + case VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT: + case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT: case VK_FORMAT_ASTC_8x5_SRGB_BLOCK: case VK_FORMAT_ASTC_8x5_UNORM_BLOCK: case VK_FORMAT_ASTC_8x6_SRGB_BLOCK: @@ -1858,6 +1525,20 @@ case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_A4R4G4B4_UNORM_PACK16: case VK_FORMAT_A4B4G4R4_UNORM_PACK16: + case VK_FORMAT_R10X6_UINT_PACK16_ARM: + case VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM: + case VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM: + case VK_FORMAT_R12X4_UINT_PACK16_ARM: + case VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM: + case VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM: + case VK_FORMAT_R14X2_UINT_PACK16_ARM: + case VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM: + case VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM: + case VK_FORMAT_R14X2_UNORM_PACK16_ARM: + case VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM: + case VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: return true; default: return false; @@ -1903,6 +1584,8 @@ case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: return true; default: return false; @@ -1935,6 +1618,8 @@ case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: case VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM: case VK_FORMAT_G16_B16R16_2PLANE_422_UNORM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: return true; default: return false; @@ -1951,6 +1636,7 @@ case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16: case VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM: case VK_FORMAT_G16_B16R16_2PLANE_420_UNORM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: return true; default: return false; @@ -1988,6 +1674,8 @@ case VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16: case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: return 2; case VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM: case VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM: @@ -2008,7 +1696,7 @@ } // Will return VK_FORMAT_UNDEFINED if given a plane aspect that doesn't exist for the format -inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { +static inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { const uint32_t plane_idx = vkuGetPlaneIndex(plane_aspect); const struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY multiplane_compatibility = vkuGetFormatCompatibility(mp_fmt); if ((multiplane_compatibility.per_plane[0].compatible_format == VK_FORMAT_UNDEFINED) || (plane_idx >= VKU_FORMAT_MAX_PLANES)) { @@ -2018,7 +1706,7 @@ return multiplane_compatibility.per_plane[plane_idx].compatible_format; } -inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { +static inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { VkExtent2D divisors = {1, 1}; const uint32_t plane_idx = vkuGetPlaneIndex(plane_aspect); const struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY multiplane_compatibility = vkuGetFormatCompatibility(mp_fmt); @@ -2031,54 +1719,44 @@ return divisors; } -inline uint32_t vkuFormatComponentCount(VkFormat format) { return vkuGetFormatInfo(format).component_count; } +// TODO - This should be generated, but will need updating the spec XML and table +// Some few case don't have an aspect mask, so might need to check both the Depth and Stencil possiblity +static inline bool vkuFormatIsDepthStencilWithColorSizeCompatible(VkFormat color_format, VkFormat ds_format, VkImageAspectFlags aspect_mask) { + bool valid = false; -inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format) { return vkuGetFormatInfo(format).block_extent; } - -inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format) { return vkuGetFormatInfo(format).compatibility; } - -inline bool vkuFormatElementIsTexel(VkFormat format) { - if (vkuFormatIsPacked(format) || vkuFormatIsCompressed(format) || vkuFormatIsSinglePlane_422(format) || vkuFormatIsMultiplane(format)) { - return false; - } else { - return true; - } -} - -inline uint32_t vkuFormatElementSize(VkFormat format) { - return vkuFormatElementSizeWithAspect(format, VK_IMAGE_ASPECT_COLOR_BIT); -} - -inline uint32_t vkuFormatElementSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask) { - // Depth/Stencil aspect have separate helper functions - if (aspectMask & VK_IMAGE_ASPECT_STENCIL_BIT) { - return vkuFormatStencilSize(format) / 8; - } else if (aspectMask & VK_IMAGE_ASPECT_DEPTH_BIT) { - return vkuFormatDepthSize(format) / 8; - } else if (vkuFormatIsMultiplane(format)) { - // Element of entire multiplane format is not useful, - // Want to get just a single plane as the lookup format - format = vkuFindMultiplaneCompatibleFormat(format, aspectMask); + if (aspect_mask & VK_IMAGE_ASPECT_STENCIL_BIT) { + if (ds_format == VK_FORMAT_S8_UINT || ds_format == VK_FORMAT_D16_UNORM_S8_UINT || + ds_format == VK_FORMAT_D24_UNORM_S8_UINT || ds_format == VK_FORMAT_D32_SFLOAT_S8_UINT) { + valid |= (color_format == VK_FORMAT_R8_UINT || color_format == VK_FORMAT_R8_SINT || + color_format == VK_FORMAT_R8_UNORM || color_format == VK_FORMAT_R8_SNORM); + } } - return vkuGetFormatInfo(format).block_size; -} - -inline double vkuFormatTexelSize(VkFormat format) { - return vkuFormatTexelSizeWithAspect(format, VK_IMAGE_ASPECT_COLOR_BIT); -} - -inline double vkuFormatTexelSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask) { - double texel_size = (double)(vkuFormatElementSizeWithAspect(format, aspectMask)); - VkExtent3D block_extent = vkuFormatTexelBlockExtent(format); - uint32_t texels_per_block = block_extent.width * block_extent.height * block_extent.depth; - if (1 < texels_per_block) { - texel_size /= (double)(texels_per_block); + if (aspect_mask & VK_IMAGE_ASPECT_DEPTH_BIT) { + if (ds_format == VK_FORMAT_D32_SFLOAT || ds_format == VK_FORMAT_D32_SFLOAT_S8_UINT || + ds_format == VK_FORMAT_X8_D24_UNORM_PACK32 || ds_format == VK_FORMAT_D24_UNORM_S8_UINT) { + valid |= (color_format == VK_FORMAT_R32_SFLOAT || color_format == VK_FORMAT_R32_SINT || color_format == VK_FORMAT_R32_UINT); + } + if (ds_format == VK_FORMAT_D16_UNORM || ds_format == VK_FORMAT_D16_UNORM_S8_UINT) { + valid |= (color_format == VK_FORMAT_R16_SFLOAT || color_format == VK_FORMAT_R16_UNORM || + color_format == VK_FORMAT_R16_SNORM || color_format == VK_FORMAT_R16_UINT || color_format == VK_FORMAT_R16_SINT); + } } - return texel_size; + + return valid; } -inline bool vkuFormatIs8bit(VkFormat format) { +static inline uint32_t vkuFormatComponentCount(VkFormat format) { return vkuGetFormatInfo(format).component_count; } + +static inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format) { return vkuGetFormatInfo(format).block_extent; } + +static inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format) { return vkuGetFormatInfo(format).compatibility; } + +static inline uint32_t vkuFormatTexelsPerBlock(VkFormat format) { return vkuGetFormatInfo(format).texels_per_block; } + +static inline uint32_t vkuFormatTexelBlockSize(VkFormat format) { return vkuGetFormatInfo(format).texel_block_size; } + +static inline bool vkuFormatIs8bit(VkFormat format) { switch (format) { case VK_FORMAT_A8_UNORM: case VK_FORMAT_R8_UNORM: @@ -2139,12 +1817,15 @@ case VK_FORMAT_G8_B8R8_2PLANE_422_UNORM: case VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM: case VK_FORMAT_G8_B8R8_2PLANE_444_UNORM: + case VK_FORMAT_R8_BOOL_ARM: + case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM: + case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM: return true; default: return false; } } -inline bool vkuFormatIs16bit(VkFormat format) { +static inline bool vkuFormatIs16bit(VkFormat format) { switch (format) { case VK_FORMAT_R16_UNORM: case VK_FORMAT_R16_SNORM: @@ -2184,12 +1865,13 @@ case VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM: case VK_FORMAT_G16_B16R16_2PLANE_444_UNORM: case VK_FORMAT_R16G16_SFIXED5_NV: + case VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM: return true; default: return false; } } -inline bool vkuFormatIs32bit(VkFormat format) { +static inline bool vkuFormatIs32bit(VkFormat format) { switch (format) { case VK_FORMAT_R32_UINT: case VK_FORMAT_R32_SINT: @@ -2209,7 +1891,7 @@ return false; } } -inline bool vkuFormatIs64bit(VkFormat format) { +static inline bool vkuFormatIs64bit(VkFormat format) { switch (format) { case VK_FORMAT_R64_UINT: case VK_FORMAT_R64_SINT: @@ -2229,7 +1911,7 @@ } } -inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size) { +static inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size) { const struct VKU_FORMAT_INFO format_info = vkuGetFormatInfo(format); bool equal_component_size = false; for (size_t i = 0; i < VKU_FORMAT_MAX_COMPONENTS; i++) { @@ -2238,7 +1920,7 @@ return equal_component_size; } -inline bool vkuFormatHasComponentType(VkFormat format, enum VKU_FORMAT_COMPONENT_TYPE component) { +static inline bool vkuFormatHasComponentType(VkFormat format, enum VKU_FORMAT_COMPONENT_TYPE component) { const struct VKU_FORMAT_INFO format_info = vkuGetFormatInfo(format); bool equal_component_type = false; for (size_t i = 0; i < VKU_FORMAT_MAX_COMPONENTS; i++) { @@ -2247,15 +1929,15 @@ return equal_component_type; } -inline bool vkuFormatHasRed(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_R); } +static inline bool vkuFormatHasRed(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_R); } -inline bool vkuFormatHasGreen(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_G); } +static inline bool vkuFormatHasGreen(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_G); } -inline bool vkuFormatHasBlue(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_B); } +static inline bool vkuFormatHasBlue(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_B); } -inline bool vkuFormatHasAlpha(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_A); } +static inline bool vkuFormatHasAlpha(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_A); } -inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect) { +static inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect) { switch (aspect) { case VK_IMAGE_ASPECT_PLANE_0_BIT: return 0;
diff --git a/include/vulkan/utility/vk_safe_struct.hpp b/include/vulkan/utility/vk_safe_struct.hpp index 69bc5c4..53be04e 100644 --- a/include/vulkan/utility/vk_safe_struct.hpp +++ b/include/vulkan/utility/vk_safe_struct.hpp
@@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -22,69 +22,6 @@ namespace vku { -// Mapping of unknown stype codes to structure lengths. This should be set up by the application -// before vkCreateInstance() and not modified afterwards. -std::vector<std::pair<uint32_t, uint32_t>>& GetCustomStypeInfo(); - -struct safe_VkBufferMemoryBarrier { - VkStructureType sType; - const void* pNext{}; - VkAccessFlags srcAccessMask; - VkAccessFlags dstAccessMask; - uint32_t srcQueueFamilyIndex; - uint32_t dstQueueFamilyIndex; - VkBuffer buffer; - VkDeviceSize offset; - VkDeviceSize size; - - safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& copy_src); - safe_VkBufferMemoryBarrier& operator=(const safe_VkBufferMemoryBarrier& copy_src); - safe_VkBufferMemoryBarrier(); - ~safe_VkBufferMemoryBarrier(); - void initialize(const VkBufferMemoryBarrier* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkBufferMemoryBarrier* copy_src, PNextCopyState* copy_state = {}); - VkBufferMemoryBarrier* ptr() { return reinterpret_cast<VkBufferMemoryBarrier*>(this); } - VkBufferMemoryBarrier const* ptr() const { return reinterpret_cast<VkBufferMemoryBarrier const*>(this); } -}; -struct safe_VkImageMemoryBarrier { - VkStructureType sType; - const void* pNext{}; - VkAccessFlags srcAccessMask; - VkAccessFlags dstAccessMask; - VkImageLayout oldLayout; - VkImageLayout newLayout; - uint32_t srcQueueFamilyIndex; - uint32_t dstQueueFamilyIndex; - VkImage image; - VkImageSubresourceRange subresourceRange; - - safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& copy_src); - safe_VkImageMemoryBarrier& operator=(const safe_VkImageMemoryBarrier& copy_src); - safe_VkImageMemoryBarrier(); - ~safe_VkImageMemoryBarrier(); - void initialize(const VkImageMemoryBarrier* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkImageMemoryBarrier* copy_src, PNextCopyState* copy_state = {}); - VkImageMemoryBarrier* ptr() { return reinterpret_cast<VkImageMemoryBarrier*>(this); } - VkImageMemoryBarrier const* ptr() const { return reinterpret_cast<VkImageMemoryBarrier const*>(this); } -}; -struct safe_VkMemoryBarrier { - VkStructureType sType; - const void* pNext{}; - VkAccessFlags srcAccessMask; - VkAccessFlags dstAccessMask; - - safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkMemoryBarrier(const safe_VkMemoryBarrier& copy_src); - safe_VkMemoryBarrier& operator=(const safe_VkMemoryBarrier& copy_src); - safe_VkMemoryBarrier(); - ~safe_VkMemoryBarrier(); - void initialize(const VkMemoryBarrier* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkMemoryBarrier* copy_src, PNextCopyState* copy_state = {}); - VkMemoryBarrier* ptr() { return reinterpret_cast<VkMemoryBarrier*>(this); } - VkMemoryBarrier const* ptr() const { return reinterpret_cast<VkMemoryBarrier const*>(this); } -}; struct safe_VkAllocationCallbacks { void* pUserData{}; PFN_vkAllocationFunction pfnAllocation; @@ -236,6 +173,21 @@ VkMemoryAllocateInfo* ptr() { return reinterpret_cast<VkMemoryAllocateInfo*>(this); } VkMemoryAllocateInfo const* ptr() const { return reinterpret_cast<VkMemoryAllocateInfo const*>(this); } }; +struct safe_VkSparseImageMemoryBindInfo { + VkImage image; + uint32_t bindCount; + VkSparseImageMemoryBind* pBinds{}; + + safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* in_struct, PNextCopyState* copy_state = {}); + safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo& copy_src); + safe_VkSparseImageMemoryBindInfo& operator=(const safe_VkSparseImageMemoryBindInfo& copy_src); + safe_VkSparseImageMemoryBindInfo(); + ~safe_VkSparseImageMemoryBindInfo(); + void initialize(const VkSparseImageMemoryBindInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSparseImageMemoryBindInfo* copy_src, PNextCopyState* copy_state = {}); + VkSparseImageMemoryBindInfo* ptr() { return reinterpret_cast<VkSparseImageMemoryBindInfo*>(this); } + VkSparseImageMemoryBindInfo const* ptr() const { return reinterpret_cast<VkSparseImageMemoryBindInfo const*>(this); } +}; struct safe_VkSparseBufferMemoryBindInfo { VkBuffer buffer; uint32_t bindCount; @@ -268,21 +220,6 @@ return reinterpret_cast<VkSparseImageOpaqueMemoryBindInfo const*>(this); } }; -struct safe_VkSparseImageMemoryBindInfo { - VkImage image; - uint32_t bindCount; - VkSparseImageMemoryBind* pBinds{}; - - safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* in_struct, PNextCopyState* copy_state = {}); - safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo& copy_src); - safe_VkSparseImageMemoryBindInfo& operator=(const safe_VkSparseImageMemoryBindInfo& copy_src); - safe_VkSparseImageMemoryBindInfo(); - ~safe_VkSparseImageMemoryBindInfo(); - void initialize(const VkSparseImageMemoryBindInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSparseImageMemoryBindInfo* copy_src, PNextCopyState* copy_state = {}); - VkSparseImageMemoryBindInfo* ptr() { return reinterpret_cast<VkSparseImageMemoryBindInfo*>(this); } - VkSparseImageMemoryBindInfo const* ptr() const { return reinterpret_cast<VkSparseImageMemoryBindInfo const*>(this); } -}; struct safe_VkBindSparseInfo { VkStructureType sType; const void* pNext{}; @@ -337,21 +274,6 @@ VkSemaphoreCreateInfo* ptr() { return reinterpret_cast<VkSemaphoreCreateInfo*>(this); } VkSemaphoreCreateInfo const* ptr() const { return reinterpret_cast<VkSemaphoreCreateInfo const*>(this); } }; -struct safe_VkEventCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkEventCreateFlags flags; - - safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkEventCreateInfo(const safe_VkEventCreateInfo& copy_src); - safe_VkEventCreateInfo& operator=(const safe_VkEventCreateInfo& copy_src); - safe_VkEventCreateInfo(); - ~safe_VkEventCreateInfo(); - void initialize(const VkEventCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkEventCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkEventCreateInfo* ptr() { return reinterpret_cast<VkEventCreateInfo*>(this); } - VkEventCreateInfo const* ptr() const { return reinterpret_cast<VkEventCreateInfo const*>(this); } -}; struct safe_VkQueryPoolCreateInfo { VkStructureType sType; const void* pNext{}; @@ -390,25 +312,6 @@ VkBufferCreateInfo* ptr() { return reinterpret_cast<VkBufferCreateInfo*>(this); } VkBufferCreateInfo const* ptr() const { return reinterpret_cast<VkBufferCreateInfo const*>(this); } }; -struct safe_VkBufferViewCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkBufferViewCreateFlags flags; - VkBuffer buffer; - VkFormat format; - VkDeviceSize offset; - VkDeviceSize range; - - safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& copy_src); - safe_VkBufferViewCreateInfo& operator=(const safe_VkBufferViewCreateInfo& copy_src); - safe_VkBufferViewCreateInfo(); - ~safe_VkBufferViewCreateInfo(); - void initialize(const VkBufferViewCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkBufferViewCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkBufferViewCreateInfo* ptr() { return reinterpret_cast<VkBufferViewCreateInfo*>(this); } - VkBufferViewCreateInfo const* ptr() const { return reinterpret_cast<VkBufferViewCreateInfo const*>(this); } -}; struct safe_VkImageCreateInfo { VkStructureType sType; const void* pNext{}; @@ -456,6 +359,171 @@ VkImageViewCreateInfo* ptr() { return reinterpret_cast<VkImageViewCreateInfo*>(this); } VkImageViewCreateInfo const* ptr() const { return reinterpret_cast<VkImageViewCreateInfo const*>(this); } }; +struct safe_VkCommandPoolCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkCommandPoolCreateFlags flags; + uint32_t queueFamilyIndex; + + safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& copy_src); + safe_VkCommandPoolCreateInfo& operator=(const safe_VkCommandPoolCreateInfo& copy_src); + safe_VkCommandPoolCreateInfo(); + ~safe_VkCommandPoolCreateInfo(); + void initialize(const VkCommandPoolCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCommandPoolCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkCommandPoolCreateInfo* ptr() { return reinterpret_cast<VkCommandPoolCreateInfo*>(this); } + VkCommandPoolCreateInfo const* ptr() const { return reinterpret_cast<VkCommandPoolCreateInfo const*>(this); } +}; +struct safe_VkCommandBufferAllocateInfo { + VkStructureType sType; + const void* pNext{}; + VkCommandPool commandPool; + VkCommandBufferLevel level; + uint32_t commandBufferCount; + + safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& copy_src); + safe_VkCommandBufferAllocateInfo& operator=(const safe_VkCommandBufferAllocateInfo& copy_src); + safe_VkCommandBufferAllocateInfo(); + ~safe_VkCommandBufferAllocateInfo(); + void initialize(const VkCommandBufferAllocateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCommandBufferAllocateInfo* copy_src, PNextCopyState* copy_state = {}); + VkCommandBufferAllocateInfo* ptr() { return reinterpret_cast<VkCommandBufferAllocateInfo*>(this); } + VkCommandBufferAllocateInfo const* ptr() const { return reinterpret_cast<VkCommandBufferAllocateInfo const*>(this); } +}; +struct safe_VkCommandBufferInheritanceInfo { + VkStructureType sType; + const void* pNext{}; + VkRenderPass renderPass; + uint32_t subpass; + VkFramebuffer framebuffer; + VkBool32 occlusionQueryEnable; + VkQueryControlFlags queryFlags; + VkQueryPipelineStatisticFlags pipelineStatistics; + + safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& copy_src); + safe_VkCommandBufferInheritanceInfo& operator=(const safe_VkCommandBufferInheritanceInfo& copy_src); + safe_VkCommandBufferInheritanceInfo(); + ~safe_VkCommandBufferInheritanceInfo(); + void initialize(const VkCommandBufferInheritanceInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCommandBufferInheritanceInfo* copy_src, PNextCopyState* copy_state = {}); + VkCommandBufferInheritanceInfo* ptr() { return reinterpret_cast<VkCommandBufferInheritanceInfo*>(this); } + VkCommandBufferInheritanceInfo const* ptr() const { return reinterpret_cast<VkCommandBufferInheritanceInfo const*>(this); } +}; +struct safe_VkCommandBufferBeginInfo { + VkStructureType sType; + const void* pNext{}; + VkCommandBufferUsageFlags flags; + safe_VkCommandBufferInheritanceInfo* pInheritanceInfo{}; + + safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& copy_src); + safe_VkCommandBufferBeginInfo& operator=(const safe_VkCommandBufferBeginInfo& copy_src); + safe_VkCommandBufferBeginInfo(); + ~safe_VkCommandBufferBeginInfo(); + void initialize(const VkCommandBufferBeginInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCommandBufferBeginInfo* copy_src, PNextCopyState* copy_state = {}); + VkCommandBufferBeginInfo* ptr() { return reinterpret_cast<VkCommandBufferBeginInfo*>(this); } + VkCommandBufferBeginInfo const* ptr() const { return reinterpret_cast<VkCommandBufferBeginInfo const*>(this); } +}; +struct safe_VkBufferMemoryBarrier { + VkStructureType sType; + const void* pNext{}; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkBuffer buffer; + VkDeviceSize offset; + VkDeviceSize size; + + safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& copy_src); + safe_VkBufferMemoryBarrier& operator=(const safe_VkBufferMemoryBarrier& copy_src); + safe_VkBufferMemoryBarrier(); + ~safe_VkBufferMemoryBarrier(); + void initialize(const VkBufferMemoryBarrier* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBufferMemoryBarrier* copy_src, PNextCopyState* copy_state = {}); + VkBufferMemoryBarrier* ptr() { return reinterpret_cast<VkBufferMemoryBarrier*>(this); } + VkBufferMemoryBarrier const* ptr() const { return reinterpret_cast<VkBufferMemoryBarrier const*>(this); } +}; +struct safe_VkImageMemoryBarrier { + VkStructureType sType; + const void* pNext{}; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkImageLayout oldLayout; + VkImageLayout newLayout; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkImage image; + VkImageSubresourceRange subresourceRange; + + safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& copy_src); + safe_VkImageMemoryBarrier& operator=(const safe_VkImageMemoryBarrier& copy_src); + safe_VkImageMemoryBarrier(); + ~safe_VkImageMemoryBarrier(); + void initialize(const VkImageMemoryBarrier* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImageMemoryBarrier* copy_src, PNextCopyState* copy_state = {}); + VkImageMemoryBarrier* ptr() { return reinterpret_cast<VkImageMemoryBarrier*>(this); } + VkImageMemoryBarrier const* ptr() const { return reinterpret_cast<VkImageMemoryBarrier const*>(this); } +}; +struct safe_VkMemoryBarrier { + VkStructureType sType; + const void* pNext{}; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + + safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkMemoryBarrier(const safe_VkMemoryBarrier& copy_src); + safe_VkMemoryBarrier& operator=(const safe_VkMemoryBarrier& copy_src); + safe_VkMemoryBarrier(); + ~safe_VkMemoryBarrier(); + void initialize(const VkMemoryBarrier* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryBarrier* copy_src, PNextCopyState* copy_state = {}); + VkMemoryBarrier* ptr() { return reinterpret_cast<VkMemoryBarrier*>(this); } + VkMemoryBarrier const* ptr() const { return reinterpret_cast<VkMemoryBarrier const*>(this); } +}; +struct safe_VkEventCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkEventCreateFlags flags; + + safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkEventCreateInfo(const safe_VkEventCreateInfo& copy_src); + safe_VkEventCreateInfo& operator=(const safe_VkEventCreateInfo& copy_src); + safe_VkEventCreateInfo(); + ~safe_VkEventCreateInfo(); + void initialize(const VkEventCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkEventCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkEventCreateInfo* ptr() { return reinterpret_cast<VkEventCreateInfo*>(this); } + VkEventCreateInfo const* ptr() const { return reinterpret_cast<VkEventCreateInfo const*>(this); } +}; +struct safe_VkBufferViewCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkBufferViewCreateFlags flags; + VkBuffer buffer; + VkFormat format; + VkDeviceSize offset; + VkDeviceSize range; + + safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& copy_src); + safe_VkBufferViewCreateInfo& operator=(const safe_VkBufferViewCreateInfo& copy_src); + safe_VkBufferViewCreateInfo(); + ~safe_VkBufferViewCreateInfo(); + void initialize(const VkBufferViewCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBufferViewCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkBufferViewCreateInfo* ptr() { return reinterpret_cast<VkBufferViewCreateInfo*>(this); } + VkBufferViewCreateInfo const* ptr() const { return reinterpret_cast<VkBufferViewCreateInfo const*>(this); } +}; struct safe_VkShaderModuleCreateInfo { VkStructureType sType; const void* pNext{}; @@ -557,244 +625,6 @@ VkComputePipelineCreateInfo* ptr() { return reinterpret_cast<VkComputePipelineCreateInfo*>(this); } VkComputePipelineCreateInfo const* ptr() const { return reinterpret_cast<VkComputePipelineCreateInfo const*>(this); } }; -struct safe_VkPipelineVertexInputStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineVertexInputStateCreateFlags flags; - uint32_t vertexBindingDescriptionCount; - const VkVertexInputBindingDescription* pVertexBindingDescriptions{}; - uint32_t vertexAttributeDescriptionCount; - const VkVertexInputAttributeDescription* pVertexAttributeDescriptions{}; - - safe_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineVertexInputStateCreateInfo(const safe_VkPipelineVertexInputStateCreateInfo& copy_src); - safe_VkPipelineVertexInputStateCreateInfo& operator=(const safe_VkPipelineVertexInputStateCreateInfo& copy_src); - safe_VkPipelineVertexInputStateCreateInfo(); - ~safe_VkPipelineVertexInputStateCreateInfo(); - void initialize(const VkPipelineVertexInputStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineVertexInputStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineVertexInputStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineVertexInputStateCreateInfo*>(this); } - VkPipelineVertexInputStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineVertexInputStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineInputAssemblyStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineInputAssemblyStateCreateFlags flags; - VkPrimitiveTopology topology; - VkBool32 primitiveRestartEnable; - - safe_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineInputAssemblyStateCreateInfo(const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src); - safe_VkPipelineInputAssemblyStateCreateInfo& operator=(const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src); - safe_VkPipelineInputAssemblyStateCreateInfo(); - ~safe_VkPipelineInputAssemblyStateCreateInfo(); - void initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineInputAssemblyStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo*>(this); } - VkPipelineInputAssemblyStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineTessellationStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineTessellationStateCreateFlags flags; - uint32_t patchControlPoints; - - safe_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineTessellationStateCreateInfo(const safe_VkPipelineTessellationStateCreateInfo& copy_src); - safe_VkPipelineTessellationStateCreateInfo& operator=(const safe_VkPipelineTessellationStateCreateInfo& copy_src); - safe_VkPipelineTessellationStateCreateInfo(); - ~safe_VkPipelineTessellationStateCreateInfo(); - void initialize(const VkPipelineTessellationStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineTessellationStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineTessellationStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineTessellationStateCreateInfo*>(this); } - VkPipelineTessellationStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineTessellationStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineViewportStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineViewportStateCreateFlags flags; - uint32_t viewportCount; - const VkViewport* pViewports{}; - uint32_t scissorCount; - const VkRect2D* pScissors{}; - - safe_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, - const bool is_dynamic_scissors, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineViewportStateCreateInfo(const safe_VkPipelineViewportStateCreateInfo& copy_src); - safe_VkPipelineViewportStateCreateInfo& operator=(const safe_VkPipelineViewportStateCreateInfo& copy_src); - safe_VkPipelineViewportStateCreateInfo(); - ~safe_VkPipelineViewportStateCreateInfo(); - void initialize(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, - const bool is_dynamic_scissors, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineViewportStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineViewportStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineViewportStateCreateInfo*>(this); } - VkPipelineViewportStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineViewportStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineRasterizationStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineRasterizationStateCreateFlags flags; - VkBool32 depthClampEnable; - VkBool32 rasterizerDiscardEnable; - VkPolygonMode polygonMode; - VkCullModeFlags cullMode; - VkFrontFace frontFace; - VkBool32 depthBiasEnable; - float depthBiasConstantFactor; - float depthBiasClamp; - float depthBiasSlopeFactor; - float lineWidth; - - safe_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineRasterizationStateCreateInfo(const safe_VkPipelineRasterizationStateCreateInfo& copy_src); - safe_VkPipelineRasterizationStateCreateInfo& operator=(const safe_VkPipelineRasterizationStateCreateInfo& copy_src); - safe_VkPipelineRasterizationStateCreateInfo(); - ~safe_VkPipelineRasterizationStateCreateInfo(); - void initialize(const VkPipelineRasterizationStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineRasterizationStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineRasterizationStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineRasterizationStateCreateInfo*>(this); } - VkPipelineRasterizationStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineRasterizationStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineMultisampleStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineMultisampleStateCreateFlags flags; - VkSampleCountFlagBits rasterizationSamples; - VkBool32 sampleShadingEnable; - float minSampleShading; - const VkSampleMask* pSampleMask{}; - VkBool32 alphaToCoverageEnable; - VkBool32 alphaToOneEnable; - - safe_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineMultisampleStateCreateInfo(const safe_VkPipelineMultisampleStateCreateInfo& copy_src); - safe_VkPipelineMultisampleStateCreateInfo& operator=(const safe_VkPipelineMultisampleStateCreateInfo& copy_src); - safe_VkPipelineMultisampleStateCreateInfo(); - ~safe_VkPipelineMultisampleStateCreateInfo(); - void initialize(const VkPipelineMultisampleStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineMultisampleStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineMultisampleStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineMultisampleStateCreateInfo*>(this); } - VkPipelineMultisampleStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineMultisampleStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineDepthStencilStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineDepthStencilStateCreateFlags flags; - VkBool32 depthTestEnable; - VkBool32 depthWriteEnable; - VkCompareOp depthCompareOp; - VkBool32 depthBoundsTestEnable; - VkBool32 stencilTestEnable; - VkStencilOpState front; - VkStencilOpState back; - float minDepthBounds; - float maxDepthBounds; - - safe_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineDepthStencilStateCreateInfo(const safe_VkPipelineDepthStencilStateCreateInfo& copy_src); - safe_VkPipelineDepthStencilStateCreateInfo& operator=(const safe_VkPipelineDepthStencilStateCreateInfo& copy_src); - safe_VkPipelineDepthStencilStateCreateInfo(); - ~safe_VkPipelineDepthStencilStateCreateInfo(); - void initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineDepthStencilStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineDepthStencilStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineDepthStencilStateCreateInfo*>(this); } - VkPipelineDepthStencilStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineDepthStencilStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineColorBlendStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineColorBlendStateCreateFlags flags; - VkBool32 logicOpEnable; - VkLogicOp logicOp; - uint32_t attachmentCount; - const VkPipelineColorBlendAttachmentState* pAttachments{}; - float blendConstants[4]; - - safe_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPipelineColorBlendStateCreateInfo(const safe_VkPipelineColorBlendStateCreateInfo& copy_src); - safe_VkPipelineColorBlendStateCreateInfo& operator=(const safe_VkPipelineColorBlendStateCreateInfo& copy_src); - safe_VkPipelineColorBlendStateCreateInfo(); - ~safe_VkPipelineColorBlendStateCreateInfo(); - void initialize(const VkPipelineColorBlendStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineColorBlendStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineColorBlendStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineColorBlendStateCreateInfo*>(this); } - VkPipelineColorBlendStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineColorBlendStateCreateInfo const*>(this); - } -}; -struct safe_VkPipelineDynamicStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineDynamicStateCreateFlags flags; - uint32_t dynamicStateCount; - const VkDynamicState* pDynamicStates{}; - - safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPipelineDynamicStateCreateInfo(const safe_VkPipelineDynamicStateCreateInfo& copy_src); - safe_VkPipelineDynamicStateCreateInfo& operator=(const safe_VkPipelineDynamicStateCreateInfo& copy_src); - safe_VkPipelineDynamicStateCreateInfo(); - ~safe_VkPipelineDynamicStateCreateInfo(); - void initialize(const VkPipelineDynamicStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineDynamicStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineDynamicStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineDynamicStateCreateInfo*>(this); } - VkPipelineDynamicStateCreateInfo const* ptr() const { return reinterpret_cast<VkPipelineDynamicStateCreateInfo const*>(this); } -}; -struct safe_VkGraphicsPipelineCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineCreateFlags flags; - uint32_t stageCount; - safe_VkPipelineShaderStageCreateInfo* pStages{}; - safe_VkPipelineVertexInputStateCreateInfo* pVertexInputState{}; - safe_VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState{}; - safe_VkPipelineTessellationStateCreateInfo* pTessellationState{}; - safe_VkPipelineViewportStateCreateInfo* pViewportState{}; - safe_VkPipelineRasterizationStateCreateInfo* pRasterizationState{}; - safe_VkPipelineMultisampleStateCreateInfo* pMultisampleState{}; - safe_VkPipelineDepthStencilStateCreateInfo* pDepthStencilState{}; - safe_VkPipelineColorBlendStateCreateInfo* pColorBlendState{}; - safe_VkPipelineDynamicStateCreateInfo* pDynamicState{}; - VkPipelineLayout layout; - VkRenderPass renderPass; - uint32_t subpass; - VkPipeline basePipelineHandle; - int32_t basePipelineIndex; - - safe_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, - const bool uses_depthstencil_attachment, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkGraphicsPipelineCreateInfo(const safe_VkGraphicsPipelineCreateInfo& copy_src); - safe_VkGraphicsPipelineCreateInfo& operator=(const safe_VkGraphicsPipelineCreateInfo& copy_src); - safe_VkGraphicsPipelineCreateInfo(); - ~safe_VkGraphicsPipelineCreateInfo(); - void initialize(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, - const bool uses_depthstencil_attachment, PNextCopyState* copy_state = {}); - void initialize(const safe_VkGraphicsPipelineCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkGraphicsPipelineCreateInfo* ptr() { return reinterpret_cast<VkGraphicsPipelineCreateInfo*>(this); } - VkGraphicsPipelineCreateInfo const* ptr() const { return reinterpret_cast<VkGraphicsPipelineCreateInfo const*>(this); } -}; struct safe_VkPipelineLayoutCreateInfo { VkStructureType sType; const void* pNext{}; @@ -960,6 +790,244 @@ VkWriteDescriptorSet* ptr() { return reinterpret_cast<VkWriteDescriptorSet*>(this); } VkWriteDescriptorSet const* ptr() const { return reinterpret_cast<VkWriteDescriptorSet const*>(this); } }; +struct safe_VkPipelineColorBlendStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineColorBlendStateCreateFlags flags; + VkBool32 logicOpEnable; + VkLogicOp logicOp; + uint32_t attachmentCount; + const VkPipelineColorBlendAttachmentState* pAttachments{}; + float blendConstants[4]; + + safe_VkPipelineColorBlendStateCreateInfo(const VkPipelineColorBlendStateCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPipelineColorBlendStateCreateInfo(const safe_VkPipelineColorBlendStateCreateInfo& copy_src); + safe_VkPipelineColorBlendStateCreateInfo& operator=(const safe_VkPipelineColorBlendStateCreateInfo& copy_src); + safe_VkPipelineColorBlendStateCreateInfo(); + ~safe_VkPipelineColorBlendStateCreateInfo(); + void initialize(const VkPipelineColorBlendStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineColorBlendStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineColorBlendStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineColorBlendStateCreateInfo*>(this); } + VkPipelineColorBlendStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineColorBlendStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineDepthStencilStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineDepthStencilStateCreateFlags flags; + VkBool32 depthTestEnable; + VkBool32 depthWriteEnable; + VkCompareOp depthCompareOp; + VkBool32 depthBoundsTestEnable; + VkBool32 stencilTestEnable; + VkStencilOpState front; + VkStencilOpState back; + float minDepthBounds; + float maxDepthBounds; + + safe_VkPipelineDepthStencilStateCreateInfo(const VkPipelineDepthStencilStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineDepthStencilStateCreateInfo(const safe_VkPipelineDepthStencilStateCreateInfo& copy_src); + safe_VkPipelineDepthStencilStateCreateInfo& operator=(const safe_VkPipelineDepthStencilStateCreateInfo& copy_src); + safe_VkPipelineDepthStencilStateCreateInfo(); + ~safe_VkPipelineDepthStencilStateCreateInfo(); + void initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineDepthStencilStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineDepthStencilStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineDepthStencilStateCreateInfo*>(this); } + VkPipelineDepthStencilStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineDepthStencilStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineDynamicStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineDynamicStateCreateFlags flags; + uint32_t dynamicStateCount; + const VkDynamicState* pDynamicStates{}; + + safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPipelineDynamicStateCreateInfo(const safe_VkPipelineDynamicStateCreateInfo& copy_src); + safe_VkPipelineDynamicStateCreateInfo& operator=(const safe_VkPipelineDynamicStateCreateInfo& copy_src); + safe_VkPipelineDynamicStateCreateInfo(); + ~safe_VkPipelineDynamicStateCreateInfo(); + void initialize(const VkPipelineDynamicStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineDynamicStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineDynamicStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineDynamicStateCreateInfo*>(this); } + VkPipelineDynamicStateCreateInfo const* ptr() const { return reinterpret_cast<VkPipelineDynamicStateCreateInfo const*>(this); } +}; +struct safe_VkPipelineInputAssemblyStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineInputAssemblyStateCreateFlags flags; + VkPrimitiveTopology topology; + VkBool32 primitiveRestartEnable; + + safe_VkPipelineInputAssemblyStateCreateInfo(const VkPipelineInputAssemblyStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineInputAssemblyStateCreateInfo(const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src); + safe_VkPipelineInputAssemblyStateCreateInfo& operator=(const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src); + safe_VkPipelineInputAssemblyStateCreateInfo(); + ~safe_VkPipelineInputAssemblyStateCreateInfo(); + void initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineInputAssemblyStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo*>(this); } + VkPipelineInputAssemblyStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineInputAssemblyStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineMultisampleStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineMultisampleStateCreateFlags flags; + VkSampleCountFlagBits rasterizationSamples; + VkBool32 sampleShadingEnable; + float minSampleShading; + const VkSampleMask* pSampleMask{}; + VkBool32 alphaToCoverageEnable; + VkBool32 alphaToOneEnable; + + safe_VkPipelineMultisampleStateCreateInfo(const VkPipelineMultisampleStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineMultisampleStateCreateInfo(const safe_VkPipelineMultisampleStateCreateInfo& copy_src); + safe_VkPipelineMultisampleStateCreateInfo& operator=(const safe_VkPipelineMultisampleStateCreateInfo& copy_src); + safe_VkPipelineMultisampleStateCreateInfo(); + ~safe_VkPipelineMultisampleStateCreateInfo(); + void initialize(const VkPipelineMultisampleStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineMultisampleStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineMultisampleStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineMultisampleStateCreateInfo*>(this); } + VkPipelineMultisampleStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineMultisampleStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineRasterizationStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineRasterizationStateCreateFlags flags; + VkBool32 depthClampEnable; + VkBool32 rasterizerDiscardEnable; + VkPolygonMode polygonMode; + VkCullModeFlags cullMode; + VkFrontFace frontFace; + VkBool32 depthBiasEnable; + float depthBiasConstantFactor; + float depthBiasClamp; + float depthBiasSlopeFactor; + float lineWidth; + + safe_VkPipelineRasterizationStateCreateInfo(const VkPipelineRasterizationStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineRasterizationStateCreateInfo(const safe_VkPipelineRasterizationStateCreateInfo& copy_src); + safe_VkPipelineRasterizationStateCreateInfo& operator=(const safe_VkPipelineRasterizationStateCreateInfo& copy_src); + safe_VkPipelineRasterizationStateCreateInfo(); + ~safe_VkPipelineRasterizationStateCreateInfo(); + void initialize(const VkPipelineRasterizationStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineRasterizationStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineRasterizationStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineRasterizationStateCreateInfo*>(this); } + VkPipelineRasterizationStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineRasterizationStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineTessellationStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineTessellationStateCreateFlags flags; + uint32_t patchControlPoints; + + safe_VkPipelineTessellationStateCreateInfo(const VkPipelineTessellationStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineTessellationStateCreateInfo(const safe_VkPipelineTessellationStateCreateInfo& copy_src); + safe_VkPipelineTessellationStateCreateInfo& operator=(const safe_VkPipelineTessellationStateCreateInfo& copy_src); + safe_VkPipelineTessellationStateCreateInfo(); + ~safe_VkPipelineTessellationStateCreateInfo(); + void initialize(const VkPipelineTessellationStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineTessellationStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineTessellationStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineTessellationStateCreateInfo*>(this); } + VkPipelineTessellationStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineTessellationStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineVertexInputStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineVertexInputStateCreateFlags flags; + uint32_t vertexBindingDescriptionCount; + const VkVertexInputBindingDescription* pVertexBindingDescriptions{}; + uint32_t vertexAttributeDescriptionCount; + const VkVertexInputAttributeDescription* pVertexAttributeDescriptions{}; + + safe_VkPipelineVertexInputStateCreateInfo(const VkPipelineVertexInputStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineVertexInputStateCreateInfo(const safe_VkPipelineVertexInputStateCreateInfo& copy_src); + safe_VkPipelineVertexInputStateCreateInfo& operator=(const safe_VkPipelineVertexInputStateCreateInfo& copy_src); + safe_VkPipelineVertexInputStateCreateInfo(); + ~safe_VkPipelineVertexInputStateCreateInfo(); + void initialize(const VkPipelineVertexInputStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineVertexInputStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineVertexInputStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineVertexInputStateCreateInfo*>(this); } + VkPipelineVertexInputStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineVertexInputStateCreateInfo const*>(this); + } +}; +struct safe_VkPipelineViewportStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineViewportStateCreateFlags flags; + uint32_t viewportCount; + const VkViewport* pViewports{}; + uint32_t scissorCount; + const VkRect2D* pScissors{}; + + safe_VkPipelineViewportStateCreateInfo(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, + const bool is_dynamic_scissors, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineViewportStateCreateInfo(const safe_VkPipelineViewportStateCreateInfo& copy_src); + safe_VkPipelineViewportStateCreateInfo& operator=(const safe_VkPipelineViewportStateCreateInfo& copy_src); + safe_VkPipelineViewportStateCreateInfo(); + ~safe_VkPipelineViewportStateCreateInfo(); + void initialize(const VkPipelineViewportStateCreateInfo* in_struct, const bool is_dynamic_viewports, + const bool is_dynamic_scissors, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineViewportStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineViewportStateCreateInfo* ptr() { return reinterpret_cast<VkPipelineViewportStateCreateInfo*>(this); } + VkPipelineViewportStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineViewportStateCreateInfo const*>(this); + } +}; +struct safe_VkGraphicsPipelineCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineCreateFlags flags; + uint32_t stageCount; + safe_VkPipelineShaderStageCreateInfo* pStages{}; + safe_VkPipelineVertexInputStateCreateInfo* pVertexInputState{}; + safe_VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState{}; + safe_VkPipelineTessellationStateCreateInfo* pTessellationState{}; + safe_VkPipelineViewportStateCreateInfo* pViewportState{}; + safe_VkPipelineRasterizationStateCreateInfo* pRasterizationState{}; + safe_VkPipelineMultisampleStateCreateInfo* pMultisampleState{}; + safe_VkPipelineDepthStencilStateCreateInfo* pDepthStencilState{}; + safe_VkPipelineColorBlendStateCreateInfo* pColorBlendState{}; + safe_VkPipelineDynamicStateCreateInfo* pDynamicState{}; + VkPipelineLayout layout; + VkRenderPass renderPass; + uint32_t subpass; + VkPipeline basePipelineHandle; + int32_t basePipelineIndex; + + safe_VkGraphicsPipelineCreateInfo(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, + const bool uses_depthstencil_attachment, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkGraphicsPipelineCreateInfo(const safe_VkGraphicsPipelineCreateInfo& copy_src); + safe_VkGraphicsPipelineCreateInfo& operator=(const safe_VkGraphicsPipelineCreateInfo& copy_src); + safe_VkGraphicsPipelineCreateInfo(); + ~safe_VkGraphicsPipelineCreateInfo(); + void initialize(const VkGraphicsPipelineCreateInfo* in_struct, const bool uses_color_attachment, + const bool uses_depthstencil_attachment, PNextCopyState* copy_state = {}); + void initialize(const safe_VkGraphicsPipelineCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkGraphicsPipelineCreateInfo* ptr() { return reinterpret_cast<VkGraphicsPipelineCreateInfo*>(this); } + VkGraphicsPipelineCreateInfo const* ptr() const { return reinterpret_cast<VkGraphicsPipelineCreateInfo const*>(this); } +}; struct safe_VkFramebufferCreateInfo { VkStructureType sType; const void* pNext{}; @@ -1024,78 +1092,6 @@ VkRenderPassCreateInfo* ptr() { return reinterpret_cast<VkRenderPassCreateInfo*>(this); } VkRenderPassCreateInfo const* ptr() const { return reinterpret_cast<VkRenderPassCreateInfo const*>(this); } }; -struct safe_VkCommandPoolCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkCommandPoolCreateFlags flags; - uint32_t queueFamilyIndex; - - safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& copy_src); - safe_VkCommandPoolCreateInfo& operator=(const safe_VkCommandPoolCreateInfo& copy_src); - safe_VkCommandPoolCreateInfo(); - ~safe_VkCommandPoolCreateInfo(); - void initialize(const VkCommandPoolCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkCommandPoolCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkCommandPoolCreateInfo* ptr() { return reinterpret_cast<VkCommandPoolCreateInfo*>(this); } - VkCommandPoolCreateInfo const* ptr() const { return reinterpret_cast<VkCommandPoolCreateInfo const*>(this); } -}; -struct safe_VkCommandBufferAllocateInfo { - VkStructureType sType; - const void* pNext{}; - VkCommandPool commandPool; - VkCommandBufferLevel level; - uint32_t commandBufferCount; - - safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& copy_src); - safe_VkCommandBufferAllocateInfo& operator=(const safe_VkCommandBufferAllocateInfo& copy_src); - safe_VkCommandBufferAllocateInfo(); - ~safe_VkCommandBufferAllocateInfo(); - void initialize(const VkCommandBufferAllocateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkCommandBufferAllocateInfo* copy_src, PNextCopyState* copy_state = {}); - VkCommandBufferAllocateInfo* ptr() { return reinterpret_cast<VkCommandBufferAllocateInfo*>(this); } - VkCommandBufferAllocateInfo const* ptr() const { return reinterpret_cast<VkCommandBufferAllocateInfo const*>(this); } -}; -struct safe_VkCommandBufferInheritanceInfo { - VkStructureType sType; - const void* pNext{}; - VkRenderPass renderPass; - uint32_t subpass; - VkFramebuffer framebuffer; - VkBool32 occlusionQueryEnable; - VkQueryControlFlags queryFlags; - VkQueryPipelineStatisticFlags pipelineStatistics; - - safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& copy_src); - safe_VkCommandBufferInheritanceInfo& operator=(const safe_VkCommandBufferInheritanceInfo& copy_src); - safe_VkCommandBufferInheritanceInfo(); - ~safe_VkCommandBufferInheritanceInfo(); - void initialize(const VkCommandBufferInheritanceInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkCommandBufferInheritanceInfo* copy_src, PNextCopyState* copy_state = {}); - VkCommandBufferInheritanceInfo* ptr() { return reinterpret_cast<VkCommandBufferInheritanceInfo*>(this); } - VkCommandBufferInheritanceInfo const* ptr() const { return reinterpret_cast<VkCommandBufferInheritanceInfo const*>(this); } -}; -struct safe_VkCommandBufferBeginInfo { - VkStructureType sType; - const void* pNext{}; - VkCommandBufferUsageFlags flags; - safe_VkCommandBufferInheritanceInfo* pInheritanceInfo{}; - - safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& copy_src); - safe_VkCommandBufferBeginInfo& operator=(const safe_VkCommandBufferBeginInfo& copy_src); - safe_VkCommandBufferBeginInfo(); - ~safe_VkCommandBufferBeginInfo(); - void initialize(const VkCommandBufferBeginInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkCommandBufferBeginInfo* copy_src, PNextCopyState* copy_state = {}); - VkCommandBufferBeginInfo* ptr() { return reinterpret_cast<VkCommandBufferBeginInfo*>(this); } - VkCommandBufferBeginInfo const* ptr() const { return reinterpret_cast<VkCommandBufferBeginInfo const*>(this); } -}; struct safe_VkRenderPassBeginInfo { VkStructureType sType; const void* pNext{}; @@ -1115,27 +1111,6 @@ VkRenderPassBeginInfo* ptr() { return reinterpret_cast<VkRenderPassBeginInfo*>(this); } VkRenderPassBeginInfo const* ptr() const { return reinterpret_cast<VkRenderPassBeginInfo const*>(this); } }; -struct safe_VkPhysicalDeviceSubgroupProperties { - VkStructureType sType; - void* pNext{}; - uint32_t subgroupSize; - VkShaderStageFlags supportedStages; - VkSubgroupFeatureFlags supportedOperations; - VkBool32 quadOperationsInAllStages; - - safe_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceSubgroupProperties(const safe_VkPhysicalDeviceSubgroupProperties& copy_src); - safe_VkPhysicalDeviceSubgroupProperties& operator=(const safe_VkPhysicalDeviceSubgroupProperties& copy_src); - safe_VkPhysicalDeviceSubgroupProperties(); - ~safe_VkPhysicalDeviceSubgroupProperties(); - void initialize(const VkPhysicalDeviceSubgroupProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceSubgroupProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceSubgroupProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(this); } - VkPhysicalDeviceSubgroupProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceSubgroupProperties const*>(this); - } -}; struct safe_VkBindBufferMemoryInfo { VkStructureType sType; const void* pNext{}; @@ -1170,27 +1145,6 @@ VkBindImageMemoryInfo* ptr() { return reinterpret_cast<VkBindImageMemoryInfo*>(this); } VkBindImageMemoryInfo const* ptr() const { return reinterpret_cast<VkBindImageMemoryInfo const*>(this); } }; -struct safe_VkPhysicalDevice16BitStorageFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 storageBuffer16BitAccess; - VkBool32 uniformAndStorageBuffer16BitAccess; - VkBool32 storagePushConstant16; - VkBool32 storageInputOutput16; - - safe_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevice16BitStorageFeatures(const safe_VkPhysicalDevice16BitStorageFeatures& copy_src); - safe_VkPhysicalDevice16BitStorageFeatures& operator=(const safe_VkPhysicalDevice16BitStorageFeatures& copy_src); - safe_VkPhysicalDevice16BitStorageFeatures(); - ~safe_VkPhysicalDevice16BitStorageFeatures(); - void initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevice16BitStorageFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevice16BitStorageFeatures* ptr() { return reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(this); } - VkPhysicalDevice16BitStorageFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDevice16BitStorageFeatures const*>(this); - } -}; struct safe_VkMemoryDedicatedRequirements { VkStructureType sType; void* pNext{}; @@ -1242,24 +1196,6 @@ VkMemoryAllocateFlagsInfo* ptr() { return reinterpret_cast<VkMemoryAllocateFlagsInfo*>(this); } VkMemoryAllocateFlagsInfo const* ptr() const { return reinterpret_cast<VkMemoryAllocateFlagsInfo const*>(this); } }; -struct safe_VkDeviceGroupRenderPassBeginInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t deviceMask; - uint32_t deviceRenderAreaCount; - const VkRect2D* pDeviceRenderAreas{}; - - safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkDeviceGroupRenderPassBeginInfo(const safe_VkDeviceGroupRenderPassBeginInfo& copy_src); - safe_VkDeviceGroupRenderPassBeginInfo& operator=(const safe_VkDeviceGroupRenderPassBeginInfo& copy_src); - safe_VkDeviceGroupRenderPassBeginInfo(); - ~safe_VkDeviceGroupRenderPassBeginInfo(); - void initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDeviceGroupRenderPassBeginInfo* copy_src, PNextCopyState* copy_state = {}); - VkDeviceGroupRenderPassBeginInfo* ptr() { return reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(this); } - VkDeviceGroupRenderPassBeginInfo const* ptr() const { return reinterpret_cast<VkDeviceGroupRenderPassBeginInfo const*>(this); } -}; struct safe_VkDeviceGroupCommandBufferBeginInfo { VkStructureType sType; const void* pNext{}; @@ -1624,45 +1560,6 @@ return reinterpret_cast<VkPhysicalDeviceSparseImageFormatInfo2 const*>(this); } }; -struct safe_VkPhysicalDevicePointClippingProperties { - VkStructureType sType; - void* pNext{}; - VkPointClippingBehavior pointClippingBehavior; - - safe_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePointClippingProperties(const safe_VkPhysicalDevicePointClippingProperties& copy_src); - safe_VkPhysicalDevicePointClippingProperties& operator=(const safe_VkPhysicalDevicePointClippingProperties& copy_src); - safe_VkPhysicalDevicePointClippingProperties(); - ~safe_VkPhysicalDevicePointClippingProperties(); - void initialize(const VkPhysicalDevicePointClippingProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePointClippingProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePointClippingProperties* ptr() { return reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(this); } - VkPhysicalDevicePointClippingProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePointClippingProperties const*>(this); - } -}; -struct safe_VkRenderPassInputAttachmentAspectCreateInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t aspectReferenceCount; - const VkInputAttachmentAspectReference* pAspectReferences{}; - - safe_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkRenderPassInputAttachmentAspectCreateInfo(const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src); - safe_VkRenderPassInputAttachmentAspectCreateInfo& operator=(const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src); - safe_VkRenderPassInputAttachmentAspectCreateInfo(); - ~safe_VkRenderPassInputAttachmentAspectCreateInfo(); - void initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkRenderPassInputAttachmentAspectCreateInfo* ptr() { - return reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(this); - } - VkRenderPassInputAttachmentAspectCreateInfo const* ptr() const { - return reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo const*>(this); - } -}; struct safe_VkImageViewUsageCreateInfo { VkStructureType sType; const void* pNext{}; @@ -1679,106 +1576,6 @@ VkImageViewUsageCreateInfo* ptr() { return reinterpret_cast<VkImageViewUsageCreateInfo*>(this); } VkImageViewUsageCreateInfo const* ptr() const { return reinterpret_cast<VkImageViewUsageCreateInfo const*>(this); } }; -struct safe_VkPipelineTessellationDomainOriginStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkTessellationDomainOrigin domainOrigin; - - safe_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineTessellationDomainOriginStateCreateInfo(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src); - safe_VkPipelineTessellationDomainOriginStateCreateInfo& operator=( - const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src); - safe_VkPipelineTessellationDomainOriginStateCreateInfo(); - ~safe_VkPipelineTessellationDomainOriginStateCreateInfo(); - void initialize(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineTessellationDomainOriginStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineTessellationDomainOriginStateCreateInfo* ptr() { - return reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(this); - } - VkPipelineTessellationDomainOriginStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo const*>(this); - } -}; -struct safe_VkRenderPassMultiviewCreateInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t subpassCount; - const uint32_t* pViewMasks{}; - uint32_t dependencyCount; - const int32_t* pViewOffsets{}; - uint32_t correlationMaskCount; - const uint32_t* pCorrelationMasks{}; - - safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& copy_src); - safe_VkRenderPassMultiviewCreateInfo& operator=(const safe_VkRenderPassMultiviewCreateInfo& copy_src); - safe_VkRenderPassMultiviewCreateInfo(); - ~safe_VkRenderPassMultiviewCreateInfo(); - void initialize(const VkRenderPassMultiviewCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderPassMultiviewCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkRenderPassMultiviewCreateInfo* ptr() { return reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(this); } - VkRenderPassMultiviewCreateInfo const* ptr() const { return reinterpret_cast<VkRenderPassMultiviewCreateInfo const*>(this); } -}; -struct safe_VkPhysicalDeviceMultiviewFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 multiview; - VkBool32 multiviewGeometryShader; - VkBool32 multiviewTessellationShader; - - safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceMultiviewFeatures(const safe_VkPhysicalDeviceMultiviewFeatures& copy_src); - safe_VkPhysicalDeviceMultiviewFeatures& operator=(const safe_VkPhysicalDeviceMultiviewFeatures& copy_src); - safe_VkPhysicalDeviceMultiviewFeatures(); - ~safe_VkPhysicalDeviceMultiviewFeatures(); - void initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceMultiviewFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceMultiviewFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(this); } - VkPhysicalDeviceMultiviewFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceMultiviewFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceMultiviewProperties { - VkStructureType sType; - void* pNext{}; - uint32_t maxMultiviewViewCount; - uint32_t maxMultiviewInstanceIndex; - - safe_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceMultiviewProperties(const safe_VkPhysicalDeviceMultiviewProperties& copy_src); - safe_VkPhysicalDeviceMultiviewProperties& operator=(const safe_VkPhysicalDeviceMultiviewProperties& copy_src); - safe_VkPhysicalDeviceMultiviewProperties(); - ~safe_VkPhysicalDeviceMultiviewProperties(); - void initialize(const VkPhysicalDeviceMultiviewProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceMultiviewProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceMultiviewProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(this); } - VkPhysicalDeviceMultiviewProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceMultiviewProperties const*>(this); - } -}; -struct safe_VkPhysicalDeviceVariablePointersFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 variablePointersStorageBuffer; - VkBool32 variablePointers; - - safe_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceVariablePointersFeatures(const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src); - safe_VkPhysicalDeviceVariablePointersFeatures& operator=(const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src); - safe_VkPhysicalDeviceVariablePointersFeatures(); - ~safe_VkPhysicalDeviceVariablePointersFeatures(); - void initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceVariablePointersFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures*>(this); } - VkPhysicalDeviceVariablePointersFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures const*>(this); - } -}; struct safe_VkPhysicalDeviceProtectedMemoryFeatures { VkStructureType sType; void* pNext{}; @@ -1847,47 +1644,6 @@ VkProtectedSubmitInfo* ptr() { return reinterpret_cast<VkProtectedSubmitInfo*>(this); } VkProtectedSubmitInfo const* ptr() const { return reinterpret_cast<VkProtectedSubmitInfo const*>(this); } }; -struct safe_VkSamplerYcbcrConversionCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkFormat format; - VkSamplerYcbcrModelConversion ycbcrModel; - VkSamplerYcbcrRange ycbcrRange; - VkComponentMapping components; - VkChromaLocation xChromaOffset; - VkChromaLocation yChromaOffset; - VkFilter chromaFilter; - VkBool32 forceExplicitReconstruction; - - safe_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkSamplerYcbcrConversionCreateInfo(const safe_VkSamplerYcbcrConversionCreateInfo& copy_src); - safe_VkSamplerYcbcrConversionCreateInfo& operator=(const safe_VkSamplerYcbcrConversionCreateInfo& copy_src); - safe_VkSamplerYcbcrConversionCreateInfo(); - ~safe_VkSamplerYcbcrConversionCreateInfo(); - void initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSamplerYcbcrConversionCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkSamplerYcbcrConversionCreateInfo* ptr() { return reinterpret_cast<VkSamplerYcbcrConversionCreateInfo*>(this); } - VkSamplerYcbcrConversionCreateInfo const* ptr() const { - return reinterpret_cast<VkSamplerYcbcrConversionCreateInfo const*>(this); - } -}; -struct safe_VkSamplerYcbcrConversionInfo { - VkStructureType sType; - const void* pNext{}; - VkSamplerYcbcrConversion conversion; - - safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& copy_src); - safe_VkSamplerYcbcrConversionInfo& operator=(const safe_VkSamplerYcbcrConversionInfo& copy_src); - safe_VkSamplerYcbcrConversionInfo(); - ~safe_VkSamplerYcbcrConversionInfo(); - void initialize(const VkSamplerYcbcrConversionInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSamplerYcbcrConversionInfo* copy_src, PNextCopyState* copy_state = {}); - VkSamplerYcbcrConversionInfo* ptr() { return reinterpret_cast<VkSamplerYcbcrConversionInfo*>(this); } - VkSamplerYcbcrConversionInfo const* ptr() const { return reinterpret_cast<VkSamplerYcbcrConversionInfo const*>(this); } -}; struct safe_VkBindImagePlaneMemoryInfo { VkStructureType sType; const void* pNext{}; @@ -1922,73 +1678,6 @@ return reinterpret_cast<VkImagePlaneMemoryRequirementsInfo const*>(this); } }; -struct safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 samplerYcbcrConversion; - - safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src); - safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& operator=( - const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src); - safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(); - ~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(); - void initialize(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceSamplerYcbcrConversionFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(this); - } - VkPhysicalDeviceSamplerYcbcrConversionFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures const*>(this); - } -}; -struct safe_VkSamplerYcbcrConversionImageFormatProperties { - VkStructureType sType; - void* pNext{}; - uint32_t combinedImageSamplerDescriptorCount; - - safe_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSamplerYcbcrConversionImageFormatProperties(const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src); - safe_VkSamplerYcbcrConversionImageFormatProperties& operator=( - const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src); - safe_VkSamplerYcbcrConversionImageFormatProperties(); - ~safe_VkSamplerYcbcrConversionImageFormatProperties(); - void initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSamplerYcbcrConversionImageFormatProperties* copy_src, PNextCopyState* copy_state = {}); - VkSamplerYcbcrConversionImageFormatProperties* ptr() { - return reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(this); - } - VkSamplerYcbcrConversionImageFormatProperties const* ptr() const { - return reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties const*>(this); - } -}; -struct safe_VkDescriptorUpdateTemplateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkDescriptorUpdateTemplateCreateFlags flags; - uint32_t descriptorUpdateEntryCount; - const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries{}; - VkDescriptorUpdateTemplateType templateType; - VkDescriptorSetLayout descriptorSetLayout; - VkPipelineBindPoint pipelineBindPoint; - VkPipelineLayout pipelineLayout; - uint32_t set; - - safe_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkDescriptorUpdateTemplateCreateInfo(const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src); - safe_VkDescriptorUpdateTemplateCreateInfo& operator=(const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src); - safe_VkDescriptorUpdateTemplateCreateInfo(); - ~safe_VkDescriptorUpdateTemplateCreateInfo(); - void initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkDescriptorUpdateTemplateCreateInfo* ptr() { return reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo*>(this); } - VkDescriptorUpdateTemplateCreateInfo const* ptr() const { - return reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo const*>(this); - } -}; struct safe_VkPhysicalDeviceExternalImageFormatInfo { VkStructureType sType; const void* pNext{}; @@ -2230,6 +1919,92 @@ VkExternalSemaphoreProperties* ptr() { return reinterpret_cast<VkExternalSemaphoreProperties*>(this); } VkExternalSemaphoreProperties const* ptr() const { return reinterpret_cast<VkExternalSemaphoreProperties const*>(this); } }; +struct safe_VkPhysicalDeviceSubgroupProperties { + VkStructureType sType; + void* pNext{}; + uint32_t subgroupSize; + VkShaderStageFlags supportedStages; + VkSubgroupFeatureFlags supportedOperations; + VkBool32 quadOperationsInAllStages; + + safe_VkPhysicalDeviceSubgroupProperties(const VkPhysicalDeviceSubgroupProperties* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceSubgroupProperties(const safe_VkPhysicalDeviceSubgroupProperties& copy_src); + safe_VkPhysicalDeviceSubgroupProperties& operator=(const safe_VkPhysicalDeviceSubgroupProperties& copy_src); + safe_VkPhysicalDeviceSubgroupProperties(); + ~safe_VkPhysicalDeviceSubgroupProperties(); + void initialize(const VkPhysicalDeviceSubgroupProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSubgroupProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceSubgroupProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceSubgroupProperties*>(this); } + VkPhysicalDeviceSubgroupProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceSubgroupProperties const*>(this); + } +}; +struct safe_VkPhysicalDevice16BitStorageFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 storageBuffer16BitAccess; + VkBool32 uniformAndStorageBuffer16BitAccess; + VkBool32 storagePushConstant16; + VkBool32 storageInputOutput16; + + safe_VkPhysicalDevice16BitStorageFeatures(const VkPhysicalDevice16BitStorageFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevice16BitStorageFeatures(const safe_VkPhysicalDevice16BitStorageFeatures& copy_src); + safe_VkPhysicalDevice16BitStorageFeatures& operator=(const safe_VkPhysicalDevice16BitStorageFeatures& copy_src); + safe_VkPhysicalDevice16BitStorageFeatures(); + ~safe_VkPhysicalDevice16BitStorageFeatures(); + void initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevice16BitStorageFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevice16BitStorageFeatures* ptr() { return reinterpret_cast<VkPhysicalDevice16BitStorageFeatures*>(this); } + VkPhysicalDevice16BitStorageFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDevice16BitStorageFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceVariablePointersFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 variablePointersStorageBuffer; + VkBool32 variablePointers; + + safe_VkPhysicalDeviceVariablePointersFeatures(const VkPhysicalDeviceVariablePointersFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceVariablePointersFeatures(const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src); + safe_VkPhysicalDeviceVariablePointersFeatures& operator=(const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src); + safe_VkPhysicalDeviceVariablePointersFeatures(); + ~safe_VkPhysicalDeviceVariablePointersFeatures(); + void initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVariablePointersFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures*>(this); } + VkPhysicalDeviceVariablePointersFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVariablePointersFeatures const*>(this); + } +}; +struct safe_VkDescriptorUpdateTemplateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkDescriptorUpdateTemplateCreateFlags flags; + uint32_t descriptorUpdateEntryCount; + const VkDescriptorUpdateTemplateEntry* pDescriptorUpdateEntries{}; + VkDescriptorUpdateTemplateType templateType; + VkDescriptorSetLayout descriptorSetLayout; + VkPipelineBindPoint pipelineBindPoint; + VkPipelineLayout pipelineLayout; + uint32_t set; + + safe_VkDescriptorUpdateTemplateCreateInfo(const VkDescriptorUpdateTemplateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDescriptorUpdateTemplateCreateInfo(const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src); + safe_VkDescriptorUpdateTemplateCreateInfo& operator=(const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src); + safe_VkDescriptorUpdateTemplateCreateInfo(); + ~safe_VkDescriptorUpdateTemplateCreateInfo(); + void initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorUpdateTemplateCreateInfo* ptr() { return reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo*>(this); } + VkDescriptorUpdateTemplateCreateInfo const* ptr() const { + return reinterpret_cast<VkDescriptorUpdateTemplateCreateInfo const*>(this); + } +}; struct safe_VkPhysicalDeviceMaintenance3Properties { VkStructureType sType; void* pNext{}; @@ -2265,6 +2040,227 @@ VkDescriptorSetLayoutSupport* ptr() { return reinterpret_cast<VkDescriptorSetLayoutSupport*>(this); } VkDescriptorSetLayoutSupport const* ptr() const { return reinterpret_cast<VkDescriptorSetLayoutSupport const*>(this); } }; +struct safe_VkSamplerYcbcrConversionCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkFormat format; + VkSamplerYcbcrModelConversion ycbcrModel; + VkSamplerYcbcrRange ycbcrRange; + VkComponentMapping components; + VkChromaLocation xChromaOffset; + VkChromaLocation yChromaOffset; + VkFilter chromaFilter; + VkBool32 forceExplicitReconstruction; + + safe_VkSamplerYcbcrConversionCreateInfo(const VkSamplerYcbcrConversionCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSamplerYcbcrConversionCreateInfo(const safe_VkSamplerYcbcrConversionCreateInfo& copy_src); + safe_VkSamplerYcbcrConversionCreateInfo& operator=(const safe_VkSamplerYcbcrConversionCreateInfo& copy_src); + safe_VkSamplerYcbcrConversionCreateInfo(); + ~safe_VkSamplerYcbcrConversionCreateInfo(); + void initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSamplerYcbcrConversionCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkSamplerYcbcrConversionCreateInfo* ptr() { return reinterpret_cast<VkSamplerYcbcrConversionCreateInfo*>(this); } + VkSamplerYcbcrConversionCreateInfo const* ptr() const { + return reinterpret_cast<VkSamplerYcbcrConversionCreateInfo const*>(this); + } +}; +struct safe_VkSamplerYcbcrConversionInfo { + VkStructureType sType; + const void* pNext{}; + VkSamplerYcbcrConversion conversion; + + safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& copy_src); + safe_VkSamplerYcbcrConversionInfo& operator=(const safe_VkSamplerYcbcrConversionInfo& copy_src); + safe_VkSamplerYcbcrConversionInfo(); + ~safe_VkSamplerYcbcrConversionInfo(); + void initialize(const VkSamplerYcbcrConversionInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSamplerYcbcrConversionInfo* copy_src, PNextCopyState* copy_state = {}); + VkSamplerYcbcrConversionInfo* ptr() { return reinterpret_cast<VkSamplerYcbcrConversionInfo*>(this); } + VkSamplerYcbcrConversionInfo const* ptr() const { return reinterpret_cast<VkSamplerYcbcrConversionInfo const*>(this); } +}; +struct safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 samplerYcbcrConversion; + + safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src); + safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& operator=( + const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src); + safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(); + ~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(); + void initialize(const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceSamplerYcbcrConversionFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures*>(this); + } + VkPhysicalDeviceSamplerYcbcrConversionFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceSamplerYcbcrConversionFeatures const*>(this); + } +}; +struct safe_VkSamplerYcbcrConversionImageFormatProperties { + VkStructureType sType; + void* pNext{}; + uint32_t combinedImageSamplerDescriptorCount; + + safe_VkSamplerYcbcrConversionImageFormatProperties(const VkSamplerYcbcrConversionImageFormatProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSamplerYcbcrConversionImageFormatProperties(const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src); + safe_VkSamplerYcbcrConversionImageFormatProperties& operator=( + const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src); + safe_VkSamplerYcbcrConversionImageFormatProperties(); + ~safe_VkSamplerYcbcrConversionImageFormatProperties(); + void initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSamplerYcbcrConversionImageFormatProperties* copy_src, PNextCopyState* copy_state = {}); + VkSamplerYcbcrConversionImageFormatProperties* ptr() { + return reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties*>(this); + } + VkSamplerYcbcrConversionImageFormatProperties const* ptr() const { + return reinterpret_cast<VkSamplerYcbcrConversionImageFormatProperties const*>(this); + } +}; +struct safe_VkDeviceGroupRenderPassBeginInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t deviceMask; + uint32_t deviceRenderAreaCount; + const VkRect2D* pDeviceRenderAreas{}; + + safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDeviceGroupRenderPassBeginInfo(const safe_VkDeviceGroupRenderPassBeginInfo& copy_src); + safe_VkDeviceGroupRenderPassBeginInfo& operator=(const safe_VkDeviceGroupRenderPassBeginInfo& copy_src); + safe_VkDeviceGroupRenderPassBeginInfo(); + ~safe_VkDeviceGroupRenderPassBeginInfo(); + void initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceGroupRenderPassBeginInfo* copy_src, PNextCopyState* copy_state = {}); + VkDeviceGroupRenderPassBeginInfo* ptr() { return reinterpret_cast<VkDeviceGroupRenderPassBeginInfo*>(this); } + VkDeviceGroupRenderPassBeginInfo const* ptr() const { return reinterpret_cast<VkDeviceGroupRenderPassBeginInfo const*>(this); } +}; +struct safe_VkPhysicalDevicePointClippingProperties { + VkStructureType sType; + void* pNext{}; + VkPointClippingBehavior pointClippingBehavior; + + safe_VkPhysicalDevicePointClippingProperties(const VkPhysicalDevicePointClippingProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePointClippingProperties(const safe_VkPhysicalDevicePointClippingProperties& copy_src); + safe_VkPhysicalDevicePointClippingProperties& operator=(const safe_VkPhysicalDevicePointClippingProperties& copy_src); + safe_VkPhysicalDevicePointClippingProperties(); + ~safe_VkPhysicalDevicePointClippingProperties(); + void initialize(const VkPhysicalDevicePointClippingProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePointClippingProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePointClippingProperties* ptr() { return reinterpret_cast<VkPhysicalDevicePointClippingProperties*>(this); } + VkPhysicalDevicePointClippingProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePointClippingProperties const*>(this); + } +}; +struct safe_VkRenderPassInputAttachmentAspectCreateInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t aspectReferenceCount; + const VkInputAttachmentAspectReference* pAspectReferences{}; + + safe_VkRenderPassInputAttachmentAspectCreateInfo(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderPassInputAttachmentAspectCreateInfo(const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src); + safe_VkRenderPassInputAttachmentAspectCreateInfo& operator=(const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src); + safe_VkRenderPassInputAttachmentAspectCreateInfo(); + ~safe_VkRenderPassInputAttachmentAspectCreateInfo(); + void initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassInputAttachmentAspectCreateInfo* ptr() { + return reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo*>(this); + } + VkRenderPassInputAttachmentAspectCreateInfo const* ptr() const { + return reinterpret_cast<VkRenderPassInputAttachmentAspectCreateInfo const*>(this); + } +}; +struct safe_VkPipelineTessellationDomainOriginStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkTessellationDomainOrigin domainOrigin; + + safe_VkPipelineTessellationDomainOriginStateCreateInfo(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineTessellationDomainOriginStateCreateInfo(const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src); + safe_VkPipelineTessellationDomainOriginStateCreateInfo& operator=( + const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src); + safe_VkPipelineTessellationDomainOriginStateCreateInfo(); + ~safe_VkPipelineTessellationDomainOriginStateCreateInfo(); + void initialize(const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineTessellationDomainOriginStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineTessellationDomainOriginStateCreateInfo* ptr() { + return reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo*>(this); + } + VkPipelineTessellationDomainOriginStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineTessellationDomainOriginStateCreateInfo const*>(this); + } +}; +struct safe_VkRenderPassMultiviewCreateInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t subpassCount; + const uint32_t* pViewMasks{}; + uint32_t dependencyCount; + const int32_t* pViewOffsets{}; + uint32_t correlationMaskCount; + const uint32_t* pCorrelationMasks{}; + + safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& copy_src); + safe_VkRenderPassMultiviewCreateInfo& operator=(const safe_VkRenderPassMultiviewCreateInfo& copy_src); + safe_VkRenderPassMultiviewCreateInfo(); + ~safe_VkRenderPassMultiviewCreateInfo(); + void initialize(const VkRenderPassMultiviewCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassMultiviewCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassMultiviewCreateInfo* ptr() { return reinterpret_cast<VkRenderPassMultiviewCreateInfo*>(this); } + VkRenderPassMultiviewCreateInfo const* ptr() const { return reinterpret_cast<VkRenderPassMultiviewCreateInfo const*>(this); } +}; +struct safe_VkPhysicalDeviceMultiviewFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 multiview; + VkBool32 multiviewGeometryShader; + VkBool32 multiviewTessellationShader; + + safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceMultiviewFeatures(const safe_VkPhysicalDeviceMultiviewFeatures& copy_src); + safe_VkPhysicalDeviceMultiviewFeatures& operator=(const safe_VkPhysicalDeviceMultiviewFeatures& copy_src); + safe_VkPhysicalDeviceMultiviewFeatures(); + ~safe_VkPhysicalDeviceMultiviewFeatures(); + void initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMultiviewFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMultiviewFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceMultiviewFeatures*>(this); } + VkPhysicalDeviceMultiviewFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMultiviewFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceMultiviewProperties { + VkStructureType sType; + void* pNext{}; + uint32_t maxMultiviewViewCount; + uint32_t maxMultiviewInstanceIndex; + + safe_VkPhysicalDeviceMultiviewProperties(const VkPhysicalDeviceMultiviewProperties* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceMultiviewProperties(const safe_VkPhysicalDeviceMultiviewProperties& copy_src); + safe_VkPhysicalDeviceMultiviewProperties& operator=(const safe_VkPhysicalDeviceMultiviewProperties& copy_src); + safe_VkPhysicalDeviceMultiviewProperties(); + ~safe_VkPhysicalDeviceMultiviewProperties(); + void initialize(const VkPhysicalDeviceMultiviewProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMultiviewProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMultiviewProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceMultiviewProperties*>(this); } + VkPhysicalDeviceMultiviewProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMultiviewProperties const*>(this); + } +}; struct safe_VkPhysicalDeviceShaderDrawParametersFeatures { VkStructureType sType; void* pNext{}; @@ -2285,6 +2281,25 @@ return reinterpret_cast<VkPhysicalDeviceShaderDrawParametersFeatures const*>(this); } }; +struct safe_VkPhysicalDeviceDriverProperties { + VkStructureType sType; + void* pNext{}; + VkDriverId driverID; + char driverName[VK_MAX_DRIVER_NAME_SIZE]; + char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; + VkConformanceVersion conformanceVersion; + + safe_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceDriverProperties(const safe_VkPhysicalDeviceDriverProperties& copy_src); + safe_VkPhysicalDeviceDriverProperties& operator=(const safe_VkPhysicalDeviceDriverProperties& copy_src); + safe_VkPhysicalDeviceDriverProperties(); + ~safe_VkPhysicalDeviceDriverProperties(); + void initialize(const VkPhysicalDeviceDriverProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDriverProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDriverProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceDriverProperties*>(this); } + VkPhysicalDeviceDriverProperties const* ptr() const { return reinterpret_cast<VkPhysicalDeviceDriverProperties const*>(this); } +}; struct safe_VkPhysicalDeviceVulkan11Features { VkStructureType sType; void* pNext{}; @@ -2492,520 +2507,6 @@ VkImageFormatListCreateInfo* ptr() { return reinterpret_cast<VkImageFormatListCreateInfo*>(this); } VkImageFormatListCreateInfo const* ptr() const { return reinterpret_cast<VkImageFormatListCreateInfo const*>(this); } }; -struct safe_VkAttachmentDescription2 { - VkStructureType sType; - const void* pNext{}; - VkAttachmentDescriptionFlags flags; - VkFormat format; - VkSampleCountFlagBits samples; - VkAttachmentLoadOp loadOp; - VkAttachmentStoreOp storeOp; - VkAttachmentLoadOp stencilLoadOp; - VkAttachmentStoreOp stencilStoreOp; - VkImageLayout initialLayout; - VkImageLayout finalLayout; - - safe_VkAttachmentDescription2(const VkAttachmentDescription2* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkAttachmentDescription2(const safe_VkAttachmentDescription2& copy_src); - safe_VkAttachmentDescription2& operator=(const safe_VkAttachmentDescription2& copy_src); - safe_VkAttachmentDescription2(); - ~safe_VkAttachmentDescription2(); - void initialize(const VkAttachmentDescription2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkAttachmentDescription2* copy_src, PNextCopyState* copy_state = {}); - VkAttachmentDescription2* ptr() { return reinterpret_cast<VkAttachmentDescription2*>(this); } - VkAttachmentDescription2 const* ptr() const { return reinterpret_cast<VkAttachmentDescription2 const*>(this); } -}; -struct safe_VkAttachmentReference2 { - VkStructureType sType; - const void* pNext{}; - uint32_t attachment; - VkImageLayout layout; - VkImageAspectFlags aspectMask; - - safe_VkAttachmentReference2(const VkAttachmentReference2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkAttachmentReference2(const safe_VkAttachmentReference2& copy_src); - safe_VkAttachmentReference2& operator=(const safe_VkAttachmentReference2& copy_src); - safe_VkAttachmentReference2(); - ~safe_VkAttachmentReference2(); - void initialize(const VkAttachmentReference2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkAttachmentReference2* copy_src, PNextCopyState* copy_state = {}); - VkAttachmentReference2* ptr() { return reinterpret_cast<VkAttachmentReference2*>(this); } - VkAttachmentReference2 const* ptr() const { return reinterpret_cast<VkAttachmentReference2 const*>(this); } -}; -struct safe_VkSubpassDescription2 { - VkStructureType sType; - const void* pNext{}; - VkSubpassDescriptionFlags flags; - VkPipelineBindPoint pipelineBindPoint; - uint32_t viewMask; - uint32_t inputAttachmentCount; - safe_VkAttachmentReference2* pInputAttachments{}; - uint32_t colorAttachmentCount; - safe_VkAttachmentReference2* pColorAttachments{}; - safe_VkAttachmentReference2* pResolveAttachments{}; - safe_VkAttachmentReference2* pDepthStencilAttachment{}; - uint32_t preserveAttachmentCount; - const uint32_t* pPreserveAttachments{}; - - safe_VkSubpassDescription2(const VkSubpassDescription2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubpassDescription2(const safe_VkSubpassDescription2& copy_src); - safe_VkSubpassDescription2& operator=(const safe_VkSubpassDescription2& copy_src); - safe_VkSubpassDescription2(); - ~safe_VkSubpassDescription2(); - void initialize(const VkSubpassDescription2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubpassDescription2* copy_src, PNextCopyState* copy_state = {}); - VkSubpassDescription2* ptr() { return reinterpret_cast<VkSubpassDescription2*>(this); } - VkSubpassDescription2 const* ptr() const { return reinterpret_cast<VkSubpassDescription2 const*>(this); } -}; -struct safe_VkSubpassDependency2 { - VkStructureType sType; - const void* pNext{}; - uint32_t srcSubpass; - uint32_t dstSubpass; - VkPipelineStageFlags srcStageMask; - VkPipelineStageFlags dstStageMask; - VkAccessFlags srcAccessMask; - VkAccessFlags dstAccessMask; - VkDependencyFlags dependencyFlags; - int32_t viewOffset; - - safe_VkSubpassDependency2(const VkSubpassDependency2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubpassDependency2(const safe_VkSubpassDependency2& copy_src); - safe_VkSubpassDependency2& operator=(const safe_VkSubpassDependency2& copy_src); - safe_VkSubpassDependency2(); - ~safe_VkSubpassDependency2(); - void initialize(const VkSubpassDependency2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubpassDependency2* copy_src, PNextCopyState* copy_state = {}); - VkSubpassDependency2* ptr() { return reinterpret_cast<VkSubpassDependency2*>(this); } - VkSubpassDependency2 const* ptr() const { return reinterpret_cast<VkSubpassDependency2 const*>(this); } -}; -struct safe_VkRenderPassCreateInfo2 { - VkStructureType sType; - const void* pNext{}; - VkRenderPassCreateFlags flags; - uint32_t attachmentCount; - safe_VkAttachmentDescription2* pAttachments{}; - uint32_t subpassCount; - safe_VkSubpassDescription2* pSubpasses{}; - uint32_t dependencyCount; - safe_VkSubpassDependency2* pDependencies{}; - uint32_t correlatedViewMaskCount; - const uint32_t* pCorrelatedViewMasks{}; - - safe_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkRenderPassCreateInfo2(const safe_VkRenderPassCreateInfo2& copy_src); - safe_VkRenderPassCreateInfo2& operator=(const safe_VkRenderPassCreateInfo2& copy_src); - safe_VkRenderPassCreateInfo2(); - ~safe_VkRenderPassCreateInfo2(); - void initialize(const VkRenderPassCreateInfo2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderPassCreateInfo2* copy_src, PNextCopyState* copy_state = {}); - VkRenderPassCreateInfo2* ptr() { return reinterpret_cast<VkRenderPassCreateInfo2*>(this); } - VkRenderPassCreateInfo2 const* ptr() const { return reinterpret_cast<VkRenderPassCreateInfo2 const*>(this); } -}; -struct safe_VkSubpassBeginInfo { - VkStructureType sType; - const void* pNext{}; - VkSubpassContents contents; - - safe_VkSubpassBeginInfo(const VkSubpassBeginInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubpassBeginInfo(const safe_VkSubpassBeginInfo& copy_src); - safe_VkSubpassBeginInfo& operator=(const safe_VkSubpassBeginInfo& copy_src); - safe_VkSubpassBeginInfo(); - ~safe_VkSubpassBeginInfo(); - void initialize(const VkSubpassBeginInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubpassBeginInfo* copy_src, PNextCopyState* copy_state = {}); - VkSubpassBeginInfo* ptr() { return reinterpret_cast<VkSubpassBeginInfo*>(this); } - VkSubpassBeginInfo const* ptr() const { return reinterpret_cast<VkSubpassBeginInfo const*>(this); } -}; -struct safe_VkSubpassEndInfo { - VkStructureType sType; - const void* pNext{}; - - safe_VkSubpassEndInfo(const VkSubpassEndInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubpassEndInfo(const safe_VkSubpassEndInfo& copy_src); - safe_VkSubpassEndInfo& operator=(const safe_VkSubpassEndInfo& copy_src); - safe_VkSubpassEndInfo(); - ~safe_VkSubpassEndInfo(); - void initialize(const VkSubpassEndInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubpassEndInfo* copy_src, PNextCopyState* copy_state = {}); - VkSubpassEndInfo* ptr() { return reinterpret_cast<VkSubpassEndInfo*>(this); } - VkSubpassEndInfo const* ptr() const { return reinterpret_cast<VkSubpassEndInfo const*>(this); } -}; -struct safe_VkPhysicalDevice8BitStorageFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 storageBuffer8BitAccess; - VkBool32 uniformAndStorageBuffer8BitAccess; - VkBool32 storagePushConstant8; - - safe_VkPhysicalDevice8BitStorageFeatures(const VkPhysicalDevice8BitStorageFeatures* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDevice8BitStorageFeatures(const safe_VkPhysicalDevice8BitStorageFeatures& copy_src); - safe_VkPhysicalDevice8BitStorageFeatures& operator=(const safe_VkPhysicalDevice8BitStorageFeatures& copy_src); - safe_VkPhysicalDevice8BitStorageFeatures(); - ~safe_VkPhysicalDevice8BitStorageFeatures(); - void initialize(const VkPhysicalDevice8BitStorageFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevice8BitStorageFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevice8BitStorageFeatures* ptr() { return reinterpret_cast<VkPhysicalDevice8BitStorageFeatures*>(this); } - VkPhysicalDevice8BitStorageFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDevice8BitStorageFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceDriverProperties { - VkStructureType sType; - void* pNext{}; - VkDriverId driverID; - char driverName[VK_MAX_DRIVER_NAME_SIZE]; - char driverInfo[VK_MAX_DRIVER_INFO_SIZE]; - VkConformanceVersion conformanceVersion; - - safe_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceDriverProperties(const safe_VkPhysicalDeviceDriverProperties& copy_src); - safe_VkPhysicalDeviceDriverProperties& operator=(const safe_VkPhysicalDeviceDriverProperties& copy_src); - safe_VkPhysicalDeviceDriverProperties(); - ~safe_VkPhysicalDeviceDriverProperties(); - void initialize(const VkPhysicalDeviceDriverProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDriverProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDriverProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceDriverProperties*>(this); } - VkPhysicalDeviceDriverProperties const* ptr() const { return reinterpret_cast<VkPhysicalDeviceDriverProperties const*>(this); } -}; -struct safe_VkPhysicalDeviceShaderAtomicInt64Features { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderBufferInt64Atomics; - VkBool32 shaderSharedInt64Atomics; - - safe_VkPhysicalDeviceShaderAtomicInt64Features(const VkPhysicalDeviceShaderAtomicInt64Features* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderAtomicInt64Features(const safe_VkPhysicalDeviceShaderAtomicInt64Features& copy_src); - safe_VkPhysicalDeviceShaderAtomicInt64Features& operator=(const safe_VkPhysicalDeviceShaderAtomicInt64Features& copy_src); - safe_VkPhysicalDeviceShaderAtomicInt64Features(); - ~safe_VkPhysicalDeviceShaderAtomicInt64Features(); - void initialize(const VkPhysicalDeviceShaderAtomicInt64Features* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderAtomicInt64Features* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderAtomicInt64Features* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features*>(this); } - VkPhysicalDeviceShaderAtomicInt64Features const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features const*>(this); - } -}; -struct safe_VkPhysicalDeviceShaderFloat16Int8Features { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderFloat16; - VkBool32 shaderInt8; - - safe_VkPhysicalDeviceShaderFloat16Int8Features(const VkPhysicalDeviceShaderFloat16Int8Features* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderFloat16Int8Features(const safe_VkPhysicalDeviceShaderFloat16Int8Features& copy_src); - safe_VkPhysicalDeviceShaderFloat16Int8Features& operator=(const safe_VkPhysicalDeviceShaderFloat16Int8Features& copy_src); - safe_VkPhysicalDeviceShaderFloat16Int8Features(); - ~safe_VkPhysicalDeviceShaderFloat16Int8Features(); - void initialize(const VkPhysicalDeviceShaderFloat16Int8Features* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderFloat16Int8Features* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderFloat16Int8Features* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(this); } - VkPhysicalDeviceShaderFloat16Int8Features const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features const*>(this); - } -}; -struct safe_VkPhysicalDeviceFloatControlsProperties { - VkStructureType sType; - void* pNext{}; - VkShaderFloatControlsIndependence denormBehaviorIndependence; - VkShaderFloatControlsIndependence roundingModeIndependence; - VkBool32 shaderSignedZeroInfNanPreserveFloat16; - VkBool32 shaderSignedZeroInfNanPreserveFloat32; - VkBool32 shaderSignedZeroInfNanPreserveFloat64; - VkBool32 shaderDenormPreserveFloat16; - VkBool32 shaderDenormPreserveFloat32; - VkBool32 shaderDenormPreserveFloat64; - VkBool32 shaderDenormFlushToZeroFloat16; - VkBool32 shaderDenormFlushToZeroFloat32; - VkBool32 shaderDenormFlushToZeroFloat64; - VkBool32 shaderRoundingModeRTEFloat16; - VkBool32 shaderRoundingModeRTEFloat32; - VkBool32 shaderRoundingModeRTEFloat64; - VkBool32 shaderRoundingModeRTZFloat16; - VkBool32 shaderRoundingModeRTZFloat32; - VkBool32 shaderRoundingModeRTZFloat64; - - safe_VkPhysicalDeviceFloatControlsProperties(const VkPhysicalDeviceFloatControlsProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceFloatControlsProperties(const safe_VkPhysicalDeviceFloatControlsProperties& copy_src); - safe_VkPhysicalDeviceFloatControlsProperties& operator=(const safe_VkPhysicalDeviceFloatControlsProperties& copy_src); - safe_VkPhysicalDeviceFloatControlsProperties(); - ~safe_VkPhysicalDeviceFloatControlsProperties(); - void initialize(const VkPhysicalDeviceFloatControlsProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceFloatControlsProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceFloatControlsProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceFloatControlsProperties*>(this); } - VkPhysicalDeviceFloatControlsProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceFloatControlsProperties const*>(this); - } -}; -struct safe_VkDescriptorSetLayoutBindingFlagsCreateInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t bindingCount; - const VkDescriptorBindingFlags* pBindingFlags{}; - - safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(const VkDescriptorSetLayoutBindingFlagsCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfo& copy_src); - safe_VkDescriptorSetLayoutBindingFlagsCreateInfo& operator=(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfo& copy_src); - safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(); - ~safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(); - void initialize(const VkDescriptorSetLayoutBindingFlagsCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkDescriptorSetLayoutBindingFlagsCreateInfo* ptr() { - return reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo*>(this); - } - VkDescriptorSetLayoutBindingFlagsCreateInfo const* ptr() const { - return reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo const*>(this); - } -}; -struct safe_VkPhysicalDeviceDescriptorIndexingFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderInputAttachmentArrayDynamicIndexing; - VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; - VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; - VkBool32 shaderUniformBufferArrayNonUniformIndexing; - VkBool32 shaderSampledImageArrayNonUniformIndexing; - VkBool32 shaderStorageBufferArrayNonUniformIndexing; - VkBool32 shaderStorageImageArrayNonUniformIndexing; - VkBool32 shaderInputAttachmentArrayNonUniformIndexing; - VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; - VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; - VkBool32 descriptorBindingUniformBufferUpdateAfterBind; - VkBool32 descriptorBindingSampledImageUpdateAfterBind; - VkBool32 descriptorBindingStorageImageUpdateAfterBind; - VkBool32 descriptorBindingStorageBufferUpdateAfterBind; - VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; - VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; - VkBool32 descriptorBindingUpdateUnusedWhilePending; - VkBool32 descriptorBindingPartiallyBound; - VkBool32 descriptorBindingVariableDescriptorCount; - VkBool32 runtimeDescriptorArray; - - safe_VkPhysicalDeviceDescriptorIndexingFeatures(const VkPhysicalDeviceDescriptorIndexingFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceDescriptorIndexingFeatures(const safe_VkPhysicalDeviceDescriptorIndexingFeatures& copy_src); - safe_VkPhysicalDeviceDescriptorIndexingFeatures& operator=(const safe_VkPhysicalDeviceDescriptorIndexingFeatures& copy_src); - safe_VkPhysicalDeviceDescriptorIndexingFeatures(); - ~safe_VkPhysicalDeviceDescriptorIndexingFeatures(); - void initialize(const VkPhysicalDeviceDescriptorIndexingFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDescriptorIndexingFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDescriptorIndexingFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures*>(this); - } - VkPhysicalDeviceDescriptorIndexingFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceDescriptorIndexingProperties { - VkStructureType sType; - void* pNext{}; - uint32_t maxUpdateAfterBindDescriptorsInAllPools; - VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; - VkBool32 shaderSampledImageArrayNonUniformIndexingNative; - VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; - VkBool32 shaderStorageImageArrayNonUniformIndexingNative; - VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; - VkBool32 robustBufferAccessUpdateAfterBind; - VkBool32 quadDivergentImplicitLod; - uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; - uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; - uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; - uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; - uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; - uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; - uint32_t maxPerStageUpdateAfterBindResources; - uint32_t maxDescriptorSetUpdateAfterBindSamplers; - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; - uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; - uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; - uint32_t maxDescriptorSetUpdateAfterBindSampledImages; - uint32_t maxDescriptorSetUpdateAfterBindStorageImages; - uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; - - safe_VkPhysicalDeviceDescriptorIndexingProperties(const VkPhysicalDeviceDescriptorIndexingProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceDescriptorIndexingProperties(const safe_VkPhysicalDeviceDescriptorIndexingProperties& copy_src); - safe_VkPhysicalDeviceDescriptorIndexingProperties& operator=(const safe_VkPhysicalDeviceDescriptorIndexingProperties& copy_src); - safe_VkPhysicalDeviceDescriptorIndexingProperties(); - ~safe_VkPhysicalDeviceDescriptorIndexingProperties(); - void initialize(const VkPhysicalDeviceDescriptorIndexingProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDescriptorIndexingProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDescriptorIndexingProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties*>(this); - } - VkPhysicalDeviceDescriptorIndexingProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties const*>(this); - } -}; -struct safe_VkDescriptorSetVariableDescriptorCountAllocateInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t descriptorSetCount; - const uint32_t* pDescriptorCounts{}; - - safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(const VkDescriptorSetVariableDescriptorCountAllocateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkDescriptorSetVariableDescriptorCountAllocateInfo( - const safe_VkDescriptorSetVariableDescriptorCountAllocateInfo& copy_src); - safe_VkDescriptorSetVariableDescriptorCountAllocateInfo& operator=( - const safe_VkDescriptorSetVariableDescriptorCountAllocateInfo& copy_src); - safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(); - ~safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(); - void initialize(const VkDescriptorSetVariableDescriptorCountAllocateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfo* copy_src, PNextCopyState* copy_state = {}); - VkDescriptorSetVariableDescriptorCountAllocateInfo* ptr() { - return reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo*>(this); - } - VkDescriptorSetVariableDescriptorCountAllocateInfo const* ptr() const { - return reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo const*>(this); - } -}; -struct safe_VkDescriptorSetVariableDescriptorCountLayoutSupport { - VkStructureType sType; - void* pNext{}; - uint32_t maxVariableDescriptorCount; - - safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(const VkDescriptorSetVariableDescriptorCountLayoutSupport* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkDescriptorSetVariableDescriptorCountLayoutSupport( - const safe_VkDescriptorSetVariableDescriptorCountLayoutSupport& copy_src); - safe_VkDescriptorSetVariableDescriptorCountLayoutSupport& operator=( - const safe_VkDescriptorSetVariableDescriptorCountLayoutSupport& copy_src); - safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(); - ~safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(); - void initialize(const VkDescriptorSetVariableDescriptorCountLayoutSupport* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupport* copy_src, PNextCopyState* copy_state = {}); - VkDescriptorSetVariableDescriptorCountLayoutSupport* ptr() { - return reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport*>(this); - } - VkDescriptorSetVariableDescriptorCountLayoutSupport const* ptr() const { - return reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport const*>(this); - } -}; -struct safe_VkSubpassDescriptionDepthStencilResolve { - VkStructureType sType; - const void* pNext{}; - VkResolveModeFlagBits depthResolveMode; - VkResolveModeFlagBits stencilResolveMode; - safe_VkAttachmentReference2* pDepthStencilResolveAttachment{}; - - safe_VkSubpassDescriptionDepthStencilResolve(const VkSubpassDescriptionDepthStencilResolve* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubpassDescriptionDepthStencilResolve(const safe_VkSubpassDescriptionDepthStencilResolve& copy_src); - safe_VkSubpassDescriptionDepthStencilResolve& operator=(const safe_VkSubpassDescriptionDepthStencilResolve& copy_src); - safe_VkSubpassDescriptionDepthStencilResolve(); - ~safe_VkSubpassDescriptionDepthStencilResolve(); - void initialize(const VkSubpassDescriptionDepthStencilResolve* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubpassDescriptionDepthStencilResolve* copy_src, PNextCopyState* copy_state = {}); - VkSubpassDescriptionDepthStencilResolve* ptr() { return reinterpret_cast<VkSubpassDescriptionDepthStencilResolve*>(this); } - VkSubpassDescriptionDepthStencilResolve const* ptr() const { - return reinterpret_cast<VkSubpassDescriptionDepthStencilResolve const*>(this); - } -}; -struct safe_VkPhysicalDeviceDepthStencilResolveProperties { - VkStructureType sType; - void* pNext{}; - VkResolveModeFlags supportedDepthResolveModes; - VkResolveModeFlags supportedStencilResolveModes; - VkBool32 independentResolveNone; - VkBool32 independentResolve; - - safe_VkPhysicalDeviceDepthStencilResolveProperties(const VkPhysicalDeviceDepthStencilResolveProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceDepthStencilResolveProperties(const safe_VkPhysicalDeviceDepthStencilResolveProperties& copy_src); - safe_VkPhysicalDeviceDepthStencilResolveProperties& operator=( - const safe_VkPhysicalDeviceDepthStencilResolveProperties& copy_src); - safe_VkPhysicalDeviceDepthStencilResolveProperties(); - ~safe_VkPhysicalDeviceDepthStencilResolveProperties(); - void initialize(const VkPhysicalDeviceDepthStencilResolveProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDepthStencilResolveProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDepthStencilResolveProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties*>(this); - } - VkPhysicalDeviceDepthStencilResolveProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties const*>(this); - } -}; -struct safe_VkPhysicalDeviceScalarBlockLayoutFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 scalarBlockLayout; - - safe_VkPhysicalDeviceScalarBlockLayoutFeatures(const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceScalarBlockLayoutFeatures(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src); - safe_VkPhysicalDeviceScalarBlockLayoutFeatures& operator=(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src); - safe_VkPhysicalDeviceScalarBlockLayoutFeatures(); - ~safe_VkPhysicalDeviceScalarBlockLayoutFeatures(); - void initialize(const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceScalarBlockLayoutFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures*>(this); } - VkPhysicalDeviceScalarBlockLayoutFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures const*>(this); - } -}; -struct safe_VkImageStencilUsageCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkImageUsageFlags stencilUsage; - - safe_VkImageStencilUsageCreateInfo(const VkImageStencilUsageCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkImageStencilUsageCreateInfo(const safe_VkImageStencilUsageCreateInfo& copy_src); - safe_VkImageStencilUsageCreateInfo& operator=(const safe_VkImageStencilUsageCreateInfo& copy_src); - safe_VkImageStencilUsageCreateInfo(); - ~safe_VkImageStencilUsageCreateInfo(); - void initialize(const VkImageStencilUsageCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkImageStencilUsageCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkImageStencilUsageCreateInfo* ptr() { return reinterpret_cast<VkImageStencilUsageCreateInfo*>(this); } - VkImageStencilUsageCreateInfo const* ptr() const { return reinterpret_cast<VkImageStencilUsageCreateInfo const*>(this); } -}; -struct safe_VkSamplerReductionModeCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkSamplerReductionMode reductionMode; - - safe_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkSamplerReductionModeCreateInfo(const safe_VkSamplerReductionModeCreateInfo& copy_src); - safe_VkSamplerReductionModeCreateInfo& operator=(const safe_VkSamplerReductionModeCreateInfo& copy_src); - safe_VkSamplerReductionModeCreateInfo(); - ~safe_VkSamplerReductionModeCreateInfo(); - void initialize(const VkSamplerReductionModeCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSamplerReductionModeCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkSamplerReductionModeCreateInfo* ptr() { return reinterpret_cast<VkSamplerReductionModeCreateInfo*>(this); } - VkSamplerReductionModeCreateInfo const* ptr() const { return reinterpret_cast<VkSamplerReductionModeCreateInfo const*>(this); } -}; -struct safe_VkPhysicalDeviceSamplerFilterMinmaxProperties { - VkStructureType sType; - void* pNext{}; - VkBool32 filterMinmaxSingleComponentFormats; - VkBool32 filterMinmaxImageComponentMapping; - - safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src); - safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& operator=( - const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src); - safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(); - ~safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(); - void initialize(const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceSamplerFilterMinmaxProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties*>(this); - } - VkPhysicalDeviceSamplerFilterMinmaxProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties const*>(this); - } -}; struct safe_VkPhysicalDeviceVulkanMemoryModelFeatures { VkStructureType sType; void* pNext{}; @@ -3026,187 +2527,6 @@ return reinterpret_cast<VkPhysicalDeviceVulkanMemoryModelFeatures const*>(this); } }; -struct safe_VkPhysicalDeviceImagelessFramebufferFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 imagelessFramebuffer; - - safe_VkPhysicalDeviceImagelessFramebufferFeatures(const VkPhysicalDeviceImagelessFramebufferFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceImagelessFramebufferFeatures(const safe_VkPhysicalDeviceImagelessFramebufferFeatures& copy_src); - safe_VkPhysicalDeviceImagelessFramebufferFeatures& operator=(const safe_VkPhysicalDeviceImagelessFramebufferFeatures& copy_src); - safe_VkPhysicalDeviceImagelessFramebufferFeatures(); - ~safe_VkPhysicalDeviceImagelessFramebufferFeatures(); - void initialize(const VkPhysicalDeviceImagelessFramebufferFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceImagelessFramebufferFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceImagelessFramebufferFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures*>(this); - } - VkPhysicalDeviceImagelessFramebufferFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures const*>(this); - } -}; -struct safe_VkFramebufferAttachmentImageInfo { - VkStructureType sType; - const void* pNext{}; - VkImageCreateFlags flags; - VkImageUsageFlags usage; - uint32_t width; - uint32_t height; - uint32_t layerCount; - uint32_t viewFormatCount; - const VkFormat* pViewFormats{}; - - safe_VkFramebufferAttachmentImageInfo(const VkFramebufferAttachmentImageInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkFramebufferAttachmentImageInfo(const safe_VkFramebufferAttachmentImageInfo& copy_src); - safe_VkFramebufferAttachmentImageInfo& operator=(const safe_VkFramebufferAttachmentImageInfo& copy_src); - safe_VkFramebufferAttachmentImageInfo(); - ~safe_VkFramebufferAttachmentImageInfo(); - void initialize(const VkFramebufferAttachmentImageInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkFramebufferAttachmentImageInfo* copy_src, PNextCopyState* copy_state = {}); - VkFramebufferAttachmentImageInfo* ptr() { return reinterpret_cast<VkFramebufferAttachmentImageInfo*>(this); } - VkFramebufferAttachmentImageInfo const* ptr() const { return reinterpret_cast<VkFramebufferAttachmentImageInfo const*>(this); } -}; -struct safe_VkFramebufferAttachmentsCreateInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t attachmentImageInfoCount; - safe_VkFramebufferAttachmentImageInfo* pAttachmentImageInfos{}; - - safe_VkFramebufferAttachmentsCreateInfo(const VkFramebufferAttachmentsCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkFramebufferAttachmentsCreateInfo(const safe_VkFramebufferAttachmentsCreateInfo& copy_src); - safe_VkFramebufferAttachmentsCreateInfo& operator=(const safe_VkFramebufferAttachmentsCreateInfo& copy_src); - safe_VkFramebufferAttachmentsCreateInfo(); - ~safe_VkFramebufferAttachmentsCreateInfo(); - void initialize(const VkFramebufferAttachmentsCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkFramebufferAttachmentsCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkFramebufferAttachmentsCreateInfo* ptr() { return reinterpret_cast<VkFramebufferAttachmentsCreateInfo*>(this); } - VkFramebufferAttachmentsCreateInfo const* ptr() const { - return reinterpret_cast<VkFramebufferAttachmentsCreateInfo const*>(this); - } -}; -struct safe_VkRenderPassAttachmentBeginInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t attachmentCount; - VkImageView* pAttachments{}; - - safe_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkRenderPassAttachmentBeginInfo(const safe_VkRenderPassAttachmentBeginInfo& copy_src); - safe_VkRenderPassAttachmentBeginInfo& operator=(const safe_VkRenderPassAttachmentBeginInfo& copy_src); - safe_VkRenderPassAttachmentBeginInfo(); - ~safe_VkRenderPassAttachmentBeginInfo(); - void initialize(const VkRenderPassAttachmentBeginInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderPassAttachmentBeginInfo* copy_src, PNextCopyState* copy_state = {}); - VkRenderPassAttachmentBeginInfo* ptr() { return reinterpret_cast<VkRenderPassAttachmentBeginInfo*>(this); } - VkRenderPassAttachmentBeginInfo const* ptr() const { return reinterpret_cast<VkRenderPassAttachmentBeginInfo const*>(this); } -}; -struct safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 uniformBufferStandardLayout; - - safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures( - const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src); - safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& operator=( - const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src); - safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(); - ~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(); - void initialize(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceUniformBufferStandardLayoutFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(this); - } - VkPhysicalDeviceUniformBufferStandardLayoutFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderSubgroupExtendedTypes; - - safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures( - const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src); - safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& operator=( - const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src); - safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(); - ~safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(); - void initialize(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(this); - } - VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 separateDepthStencilLayouts; - - safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures( - const safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& copy_src); - safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& operator=( - const safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& copy_src); - safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(); - ~safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(); - void initialize(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(this); - } - VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const*>(this); - } -}; -struct safe_VkAttachmentReferenceStencilLayout { - VkStructureType sType; - void* pNext{}; - VkImageLayout stencilLayout; - - safe_VkAttachmentReferenceStencilLayout(const VkAttachmentReferenceStencilLayout* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkAttachmentReferenceStencilLayout(const safe_VkAttachmentReferenceStencilLayout& copy_src); - safe_VkAttachmentReferenceStencilLayout& operator=(const safe_VkAttachmentReferenceStencilLayout& copy_src); - safe_VkAttachmentReferenceStencilLayout(); - ~safe_VkAttachmentReferenceStencilLayout(); - void initialize(const VkAttachmentReferenceStencilLayout* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkAttachmentReferenceStencilLayout* copy_src, PNextCopyState* copy_state = {}); - VkAttachmentReferenceStencilLayout* ptr() { return reinterpret_cast<VkAttachmentReferenceStencilLayout*>(this); } - VkAttachmentReferenceStencilLayout const* ptr() const { - return reinterpret_cast<VkAttachmentReferenceStencilLayout const*>(this); - } -}; -struct safe_VkAttachmentDescriptionStencilLayout { - VkStructureType sType; - void* pNext{}; - VkImageLayout stencilInitialLayout; - VkImageLayout stencilFinalLayout; - - safe_VkAttachmentDescriptionStencilLayout(const VkAttachmentDescriptionStencilLayout* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkAttachmentDescriptionStencilLayout(const safe_VkAttachmentDescriptionStencilLayout& copy_src); - safe_VkAttachmentDescriptionStencilLayout& operator=(const safe_VkAttachmentDescriptionStencilLayout& copy_src); - safe_VkAttachmentDescriptionStencilLayout(); - ~safe_VkAttachmentDescriptionStencilLayout(); - void initialize(const VkAttachmentDescriptionStencilLayout* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkAttachmentDescriptionStencilLayout* copy_src, PNextCopyState* copy_state = {}); - VkAttachmentDescriptionStencilLayout* ptr() { return reinterpret_cast<VkAttachmentDescriptionStencilLayout*>(this); } - VkAttachmentDescriptionStencilLayout const* ptr() const { - return reinterpret_cast<VkAttachmentDescriptionStencilLayout const*>(this); - } -}; struct safe_VkPhysicalDeviceHostQueryResetFeatures { VkStructureType sType; void* pNext{}; @@ -3425,6 +2745,682 @@ return reinterpret_cast<VkDeviceMemoryOpaqueCaptureAddressInfo const*>(this); } }; +struct safe_VkPhysicalDevice8BitStorageFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 storageBuffer8BitAccess; + VkBool32 uniformAndStorageBuffer8BitAccess; + VkBool32 storagePushConstant8; + + safe_VkPhysicalDevice8BitStorageFeatures(const VkPhysicalDevice8BitStorageFeatures* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevice8BitStorageFeatures(const safe_VkPhysicalDevice8BitStorageFeatures& copy_src); + safe_VkPhysicalDevice8BitStorageFeatures& operator=(const safe_VkPhysicalDevice8BitStorageFeatures& copy_src); + safe_VkPhysicalDevice8BitStorageFeatures(); + ~safe_VkPhysicalDevice8BitStorageFeatures(); + void initialize(const VkPhysicalDevice8BitStorageFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevice8BitStorageFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevice8BitStorageFeatures* ptr() { return reinterpret_cast<VkPhysicalDevice8BitStorageFeatures*>(this); } + VkPhysicalDevice8BitStorageFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDevice8BitStorageFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderAtomicInt64Features { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderBufferInt64Atomics; + VkBool32 shaderSharedInt64Atomics; + + safe_VkPhysicalDeviceShaderAtomicInt64Features(const VkPhysicalDeviceShaderAtomicInt64Features* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderAtomicInt64Features(const safe_VkPhysicalDeviceShaderAtomicInt64Features& copy_src); + safe_VkPhysicalDeviceShaderAtomicInt64Features& operator=(const safe_VkPhysicalDeviceShaderAtomicInt64Features& copy_src); + safe_VkPhysicalDeviceShaderAtomicInt64Features(); + ~safe_VkPhysicalDeviceShaderAtomicInt64Features(); + void initialize(const VkPhysicalDeviceShaderAtomicInt64Features* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderAtomicInt64Features* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderAtomicInt64Features* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features*>(this); } + VkPhysicalDeviceShaderAtomicInt64Features const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderAtomicInt64Features const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderFloat16Int8Features { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderFloat16; + VkBool32 shaderInt8; + + safe_VkPhysicalDeviceShaderFloat16Int8Features(const VkPhysicalDeviceShaderFloat16Int8Features* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderFloat16Int8Features(const safe_VkPhysicalDeviceShaderFloat16Int8Features& copy_src); + safe_VkPhysicalDeviceShaderFloat16Int8Features& operator=(const safe_VkPhysicalDeviceShaderFloat16Int8Features& copy_src); + safe_VkPhysicalDeviceShaderFloat16Int8Features(); + ~safe_VkPhysicalDeviceShaderFloat16Int8Features(); + void initialize(const VkPhysicalDeviceShaderFloat16Int8Features* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderFloat16Int8Features* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderFloat16Int8Features* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features*>(this); } + VkPhysicalDeviceShaderFloat16Int8Features const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderFloat16Int8Features const*>(this); + } +}; +struct safe_VkPhysicalDeviceFloatControlsProperties { + VkStructureType sType; + void* pNext{}; + VkShaderFloatControlsIndependence denormBehaviorIndependence; + VkShaderFloatControlsIndependence roundingModeIndependence; + VkBool32 shaderSignedZeroInfNanPreserveFloat16; + VkBool32 shaderSignedZeroInfNanPreserveFloat32; + VkBool32 shaderSignedZeroInfNanPreserveFloat64; + VkBool32 shaderDenormPreserveFloat16; + VkBool32 shaderDenormPreserveFloat32; + VkBool32 shaderDenormPreserveFloat64; + VkBool32 shaderDenormFlushToZeroFloat16; + VkBool32 shaderDenormFlushToZeroFloat32; + VkBool32 shaderDenormFlushToZeroFloat64; + VkBool32 shaderRoundingModeRTEFloat16; + VkBool32 shaderRoundingModeRTEFloat32; + VkBool32 shaderRoundingModeRTEFloat64; + VkBool32 shaderRoundingModeRTZFloat16; + VkBool32 shaderRoundingModeRTZFloat32; + VkBool32 shaderRoundingModeRTZFloat64; + + safe_VkPhysicalDeviceFloatControlsProperties(const VkPhysicalDeviceFloatControlsProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceFloatControlsProperties(const safe_VkPhysicalDeviceFloatControlsProperties& copy_src); + safe_VkPhysicalDeviceFloatControlsProperties& operator=(const safe_VkPhysicalDeviceFloatControlsProperties& copy_src); + safe_VkPhysicalDeviceFloatControlsProperties(); + ~safe_VkPhysicalDeviceFloatControlsProperties(); + void initialize(const VkPhysicalDeviceFloatControlsProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFloatControlsProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFloatControlsProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceFloatControlsProperties*>(this); } + VkPhysicalDeviceFloatControlsProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFloatControlsProperties const*>(this); + } +}; +struct safe_VkDescriptorSetLayoutBindingFlagsCreateInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t bindingCount; + const VkDescriptorBindingFlags* pBindingFlags{}; + + safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(const VkDescriptorSetLayoutBindingFlagsCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfo& copy_src); + safe_VkDescriptorSetLayoutBindingFlagsCreateInfo& operator=(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfo& copy_src); + safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(); + ~safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(); + void initialize(const VkDescriptorSetLayoutBindingFlagsCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorSetLayoutBindingFlagsCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorSetLayoutBindingFlagsCreateInfo* ptr() { + return reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo*>(this); + } + VkDescriptorSetLayoutBindingFlagsCreateInfo const* ptr() const { + return reinterpret_cast<VkDescriptorSetLayoutBindingFlagsCreateInfo const*>(this); + } +}; +struct safe_VkPhysicalDeviceDescriptorIndexingFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderInputAttachmentArrayDynamicIndexing; + VkBool32 shaderUniformTexelBufferArrayDynamicIndexing; + VkBool32 shaderStorageTexelBufferArrayDynamicIndexing; + VkBool32 shaderUniformBufferArrayNonUniformIndexing; + VkBool32 shaderSampledImageArrayNonUniformIndexing; + VkBool32 shaderStorageBufferArrayNonUniformIndexing; + VkBool32 shaderStorageImageArrayNonUniformIndexing; + VkBool32 shaderInputAttachmentArrayNonUniformIndexing; + VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing; + VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing; + VkBool32 descriptorBindingUniformBufferUpdateAfterBind; + VkBool32 descriptorBindingSampledImageUpdateAfterBind; + VkBool32 descriptorBindingStorageImageUpdateAfterBind; + VkBool32 descriptorBindingStorageBufferUpdateAfterBind; + VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind; + VkBool32 descriptorBindingUpdateUnusedWhilePending; + VkBool32 descriptorBindingPartiallyBound; + VkBool32 descriptorBindingVariableDescriptorCount; + VkBool32 runtimeDescriptorArray; + + safe_VkPhysicalDeviceDescriptorIndexingFeatures(const VkPhysicalDeviceDescriptorIndexingFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorIndexingFeatures(const safe_VkPhysicalDeviceDescriptorIndexingFeatures& copy_src); + safe_VkPhysicalDeviceDescriptorIndexingFeatures& operator=(const safe_VkPhysicalDeviceDescriptorIndexingFeatures& copy_src); + safe_VkPhysicalDeviceDescriptorIndexingFeatures(); + ~safe_VkPhysicalDeviceDescriptorIndexingFeatures(); + void initialize(const VkPhysicalDeviceDescriptorIndexingFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorIndexingFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorIndexingFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures*>(this); + } + VkPhysicalDeviceDescriptorIndexingFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceDescriptorIndexingProperties { + VkStructureType sType; + void* pNext{}; + uint32_t maxUpdateAfterBindDescriptorsInAllPools; + VkBool32 shaderUniformBufferArrayNonUniformIndexingNative; + VkBool32 shaderSampledImageArrayNonUniformIndexingNative; + VkBool32 shaderStorageBufferArrayNonUniformIndexingNative; + VkBool32 shaderStorageImageArrayNonUniformIndexingNative; + VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative; + VkBool32 robustBufferAccessUpdateAfterBind; + VkBool32 quadDivergentImplicitLod; + uint32_t maxPerStageDescriptorUpdateAfterBindSamplers; + uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers; + uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages; + uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments; + uint32_t maxPerStageUpdateAfterBindResources; + uint32_t maxDescriptorSetUpdateAfterBindSamplers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers; + uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers; + uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic; + uint32_t maxDescriptorSetUpdateAfterBindSampledImages; + uint32_t maxDescriptorSetUpdateAfterBindStorageImages; + uint32_t maxDescriptorSetUpdateAfterBindInputAttachments; + + safe_VkPhysicalDeviceDescriptorIndexingProperties(const VkPhysicalDeviceDescriptorIndexingProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorIndexingProperties(const safe_VkPhysicalDeviceDescriptorIndexingProperties& copy_src); + safe_VkPhysicalDeviceDescriptorIndexingProperties& operator=(const safe_VkPhysicalDeviceDescriptorIndexingProperties& copy_src); + safe_VkPhysicalDeviceDescriptorIndexingProperties(); + ~safe_VkPhysicalDeviceDescriptorIndexingProperties(); + void initialize(const VkPhysicalDeviceDescriptorIndexingProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorIndexingProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorIndexingProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties*>(this); + } + VkPhysicalDeviceDescriptorIndexingProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorIndexingProperties const*>(this); + } +}; +struct safe_VkDescriptorSetVariableDescriptorCountAllocateInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t descriptorSetCount; + const uint32_t* pDescriptorCounts{}; + + safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(const VkDescriptorSetVariableDescriptorCountAllocateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDescriptorSetVariableDescriptorCountAllocateInfo( + const safe_VkDescriptorSetVariableDescriptorCountAllocateInfo& copy_src); + safe_VkDescriptorSetVariableDescriptorCountAllocateInfo& operator=( + const safe_VkDescriptorSetVariableDescriptorCountAllocateInfo& copy_src); + safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(); + ~safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(); + void initialize(const VkDescriptorSetVariableDescriptorCountAllocateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorSetVariableDescriptorCountAllocateInfo* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorSetVariableDescriptorCountAllocateInfo* ptr() { + return reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo*>(this); + } + VkDescriptorSetVariableDescriptorCountAllocateInfo const* ptr() const { + return reinterpret_cast<VkDescriptorSetVariableDescriptorCountAllocateInfo const*>(this); + } +}; +struct safe_VkDescriptorSetVariableDescriptorCountLayoutSupport { + VkStructureType sType; + void* pNext{}; + uint32_t maxVariableDescriptorCount; + + safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(const VkDescriptorSetVariableDescriptorCountLayoutSupport* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDescriptorSetVariableDescriptorCountLayoutSupport( + const safe_VkDescriptorSetVariableDescriptorCountLayoutSupport& copy_src); + safe_VkDescriptorSetVariableDescriptorCountLayoutSupport& operator=( + const safe_VkDescriptorSetVariableDescriptorCountLayoutSupport& copy_src); + safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(); + ~safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(); + void initialize(const VkDescriptorSetVariableDescriptorCountLayoutSupport* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorSetVariableDescriptorCountLayoutSupport* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorSetVariableDescriptorCountLayoutSupport* ptr() { + return reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport*>(this); + } + VkDescriptorSetVariableDescriptorCountLayoutSupport const* ptr() const { + return reinterpret_cast<VkDescriptorSetVariableDescriptorCountLayoutSupport const*>(this); + } +}; +struct safe_VkPhysicalDeviceScalarBlockLayoutFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 scalarBlockLayout; + + safe_VkPhysicalDeviceScalarBlockLayoutFeatures(const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceScalarBlockLayoutFeatures(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src); + safe_VkPhysicalDeviceScalarBlockLayoutFeatures& operator=(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src); + safe_VkPhysicalDeviceScalarBlockLayoutFeatures(); + ~safe_VkPhysicalDeviceScalarBlockLayoutFeatures(); + void initialize(const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceScalarBlockLayoutFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures*>(this); } + VkPhysicalDeviceScalarBlockLayoutFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceScalarBlockLayoutFeatures const*>(this); + } +}; +struct safe_VkSamplerReductionModeCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkSamplerReductionMode reductionMode; + + safe_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSamplerReductionModeCreateInfo(const safe_VkSamplerReductionModeCreateInfo& copy_src); + safe_VkSamplerReductionModeCreateInfo& operator=(const safe_VkSamplerReductionModeCreateInfo& copy_src); + safe_VkSamplerReductionModeCreateInfo(); + ~safe_VkSamplerReductionModeCreateInfo(); + void initialize(const VkSamplerReductionModeCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSamplerReductionModeCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkSamplerReductionModeCreateInfo* ptr() { return reinterpret_cast<VkSamplerReductionModeCreateInfo*>(this); } + VkSamplerReductionModeCreateInfo const* ptr() const { return reinterpret_cast<VkSamplerReductionModeCreateInfo const*>(this); } +}; +struct safe_VkPhysicalDeviceSamplerFilterMinmaxProperties { + VkStructureType sType; + void* pNext{}; + VkBool32 filterMinmaxSingleComponentFormats; + VkBool32 filterMinmaxImageComponentMapping; + + safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src); + safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& operator=( + const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src); + safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(); + ~safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(); + void initialize(const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceSamplerFilterMinmaxProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties*>(this); + } + VkPhysicalDeviceSamplerFilterMinmaxProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceSamplerFilterMinmaxProperties const*>(this); + } +}; +struct safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 uniformBufferStandardLayout; + + safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures( + const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src); + safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& operator=( + const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src); + safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(); + ~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(); + void initialize(const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceUniformBufferStandardLayoutFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures*>(this); + } + VkPhysicalDeviceUniformBufferStandardLayoutFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceUniformBufferStandardLayoutFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderSubgroupExtendedTypes; + + safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures( + const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src); + safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& operator=( + const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src); + safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(); + ~safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(); + void initialize(const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures*>(this); + } + VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures const*>(this); + } +}; +struct safe_VkAttachmentDescription2 { + VkStructureType sType; + const void* pNext{}; + VkAttachmentDescriptionFlags flags; + VkFormat format; + VkSampleCountFlagBits samples; + VkAttachmentLoadOp loadOp; + VkAttachmentStoreOp storeOp; + VkAttachmentLoadOp stencilLoadOp; + VkAttachmentStoreOp stencilStoreOp; + VkImageLayout initialLayout; + VkImageLayout finalLayout; + + safe_VkAttachmentDescription2(const VkAttachmentDescription2* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkAttachmentDescription2(const safe_VkAttachmentDescription2& copy_src); + safe_VkAttachmentDescription2& operator=(const safe_VkAttachmentDescription2& copy_src); + safe_VkAttachmentDescription2(); + ~safe_VkAttachmentDescription2(); + void initialize(const VkAttachmentDescription2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAttachmentDescription2* copy_src, PNextCopyState* copy_state = {}); + VkAttachmentDescription2* ptr() { return reinterpret_cast<VkAttachmentDescription2*>(this); } + VkAttachmentDescription2 const* ptr() const { return reinterpret_cast<VkAttachmentDescription2 const*>(this); } +}; +struct safe_VkAttachmentReference2 { + VkStructureType sType; + const void* pNext{}; + uint32_t attachment; + VkImageLayout layout; + VkImageAspectFlags aspectMask; + + safe_VkAttachmentReference2(const VkAttachmentReference2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkAttachmentReference2(const safe_VkAttachmentReference2& copy_src); + safe_VkAttachmentReference2& operator=(const safe_VkAttachmentReference2& copy_src); + safe_VkAttachmentReference2(); + ~safe_VkAttachmentReference2(); + void initialize(const VkAttachmentReference2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAttachmentReference2* copy_src, PNextCopyState* copy_state = {}); + VkAttachmentReference2* ptr() { return reinterpret_cast<VkAttachmentReference2*>(this); } + VkAttachmentReference2 const* ptr() const { return reinterpret_cast<VkAttachmentReference2 const*>(this); } +}; +struct safe_VkSubpassDescription2 { + VkStructureType sType; + const void* pNext{}; + VkSubpassDescriptionFlags flags; + VkPipelineBindPoint pipelineBindPoint; + uint32_t viewMask; + uint32_t inputAttachmentCount; + safe_VkAttachmentReference2* pInputAttachments{}; + uint32_t colorAttachmentCount; + safe_VkAttachmentReference2* pColorAttachments{}; + safe_VkAttachmentReference2* pResolveAttachments{}; + safe_VkAttachmentReference2* pDepthStencilAttachment{}; + uint32_t preserveAttachmentCount; + const uint32_t* pPreserveAttachments{}; + + safe_VkSubpassDescription2(const VkSubpassDescription2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubpassDescription2(const safe_VkSubpassDescription2& copy_src); + safe_VkSubpassDescription2& operator=(const safe_VkSubpassDescription2& copy_src); + safe_VkSubpassDescription2(); + ~safe_VkSubpassDescription2(); + void initialize(const VkSubpassDescription2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubpassDescription2* copy_src, PNextCopyState* copy_state = {}); + VkSubpassDescription2* ptr() { return reinterpret_cast<VkSubpassDescription2*>(this); } + VkSubpassDescription2 const* ptr() const { return reinterpret_cast<VkSubpassDescription2 const*>(this); } +}; +struct safe_VkSubpassDependency2 { + VkStructureType sType; + const void* pNext{}; + uint32_t srcSubpass; + uint32_t dstSubpass; + VkPipelineStageFlags srcStageMask; + VkPipelineStageFlags dstStageMask; + VkAccessFlags srcAccessMask; + VkAccessFlags dstAccessMask; + VkDependencyFlags dependencyFlags; + int32_t viewOffset; + + safe_VkSubpassDependency2(const VkSubpassDependency2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubpassDependency2(const safe_VkSubpassDependency2& copy_src); + safe_VkSubpassDependency2& operator=(const safe_VkSubpassDependency2& copy_src); + safe_VkSubpassDependency2(); + ~safe_VkSubpassDependency2(); + void initialize(const VkSubpassDependency2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubpassDependency2* copy_src, PNextCopyState* copy_state = {}); + VkSubpassDependency2* ptr() { return reinterpret_cast<VkSubpassDependency2*>(this); } + VkSubpassDependency2 const* ptr() const { return reinterpret_cast<VkSubpassDependency2 const*>(this); } +}; +struct safe_VkSubpassBeginInfo { + VkStructureType sType; + const void* pNext{}; + VkSubpassContents contents; + + safe_VkSubpassBeginInfo(const VkSubpassBeginInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubpassBeginInfo(const safe_VkSubpassBeginInfo& copy_src); + safe_VkSubpassBeginInfo& operator=(const safe_VkSubpassBeginInfo& copy_src); + safe_VkSubpassBeginInfo(); + ~safe_VkSubpassBeginInfo(); + void initialize(const VkSubpassBeginInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubpassBeginInfo* copy_src, PNextCopyState* copy_state = {}); + VkSubpassBeginInfo* ptr() { return reinterpret_cast<VkSubpassBeginInfo*>(this); } + VkSubpassBeginInfo const* ptr() const { return reinterpret_cast<VkSubpassBeginInfo const*>(this); } +}; +struct safe_VkSubpassEndInfo { + VkStructureType sType; + const void* pNext{}; + + safe_VkSubpassEndInfo(const VkSubpassEndInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubpassEndInfo(const safe_VkSubpassEndInfo& copy_src); + safe_VkSubpassEndInfo& operator=(const safe_VkSubpassEndInfo& copy_src); + safe_VkSubpassEndInfo(); + ~safe_VkSubpassEndInfo(); + void initialize(const VkSubpassEndInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubpassEndInfo* copy_src, PNextCopyState* copy_state = {}); + VkSubpassEndInfo* ptr() { return reinterpret_cast<VkSubpassEndInfo*>(this); } + VkSubpassEndInfo const* ptr() const { return reinterpret_cast<VkSubpassEndInfo const*>(this); } +}; +struct safe_VkRenderPassCreateInfo2 { + VkStructureType sType; + const void* pNext{}; + VkRenderPassCreateFlags flags; + uint32_t attachmentCount; + safe_VkAttachmentDescription2* pAttachments{}; + uint32_t subpassCount; + safe_VkSubpassDescription2* pSubpasses{}; + uint32_t dependencyCount; + safe_VkSubpassDependency2* pDependencies{}; + uint32_t correlatedViewMaskCount; + const uint32_t* pCorrelatedViewMasks{}; + + safe_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderPassCreateInfo2(const safe_VkRenderPassCreateInfo2& copy_src); + safe_VkRenderPassCreateInfo2& operator=(const safe_VkRenderPassCreateInfo2& copy_src); + safe_VkRenderPassCreateInfo2(); + ~safe_VkRenderPassCreateInfo2(); + void initialize(const VkRenderPassCreateInfo2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassCreateInfo2* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassCreateInfo2* ptr() { return reinterpret_cast<VkRenderPassCreateInfo2*>(this); } + VkRenderPassCreateInfo2 const* ptr() const { return reinterpret_cast<VkRenderPassCreateInfo2 const*>(this); } +}; +struct safe_VkSubpassDescriptionDepthStencilResolve { + VkStructureType sType; + const void* pNext{}; + VkResolveModeFlagBits depthResolveMode; + VkResolveModeFlagBits stencilResolveMode; + safe_VkAttachmentReference2* pDepthStencilResolveAttachment{}; + + safe_VkSubpassDescriptionDepthStencilResolve(const VkSubpassDescriptionDepthStencilResolve* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubpassDescriptionDepthStencilResolve(const safe_VkSubpassDescriptionDepthStencilResolve& copy_src); + safe_VkSubpassDescriptionDepthStencilResolve& operator=(const safe_VkSubpassDescriptionDepthStencilResolve& copy_src); + safe_VkSubpassDescriptionDepthStencilResolve(); + ~safe_VkSubpassDescriptionDepthStencilResolve(); + void initialize(const VkSubpassDescriptionDepthStencilResolve* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubpassDescriptionDepthStencilResolve* copy_src, PNextCopyState* copy_state = {}); + VkSubpassDescriptionDepthStencilResolve* ptr() { return reinterpret_cast<VkSubpassDescriptionDepthStencilResolve*>(this); } + VkSubpassDescriptionDepthStencilResolve const* ptr() const { + return reinterpret_cast<VkSubpassDescriptionDepthStencilResolve const*>(this); + } +}; +struct safe_VkPhysicalDeviceDepthStencilResolveProperties { + VkStructureType sType; + void* pNext{}; + VkResolveModeFlags supportedDepthResolveModes; + VkResolveModeFlags supportedStencilResolveModes; + VkBool32 independentResolveNone; + VkBool32 independentResolve; + + safe_VkPhysicalDeviceDepthStencilResolveProperties(const VkPhysicalDeviceDepthStencilResolveProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDepthStencilResolveProperties(const safe_VkPhysicalDeviceDepthStencilResolveProperties& copy_src); + safe_VkPhysicalDeviceDepthStencilResolveProperties& operator=( + const safe_VkPhysicalDeviceDepthStencilResolveProperties& copy_src); + safe_VkPhysicalDeviceDepthStencilResolveProperties(); + ~safe_VkPhysicalDeviceDepthStencilResolveProperties(); + void initialize(const VkPhysicalDeviceDepthStencilResolveProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDepthStencilResolveProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDepthStencilResolveProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties*>(this); + } + VkPhysicalDeviceDepthStencilResolveProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDepthStencilResolveProperties const*>(this); + } +}; +struct safe_VkImageStencilUsageCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkImageUsageFlags stencilUsage; + + safe_VkImageStencilUsageCreateInfo(const VkImageStencilUsageCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkImageStencilUsageCreateInfo(const safe_VkImageStencilUsageCreateInfo& copy_src); + safe_VkImageStencilUsageCreateInfo& operator=(const safe_VkImageStencilUsageCreateInfo& copy_src); + safe_VkImageStencilUsageCreateInfo(); + ~safe_VkImageStencilUsageCreateInfo(); + void initialize(const VkImageStencilUsageCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImageStencilUsageCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkImageStencilUsageCreateInfo* ptr() { return reinterpret_cast<VkImageStencilUsageCreateInfo*>(this); } + VkImageStencilUsageCreateInfo const* ptr() const { return reinterpret_cast<VkImageStencilUsageCreateInfo const*>(this); } +}; +struct safe_VkPhysicalDeviceImagelessFramebufferFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 imagelessFramebuffer; + + safe_VkPhysicalDeviceImagelessFramebufferFeatures(const VkPhysicalDeviceImagelessFramebufferFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceImagelessFramebufferFeatures(const safe_VkPhysicalDeviceImagelessFramebufferFeatures& copy_src); + safe_VkPhysicalDeviceImagelessFramebufferFeatures& operator=(const safe_VkPhysicalDeviceImagelessFramebufferFeatures& copy_src); + safe_VkPhysicalDeviceImagelessFramebufferFeatures(); + ~safe_VkPhysicalDeviceImagelessFramebufferFeatures(); + void initialize(const VkPhysicalDeviceImagelessFramebufferFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceImagelessFramebufferFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceImagelessFramebufferFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures*>(this); + } + VkPhysicalDeviceImagelessFramebufferFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceImagelessFramebufferFeatures const*>(this); + } +}; +struct safe_VkFramebufferAttachmentImageInfo { + VkStructureType sType; + const void* pNext{}; + VkImageCreateFlags flags; + VkImageUsageFlags usage; + uint32_t width; + uint32_t height; + uint32_t layerCount; + uint32_t viewFormatCount; + const VkFormat* pViewFormats{}; + + safe_VkFramebufferAttachmentImageInfo(const VkFramebufferAttachmentImageInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkFramebufferAttachmentImageInfo(const safe_VkFramebufferAttachmentImageInfo& copy_src); + safe_VkFramebufferAttachmentImageInfo& operator=(const safe_VkFramebufferAttachmentImageInfo& copy_src); + safe_VkFramebufferAttachmentImageInfo(); + ~safe_VkFramebufferAttachmentImageInfo(); + void initialize(const VkFramebufferAttachmentImageInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkFramebufferAttachmentImageInfo* copy_src, PNextCopyState* copy_state = {}); + VkFramebufferAttachmentImageInfo* ptr() { return reinterpret_cast<VkFramebufferAttachmentImageInfo*>(this); } + VkFramebufferAttachmentImageInfo const* ptr() const { return reinterpret_cast<VkFramebufferAttachmentImageInfo const*>(this); } +}; +struct safe_VkRenderPassAttachmentBeginInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t attachmentCount; + VkImageView* pAttachments{}; + + safe_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkRenderPassAttachmentBeginInfo(const safe_VkRenderPassAttachmentBeginInfo& copy_src); + safe_VkRenderPassAttachmentBeginInfo& operator=(const safe_VkRenderPassAttachmentBeginInfo& copy_src); + safe_VkRenderPassAttachmentBeginInfo(); + ~safe_VkRenderPassAttachmentBeginInfo(); + void initialize(const VkRenderPassAttachmentBeginInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassAttachmentBeginInfo* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassAttachmentBeginInfo* ptr() { return reinterpret_cast<VkRenderPassAttachmentBeginInfo*>(this); } + VkRenderPassAttachmentBeginInfo const* ptr() const { return reinterpret_cast<VkRenderPassAttachmentBeginInfo const*>(this); } +}; +struct safe_VkFramebufferAttachmentsCreateInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t attachmentImageInfoCount; + safe_VkFramebufferAttachmentImageInfo* pAttachmentImageInfos{}; + + safe_VkFramebufferAttachmentsCreateInfo(const VkFramebufferAttachmentsCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkFramebufferAttachmentsCreateInfo(const safe_VkFramebufferAttachmentsCreateInfo& copy_src); + safe_VkFramebufferAttachmentsCreateInfo& operator=(const safe_VkFramebufferAttachmentsCreateInfo& copy_src); + safe_VkFramebufferAttachmentsCreateInfo(); + ~safe_VkFramebufferAttachmentsCreateInfo(); + void initialize(const VkFramebufferAttachmentsCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkFramebufferAttachmentsCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkFramebufferAttachmentsCreateInfo* ptr() { return reinterpret_cast<VkFramebufferAttachmentsCreateInfo*>(this); } + VkFramebufferAttachmentsCreateInfo const* ptr() const { + return reinterpret_cast<VkFramebufferAttachmentsCreateInfo const*>(this); + } +}; +struct safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 separateDepthStencilLayouts; + + safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures( + const safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& copy_src); + safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& operator=( + const safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures& copy_src); + safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(); + ~safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(); + void initialize(const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures*>(this); + } + VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures const*>(this); + } +}; +struct safe_VkAttachmentReferenceStencilLayout { + VkStructureType sType; + void* pNext{}; + VkImageLayout stencilLayout; + + safe_VkAttachmentReferenceStencilLayout(const VkAttachmentReferenceStencilLayout* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkAttachmentReferenceStencilLayout(const safe_VkAttachmentReferenceStencilLayout& copy_src); + safe_VkAttachmentReferenceStencilLayout& operator=(const safe_VkAttachmentReferenceStencilLayout& copy_src); + safe_VkAttachmentReferenceStencilLayout(); + ~safe_VkAttachmentReferenceStencilLayout(); + void initialize(const VkAttachmentReferenceStencilLayout* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAttachmentReferenceStencilLayout* copy_src, PNextCopyState* copy_state = {}); + VkAttachmentReferenceStencilLayout* ptr() { return reinterpret_cast<VkAttachmentReferenceStencilLayout*>(this); } + VkAttachmentReferenceStencilLayout const* ptr() const { + return reinterpret_cast<VkAttachmentReferenceStencilLayout const*>(this); + } +}; +struct safe_VkAttachmentDescriptionStencilLayout { + VkStructureType sType; + void* pNext{}; + VkImageLayout stencilInitialLayout; + VkImageLayout stencilFinalLayout; + + safe_VkAttachmentDescriptionStencilLayout(const VkAttachmentDescriptionStencilLayout* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkAttachmentDescriptionStencilLayout(const safe_VkAttachmentDescriptionStencilLayout& copy_src); + safe_VkAttachmentDescriptionStencilLayout& operator=(const safe_VkAttachmentDescriptionStencilLayout& copy_src); + safe_VkAttachmentDescriptionStencilLayout(); + ~safe_VkAttachmentDescriptionStencilLayout(); + void initialize(const VkAttachmentDescriptionStencilLayout* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAttachmentDescriptionStencilLayout* copy_src, PNextCopyState* copy_state = {}); + VkAttachmentDescriptionStencilLayout* ptr() { return reinterpret_cast<VkAttachmentDescriptionStencilLayout*>(this); } + VkAttachmentDescriptionStencilLayout const* ptr() const { + return reinterpret_cast<VkAttachmentDescriptionStencilLayout const*>(this); + } +}; struct safe_VkPhysicalDeviceVulkan13Features { VkStructureType sType; void* pNext{}; @@ -3517,47 +3513,6 @@ return reinterpret_cast<VkPhysicalDeviceVulkan13Properties const*>(this); } }; -struct safe_VkPipelineCreationFeedbackCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineCreationFeedback* pPipelineCreationFeedback{}; - uint32_t pipelineStageCreationFeedbackCount; - VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks{}; - - safe_VkPipelineCreationFeedbackCreateInfo(const VkPipelineCreationFeedbackCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineCreationFeedbackCreateInfo(const safe_VkPipelineCreationFeedbackCreateInfo& copy_src); - safe_VkPipelineCreationFeedbackCreateInfo& operator=(const safe_VkPipelineCreationFeedbackCreateInfo& copy_src); - safe_VkPipelineCreationFeedbackCreateInfo(); - ~safe_VkPipelineCreationFeedbackCreateInfo(); - void initialize(const VkPipelineCreationFeedbackCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineCreationFeedbackCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineCreationFeedbackCreateInfo* ptr() { return reinterpret_cast<VkPipelineCreationFeedbackCreateInfo*>(this); } - VkPipelineCreationFeedbackCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineCreationFeedbackCreateInfo const*>(this); - } -}; -struct safe_VkPhysicalDeviceShaderTerminateInvocationFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderTerminateInvocation; - - safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src); - safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& operator=( - const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src); - safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(); - ~safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(); - void initialize(const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderTerminateInvocationFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures*>(this); - } - VkPhysicalDeviceShaderTerminateInvocationFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures const*>(this); - } -}; struct safe_VkPhysicalDeviceToolProperties { VkStructureType sType; void* pNext{}; @@ -3578,29 +3533,6 @@ VkPhysicalDeviceToolProperties* ptr() { return reinterpret_cast<VkPhysicalDeviceToolProperties*>(this); } VkPhysicalDeviceToolProperties const* ptr() const { return reinterpret_cast<VkPhysicalDeviceToolProperties const*>(this); } }; -struct safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderDemoteToHelperInvocation; - - safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( - const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( - const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src); - safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& operator=( - const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src); - safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(); - ~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(); - void initialize(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(this); - } - VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures const*>(this); - } -}; struct safe_VkPhysicalDevicePrivateDataFeatures { VkStructureType sType; void* pNext{}; @@ -3651,28 +3583,6 @@ VkPrivateDataSlotCreateInfo* ptr() { return reinterpret_cast<VkPrivateDataSlotCreateInfo*>(this); } VkPrivateDataSlotCreateInfo const* ptr() const { return reinterpret_cast<VkPrivateDataSlotCreateInfo const*>(this); } }; -struct safe_VkPhysicalDevicePipelineCreationCacheControlFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 pipelineCreationCacheControl; - - safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePipelineCreationCacheControlFeatures( - const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src); - safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& operator=( - const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src); - safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(); - ~safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(); - void initialize(const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePipelineCreationCacheControlFeatures* ptr() { - return reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures*>(this); - } - VkPhysicalDevicePipelineCreationCacheControlFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures const*>(this); - } -}; struct safe_VkMemoryBarrier2 { VkStructureType sType; const void* pNext{}; @@ -3833,47 +3743,6 @@ return reinterpret_cast<VkPhysicalDeviceSynchronization2Features const*>(this); } }; -struct safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderZeroInitializeWorkgroupMemory; - - safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( - const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( - const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src); - safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& operator=( - const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src); - safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(); - ~safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(); - void initialize(const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(this); - } - VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceImageRobustnessFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 robustImageAccess; - - safe_VkPhysicalDeviceImageRobustnessFeatures(const VkPhysicalDeviceImageRobustnessFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceImageRobustnessFeatures(const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src); - safe_VkPhysicalDeviceImageRobustnessFeatures& operator=(const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src); - safe_VkPhysicalDeviceImageRobustnessFeatures(); - ~safe_VkPhysicalDeviceImageRobustnessFeatures(); - void initialize(const VkPhysicalDeviceImageRobustnessFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceImageRobustnessFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceImageRobustnessFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures*>(this); } - VkPhysicalDeviceImageRobustnessFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures const*>(this); - } -}; struct safe_VkBufferCopy2 { VkStructureType sType; const void* pNext{}; @@ -4008,83 +3877,239 @@ VkCopyImageToBufferInfo2* ptr() { return reinterpret_cast<VkCopyImageToBufferInfo2*>(this); } VkCopyImageToBufferInfo2 const* ptr() const { return reinterpret_cast<VkCopyImageToBufferInfo2 const*>(this); } }; -struct safe_VkImageBlit2 { +struct safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures { VkStructureType sType; - const void* pNext{}; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffsets[2]; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffsets[2]; + void* pNext{}; + VkBool32 textureCompressionASTC_HDR; - safe_VkImageBlit2(const VkImageBlit2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkImageBlit2(const safe_VkImageBlit2& copy_src); - safe_VkImageBlit2& operator=(const safe_VkImageBlit2& copy_src); - safe_VkImageBlit2(); - ~safe_VkImageBlit2(); - void initialize(const VkImageBlit2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkImageBlit2* copy_src, PNextCopyState* copy_state = {}); - VkImageBlit2* ptr() { return reinterpret_cast<VkImageBlit2*>(this); } - VkImageBlit2 const* ptr() const { return reinterpret_cast<VkImageBlit2 const*>(this); } + safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src); + safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& operator=( + const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src); + safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(); + ~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(); + void initialize(const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTextureCompressionASTCHDRFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(this); + } + VkPhysicalDeviceTextureCompressionASTCHDRFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures const*>(this); + } }; -struct safe_VkBlitImageInfo2 { +struct safe_VkFormatProperties3 { VkStructureType sType; - const void* pNext{}; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - uint32_t regionCount; - safe_VkImageBlit2* pRegions{}; - VkFilter filter; + void* pNext{}; + VkFormatFeatureFlags2 linearTilingFeatures; + VkFormatFeatureFlags2 optimalTilingFeatures; + VkFormatFeatureFlags2 bufferFeatures; - safe_VkBlitImageInfo2(const VkBlitImageInfo2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkBlitImageInfo2(const safe_VkBlitImageInfo2& copy_src); - safe_VkBlitImageInfo2& operator=(const safe_VkBlitImageInfo2& copy_src); - safe_VkBlitImageInfo2(); - ~safe_VkBlitImageInfo2(); - void initialize(const VkBlitImageInfo2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkBlitImageInfo2* copy_src, PNextCopyState* copy_state = {}); - VkBlitImageInfo2* ptr() { return reinterpret_cast<VkBlitImageInfo2*>(this); } - VkBlitImageInfo2 const* ptr() const { return reinterpret_cast<VkBlitImageInfo2 const*>(this); } + safe_VkFormatProperties3(const VkFormatProperties3* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkFormatProperties3(const safe_VkFormatProperties3& copy_src); + safe_VkFormatProperties3& operator=(const safe_VkFormatProperties3& copy_src); + safe_VkFormatProperties3(); + ~safe_VkFormatProperties3(); + void initialize(const VkFormatProperties3* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkFormatProperties3* copy_src, PNextCopyState* copy_state = {}); + VkFormatProperties3* ptr() { return reinterpret_cast<VkFormatProperties3*>(this); } + VkFormatProperties3 const* ptr() const { return reinterpret_cast<VkFormatProperties3 const*>(this); } }; -struct safe_VkImageResolve2 { +struct safe_VkPhysicalDeviceMaintenance4Features { VkStructureType sType; - const void* pNext{}; - VkImageSubresourceLayers srcSubresource; - VkOffset3D srcOffset; - VkImageSubresourceLayers dstSubresource; - VkOffset3D dstOffset; - VkExtent3D extent; + void* pNext{}; + VkBool32 maintenance4; - safe_VkImageResolve2(const VkImageResolve2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkImageResolve2(const safe_VkImageResolve2& copy_src); - safe_VkImageResolve2& operator=(const safe_VkImageResolve2& copy_src); - safe_VkImageResolve2(); - ~safe_VkImageResolve2(); - void initialize(const VkImageResolve2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkImageResolve2* copy_src, PNextCopyState* copy_state = {}); - VkImageResolve2* ptr() { return reinterpret_cast<VkImageResolve2*>(this); } - VkImageResolve2 const* ptr() const { return reinterpret_cast<VkImageResolve2 const*>(this); } + safe_VkPhysicalDeviceMaintenance4Features(const VkPhysicalDeviceMaintenance4Features* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance4Features(const safe_VkPhysicalDeviceMaintenance4Features& copy_src); + safe_VkPhysicalDeviceMaintenance4Features& operator=(const safe_VkPhysicalDeviceMaintenance4Features& copy_src); + safe_VkPhysicalDeviceMaintenance4Features(); + ~safe_VkPhysicalDeviceMaintenance4Features(); + void initialize(const VkPhysicalDeviceMaintenance4Features* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance4Features* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance4Features* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance4Features*>(this); } + VkPhysicalDeviceMaintenance4Features const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance4Features const*>(this); + } }; -struct safe_VkResolveImageInfo2 { +struct safe_VkPhysicalDeviceMaintenance4Properties { + VkStructureType sType; + void* pNext{}; + VkDeviceSize maxBufferSize; + + safe_VkPhysicalDeviceMaintenance4Properties(const VkPhysicalDeviceMaintenance4Properties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance4Properties(const safe_VkPhysicalDeviceMaintenance4Properties& copy_src); + safe_VkPhysicalDeviceMaintenance4Properties& operator=(const safe_VkPhysicalDeviceMaintenance4Properties& copy_src); + safe_VkPhysicalDeviceMaintenance4Properties(); + ~safe_VkPhysicalDeviceMaintenance4Properties(); + void initialize(const VkPhysicalDeviceMaintenance4Properties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance4Properties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance4Properties* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance4Properties*>(this); } + VkPhysicalDeviceMaintenance4Properties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance4Properties const*>(this); + } +}; +struct safe_VkDeviceBufferMemoryRequirements { VkStructureType sType; const void* pNext{}; - VkImage srcImage; - VkImageLayout srcImageLayout; - VkImage dstImage; - VkImageLayout dstImageLayout; - uint32_t regionCount; - safe_VkImageResolve2* pRegions{}; + safe_VkBufferCreateInfo* pCreateInfo{}; - safe_VkResolveImageInfo2(const VkResolveImageInfo2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkResolveImageInfo2(const safe_VkResolveImageInfo2& copy_src); - safe_VkResolveImageInfo2& operator=(const safe_VkResolveImageInfo2& copy_src); - safe_VkResolveImageInfo2(); - ~safe_VkResolveImageInfo2(); - void initialize(const VkResolveImageInfo2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkResolveImageInfo2* copy_src, PNextCopyState* copy_state = {}); - VkResolveImageInfo2* ptr() { return reinterpret_cast<VkResolveImageInfo2*>(this); } - VkResolveImageInfo2 const* ptr() const { return reinterpret_cast<VkResolveImageInfo2 const*>(this); } + safe_VkDeviceBufferMemoryRequirements(const VkDeviceBufferMemoryRequirements* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDeviceBufferMemoryRequirements(const safe_VkDeviceBufferMemoryRequirements& copy_src); + safe_VkDeviceBufferMemoryRequirements& operator=(const safe_VkDeviceBufferMemoryRequirements& copy_src); + safe_VkDeviceBufferMemoryRequirements(); + ~safe_VkDeviceBufferMemoryRequirements(); + void initialize(const VkDeviceBufferMemoryRequirements* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceBufferMemoryRequirements* copy_src, PNextCopyState* copy_state = {}); + VkDeviceBufferMemoryRequirements* ptr() { return reinterpret_cast<VkDeviceBufferMemoryRequirements*>(this); } + VkDeviceBufferMemoryRequirements const* ptr() const { return reinterpret_cast<VkDeviceBufferMemoryRequirements const*>(this); } +}; +struct safe_VkDeviceImageMemoryRequirements { + VkStructureType sType; + const void* pNext{}; + safe_VkImageCreateInfo* pCreateInfo{}; + VkImageAspectFlagBits planeAspect; + + safe_VkDeviceImageMemoryRequirements(const VkDeviceImageMemoryRequirements* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDeviceImageMemoryRequirements(const safe_VkDeviceImageMemoryRequirements& copy_src); + safe_VkDeviceImageMemoryRequirements& operator=(const safe_VkDeviceImageMemoryRequirements& copy_src); + safe_VkDeviceImageMemoryRequirements(); + ~safe_VkDeviceImageMemoryRequirements(); + void initialize(const VkDeviceImageMemoryRequirements* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceImageMemoryRequirements* copy_src, PNextCopyState* copy_state = {}); + VkDeviceImageMemoryRequirements* ptr() { return reinterpret_cast<VkDeviceImageMemoryRequirements*>(this); } + VkDeviceImageMemoryRequirements const* ptr() const { return reinterpret_cast<VkDeviceImageMemoryRequirements const*>(this); } +}; +struct safe_VkPipelineCreationFeedbackCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineCreationFeedback* pPipelineCreationFeedback{}; + uint32_t pipelineStageCreationFeedbackCount; + VkPipelineCreationFeedback* pPipelineStageCreationFeedbacks{}; + + safe_VkPipelineCreationFeedbackCreateInfo(const VkPipelineCreationFeedbackCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineCreationFeedbackCreateInfo(const safe_VkPipelineCreationFeedbackCreateInfo& copy_src); + safe_VkPipelineCreationFeedbackCreateInfo& operator=(const safe_VkPipelineCreationFeedbackCreateInfo& copy_src); + safe_VkPipelineCreationFeedbackCreateInfo(); + ~safe_VkPipelineCreationFeedbackCreateInfo(); + void initialize(const VkPipelineCreationFeedbackCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineCreationFeedbackCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineCreationFeedbackCreateInfo* ptr() { return reinterpret_cast<VkPipelineCreationFeedbackCreateInfo*>(this); } + VkPipelineCreationFeedbackCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineCreationFeedbackCreateInfo const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderTerminateInvocationFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderTerminateInvocation; + + safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src); + safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& operator=( + const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src); + safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(); + ~safe_VkPhysicalDeviceShaderTerminateInvocationFeatures(); + void initialize(const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderTerminateInvocationFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures*>(this); + } + VkPhysicalDeviceShaderTerminateInvocationFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderTerminateInvocationFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderDemoteToHelperInvocation; + + safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src); + safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& operator=( + const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src); + safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(); + ~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(); + void initialize(const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures*>(this); + } + VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures const*>(this); + } +}; +struct safe_VkPhysicalDevicePipelineCreationCacheControlFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 pipelineCreationCacheControl; + + safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePipelineCreationCacheControlFeatures( + const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src); + safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& operator=( + const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src); + safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(); + ~safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(); + void initialize(const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePipelineCreationCacheControlFeatures* ptr() { + return reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures*>(this); + } + VkPhysicalDevicePipelineCreationCacheControlFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePipelineCreationCacheControlFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderZeroInitializeWorkgroupMemory; + + safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src); + safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& operator=( + const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src); + safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(); + ~safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(); + void initialize(const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures*>(this); + } + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceImageRobustnessFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 robustImageAccess; + + safe_VkPhysicalDeviceImageRobustnessFeatures(const VkPhysicalDeviceImageRobustnessFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceImageRobustnessFeatures(const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src); + safe_VkPhysicalDeviceImageRobustnessFeatures& operator=(const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src); + safe_VkPhysicalDeviceImageRobustnessFeatures(); + ~safe_VkPhysicalDeviceImageRobustnessFeatures(); + void initialize(const VkPhysicalDeviceImageRobustnessFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceImageRobustnessFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceImageRobustnessFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures*>(this); } + VkPhysicalDeviceImageRobustnessFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceImageRobustnessFeatures const*>(this); + } }; struct safe_VkPhysicalDeviceSubgroupSizeControlFeatures { VkStructureType sType; @@ -4133,7 +4158,7 @@ }; struct safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo { VkStructureType sType; - void* pNext{}; + const void* pNext{}; uint32_t requiredSubgroupSize; safe_VkPipelineShaderStageRequiredSubgroupSizeCreateInfo(const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo* in_struct, @@ -4237,27 +4262,179 @@ return reinterpret_cast<VkDescriptorPoolInlineUniformBlockCreateInfo const*>(this); } }; -struct safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures { +struct safe_VkPhysicalDeviceShaderIntegerDotProductFeatures { VkStructureType sType; void* pNext{}; - VkBool32 textureCompressionASTC_HDR; + VkBool32 shaderIntegerDotProduct; - safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, + safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src); + safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& operator=( + const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src); + safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(); + ~safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(); + void initialize(const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderIntegerDotProductFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures*>(this); + } + VkPhysicalDeviceShaderIntegerDotProductFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderIntegerDotProductProperties { + VkStructureType sType; + void* pNext{}; + VkBool32 integerDotProduct8BitUnsignedAccelerated; + VkBool32 integerDotProduct8BitSignedAccelerated; + VkBool32 integerDotProduct8BitMixedSignednessAccelerated; + VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; + VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProduct16BitUnsignedAccelerated; + VkBool32 integerDotProduct16BitSignedAccelerated; + VkBool32 integerDotProduct16BitMixedSignednessAccelerated; + VkBool32 integerDotProduct32BitUnsignedAccelerated; + VkBool32 integerDotProduct32BitSignedAccelerated; + VkBool32 integerDotProduct32BitMixedSignednessAccelerated; + VkBool32 integerDotProduct64BitUnsignedAccelerated; + VkBool32 integerDotProduct64BitSignedAccelerated; + VkBool32 integerDotProduct64BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; + VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; + + safe_VkPhysicalDeviceShaderIntegerDotProductProperties(const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src); - safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& operator=( - const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src); - safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(); - ~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(); - void initialize(const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceTextureCompressionASTCHDRFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures*>(this); + safe_VkPhysicalDeviceShaderIntegerDotProductProperties(const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src); + safe_VkPhysicalDeviceShaderIntegerDotProductProperties& operator=( + const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src); + safe_VkPhysicalDeviceShaderIntegerDotProductProperties(); + ~safe_VkPhysicalDeviceShaderIntegerDotProductProperties(); + void initialize(const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderIntegerDotProductProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderIntegerDotProductProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties*>(this); } - VkPhysicalDeviceTextureCompressionASTCHDRFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceTextureCompressionASTCHDRFeatures const*>(this); + VkPhysicalDeviceShaderIntegerDotProductProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties const*>(this); } }; +struct safe_VkPhysicalDeviceTexelBufferAlignmentProperties { + VkStructureType sType; + void* pNext{}; + VkDeviceSize storageTexelBufferOffsetAlignmentBytes; + VkBool32 storageTexelBufferOffsetSingleTexelAlignment; + VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; + VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; + + safe_VkPhysicalDeviceTexelBufferAlignmentProperties(const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTexelBufferAlignmentProperties(const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src); + safe_VkPhysicalDeviceTexelBufferAlignmentProperties& operator=( + const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src); + safe_VkPhysicalDeviceTexelBufferAlignmentProperties(); + ~safe_VkPhysicalDeviceTexelBufferAlignmentProperties(); + void initialize(const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTexelBufferAlignmentProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties*>(this); + } + VkPhysicalDeviceTexelBufferAlignmentProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties const*>(this); + } +}; +struct safe_VkImageBlit2 { + VkStructureType sType; + const void* pNext{}; + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffsets[2]; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffsets[2]; + + safe_VkImageBlit2(const VkImageBlit2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkImageBlit2(const safe_VkImageBlit2& copy_src); + safe_VkImageBlit2& operator=(const safe_VkImageBlit2& copy_src); + safe_VkImageBlit2(); + ~safe_VkImageBlit2(); + void initialize(const VkImageBlit2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImageBlit2* copy_src, PNextCopyState* copy_state = {}); + VkImageBlit2* ptr() { return reinterpret_cast<VkImageBlit2*>(this); } + VkImageBlit2 const* ptr() const { return reinterpret_cast<VkImageBlit2 const*>(this); } +}; +struct safe_VkBlitImageInfo2 { + VkStructureType sType; + const void* pNext{}; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + safe_VkImageBlit2* pRegions{}; + VkFilter filter; + + safe_VkBlitImageInfo2(const VkBlitImageInfo2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBlitImageInfo2(const safe_VkBlitImageInfo2& copy_src); + safe_VkBlitImageInfo2& operator=(const safe_VkBlitImageInfo2& copy_src); + safe_VkBlitImageInfo2(); + ~safe_VkBlitImageInfo2(); + void initialize(const VkBlitImageInfo2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBlitImageInfo2* copy_src, PNextCopyState* copy_state = {}); + VkBlitImageInfo2* ptr() { return reinterpret_cast<VkBlitImageInfo2*>(this); } + VkBlitImageInfo2 const* ptr() const { return reinterpret_cast<VkBlitImageInfo2 const*>(this); } +}; +struct safe_VkImageResolve2 { + VkStructureType sType; + const void* pNext{}; + VkImageSubresourceLayers srcSubresource; + VkOffset3D srcOffset; + VkImageSubresourceLayers dstSubresource; + VkOffset3D dstOffset; + VkExtent3D extent; + + safe_VkImageResolve2(const VkImageResolve2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkImageResolve2(const safe_VkImageResolve2& copy_src); + safe_VkImageResolve2& operator=(const safe_VkImageResolve2& copy_src); + safe_VkImageResolve2(); + ~safe_VkImageResolve2(); + void initialize(const VkImageResolve2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImageResolve2* copy_src, PNextCopyState* copy_state = {}); + VkImageResolve2* ptr() { return reinterpret_cast<VkImageResolve2*>(this); } + VkImageResolve2 const* ptr() const { return reinterpret_cast<VkImageResolve2 const*>(this); } +}; +struct safe_VkResolveImageInfo2 { + VkStructureType sType; + const void* pNext{}; + VkImage srcImage; + VkImageLayout srcImageLayout; + VkImage dstImage; + VkImageLayout dstImageLayout; + uint32_t regionCount; + safe_VkImageResolve2* pRegions{}; + + safe_VkResolveImageInfo2(const VkResolveImageInfo2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkResolveImageInfo2(const safe_VkResolveImageInfo2& copy_src); + safe_VkResolveImageInfo2& operator=(const safe_VkResolveImageInfo2& copy_src); + safe_VkResolveImageInfo2(); + ~safe_VkResolveImageInfo2(); + void initialize(const VkResolveImageInfo2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkResolveImageInfo2* copy_src, PNextCopyState* copy_state = {}); + VkResolveImageInfo2* ptr() { return reinterpret_cast<VkResolveImageInfo2*>(this); } + VkResolveImageInfo2 const* ptr() const { return reinterpret_cast<VkResolveImageInfo2 const*>(this); } +}; struct safe_VkRenderingAttachmentInfo { VkStructureType sType; const void* pNext{}; @@ -4365,187 +4542,6 @@ return reinterpret_cast<VkCommandBufferInheritanceRenderingInfo const*>(this); } }; -struct safe_VkPhysicalDeviceShaderIntegerDotProductFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderIntegerDotProduct; - - safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src); - safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& operator=( - const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src); - safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(); - ~safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(); - void initialize(const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderIntegerDotProductFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures*>(this); - } - VkPhysicalDeviceShaderIntegerDotProductFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceShaderIntegerDotProductProperties { - VkStructureType sType; - void* pNext{}; - VkBool32 integerDotProduct8BitUnsignedAccelerated; - VkBool32 integerDotProduct8BitSignedAccelerated; - VkBool32 integerDotProduct8BitMixedSignednessAccelerated; - VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated; - VkBool32 integerDotProduct4x8BitPackedSignedAccelerated; - VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated; - VkBool32 integerDotProduct16BitUnsignedAccelerated; - VkBool32 integerDotProduct16BitSignedAccelerated; - VkBool32 integerDotProduct16BitMixedSignednessAccelerated; - VkBool32 integerDotProduct32BitUnsignedAccelerated; - VkBool32 integerDotProduct32BitSignedAccelerated; - VkBool32 integerDotProduct32BitMixedSignednessAccelerated; - VkBool32 integerDotProduct64BitUnsignedAccelerated; - VkBool32 integerDotProduct64BitSignedAccelerated; - VkBool32 integerDotProduct64BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated; - VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; - - safe_VkPhysicalDeviceShaderIntegerDotProductProperties(const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderIntegerDotProductProperties(const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src); - safe_VkPhysicalDeviceShaderIntegerDotProductProperties& operator=( - const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src); - safe_VkPhysicalDeviceShaderIntegerDotProductProperties(); - ~safe_VkPhysicalDeviceShaderIntegerDotProductProperties(); - void initialize(const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderIntegerDotProductProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderIntegerDotProductProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties*>(this); - } - VkPhysicalDeviceShaderIntegerDotProductProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderIntegerDotProductProperties const*>(this); - } -}; -struct safe_VkPhysicalDeviceTexelBufferAlignmentProperties { - VkStructureType sType; - void* pNext{}; - VkDeviceSize storageTexelBufferOffsetAlignmentBytes; - VkBool32 storageTexelBufferOffsetSingleTexelAlignment; - VkDeviceSize uniformTexelBufferOffsetAlignmentBytes; - VkBool32 uniformTexelBufferOffsetSingleTexelAlignment; - - safe_VkPhysicalDeviceTexelBufferAlignmentProperties(const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceTexelBufferAlignmentProperties(const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src); - safe_VkPhysicalDeviceTexelBufferAlignmentProperties& operator=( - const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src); - safe_VkPhysicalDeviceTexelBufferAlignmentProperties(); - ~safe_VkPhysicalDeviceTexelBufferAlignmentProperties(); - void initialize(const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceTexelBufferAlignmentProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceTexelBufferAlignmentProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties*>(this); - } - VkPhysicalDeviceTexelBufferAlignmentProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceTexelBufferAlignmentProperties const*>(this); - } -}; -struct safe_VkFormatProperties3 { - VkStructureType sType; - void* pNext{}; - VkFormatFeatureFlags2 linearTilingFeatures; - VkFormatFeatureFlags2 optimalTilingFeatures; - VkFormatFeatureFlags2 bufferFeatures; - - safe_VkFormatProperties3(const VkFormatProperties3* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkFormatProperties3(const safe_VkFormatProperties3& copy_src); - safe_VkFormatProperties3& operator=(const safe_VkFormatProperties3& copy_src); - safe_VkFormatProperties3(); - ~safe_VkFormatProperties3(); - void initialize(const VkFormatProperties3* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkFormatProperties3* copy_src, PNextCopyState* copy_state = {}); - VkFormatProperties3* ptr() { return reinterpret_cast<VkFormatProperties3*>(this); } - VkFormatProperties3 const* ptr() const { return reinterpret_cast<VkFormatProperties3 const*>(this); } -}; -struct safe_VkPhysicalDeviceMaintenance4Features { - VkStructureType sType; - void* pNext{}; - VkBool32 maintenance4; - - safe_VkPhysicalDeviceMaintenance4Features(const VkPhysicalDeviceMaintenance4Features* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceMaintenance4Features(const safe_VkPhysicalDeviceMaintenance4Features& copy_src); - safe_VkPhysicalDeviceMaintenance4Features& operator=(const safe_VkPhysicalDeviceMaintenance4Features& copy_src); - safe_VkPhysicalDeviceMaintenance4Features(); - ~safe_VkPhysicalDeviceMaintenance4Features(); - void initialize(const VkPhysicalDeviceMaintenance4Features* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceMaintenance4Features* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceMaintenance4Features* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance4Features*>(this); } - VkPhysicalDeviceMaintenance4Features const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceMaintenance4Features const*>(this); - } -}; -struct safe_VkPhysicalDeviceMaintenance4Properties { - VkStructureType sType; - void* pNext{}; - VkDeviceSize maxBufferSize; - - safe_VkPhysicalDeviceMaintenance4Properties(const VkPhysicalDeviceMaintenance4Properties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceMaintenance4Properties(const safe_VkPhysicalDeviceMaintenance4Properties& copy_src); - safe_VkPhysicalDeviceMaintenance4Properties& operator=(const safe_VkPhysicalDeviceMaintenance4Properties& copy_src); - safe_VkPhysicalDeviceMaintenance4Properties(); - ~safe_VkPhysicalDeviceMaintenance4Properties(); - void initialize(const VkPhysicalDeviceMaintenance4Properties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceMaintenance4Properties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceMaintenance4Properties* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance4Properties*>(this); } - VkPhysicalDeviceMaintenance4Properties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceMaintenance4Properties const*>(this); - } -}; -struct safe_VkDeviceBufferMemoryRequirements { - VkStructureType sType; - const void* pNext{}; - safe_VkBufferCreateInfo* pCreateInfo{}; - - safe_VkDeviceBufferMemoryRequirements(const VkDeviceBufferMemoryRequirements* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkDeviceBufferMemoryRequirements(const safe_VkDeviceBufferMemoryRequirements& copy_src); - safe_VkDeviceBufferMemoryRequirements& operator=(const safe_VkDeviceBufferMemoryRequirements& copy_src); - safe_VkDeviceBufferMemoryRequirements(); - ~safe_VkDeviceBufferMemoryRequirements(); - void initialize(const VkDeviceBufferMemoryRequirements* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDeviceBufferMemoryRequirements* copy_src, PNextCopyState* copy_state = {}); - VkDeviceBufferMemoryRequirements* ptr() { return reinterpret_cast<VkDeviceBufferMemoryRequirements*>(this); } - VkDeviceBufferMemoryRequirements const* ptr() const { return reinterpret_cast<VkDeviceBufferMemoryRequirements const*>(this); } -}; -struct safe_VkDeviceImageMemoryRequirements { - VkStructureType sType; - const void* pNext{}; - safe_VkImageCreateInfo* pCreateInfo{}; - VkImageAspectFlagBits planeAspect; - - safe_VkDeviceImageMemoryRequirements(const VkDeviceImageMemoryRequirements* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkDeviceImageMemoryRequirements(const safe_VkDeviceImageMemoryRequirements& copy_src); - safe_VkDeviceImageMemoryRequirements& operator=(const safe_VkDeviceImageMemoryRequirements& copy_src); - safe_VkDeviceImageMemoryRequirements(); - ~safe_VkDeviceImageMemoryRequirements(); - void initialize(const VkDeviceImageMemoryRequirements* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkDeviceImageMemoryRequirements* copy_src, PNextCopyState* copy_state = {}); - VkDeviceImageMemoryRequirements* ptr() { return reinterpret_cast<VkDeviceImageMemoryRequirements*>(this); } - VkDeviceImageMemoryRequirements const* ptr() const { return reinterpret_cast<VkDeviceImageMemoryRequirements const*>(this); } -}; struct safe_VkPhysicalDeviceVulkan14Features { VkStructureType sType; void* pNext{}; @@ -4681,198 +4677,6 @@ return reinterpret_cast<VkQueueFamilyGlobalPriorityProperties const*>(this); } }; -struct safe_VkPhysicalDeviceShaderSubgroupRotateFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderSubgroupRotate; - VkBool32 shaderSubgroupRotateClustered; - - safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src); - safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& operator=(const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src); - safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(); - ~safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(); - void initialize(const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderSubgroupRotateFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderSubgroupRotateFeatures*>(this); - } - VkPhysicalDeviceShaderSubgroupRotateFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderSubgroupRotateFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceShaderFloatControls2Features { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderFloatControls2; - - safe_VkPhysicalDeviceShaderFloatControls2Features(const VkPhysicalDeviceShaderFloatControls2Features* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderFloatControls2Features(const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src); - safe_VkPhysicalDeviceShaderFloatControls2Features& operator=(const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src); - safe_VkPhysicalDeviceShaderFloatControls2Features(); - ~safe_VkPhysicalDeviceShaderFloatControls2Features(); - void initialize(const VkPhysicalDeviceShaderFloatControls2Features* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderFloatControls2Features* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderFloatControls2Features* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderFloatControls2Features*>(this); - } - VkPhysicalDeviceShaderFloatControls2Features const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderFloatControls2Features const*>(this); - } -}; -struct safe_VkPhysicalDeviceShaderExpectAssumeFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 shaderExpectAssume; - - safe_VkPhysicalDeviceShaderExpectAssumeFeatures(const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceShaderExpectAssumeFeatures(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src); - safe_VkPhysicalDeviceShaderExpectAssumeFeatures& operator=(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src); - safe_VkPhysicalDeviceShaderExpectAssumeFeatures(); - ~safe_VkPhysicalDeviceShaderExpectAssumeFeatures(); - void initialize(const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceShaderExpectAssumeFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceShaderExpectAssumeFeatures*>(this); - } - VkPhysicalDeviceShaderExpectAssumeFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceShaderExpectAssumeFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceLineRasterizationFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 rectangularLines; - VkBool32 bresenhamLines; - VkBool32 smoothLines; - VkBool32 stippledRectangularLines; - VkBool32 stippledBresenhamLines; - VkBool32 stippledSmoothLines; - - safe_VkPhysicalDeviceLineRasterizationFeatures(const VkPhysicalDeviceLineRasterizationFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceLineRasterizationFeatures(const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src); - safe_VkPhysicalDeviceLineRasterizationFeatures& operator=(const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src); - safe_VkPhysicalDeviceLineRasterizationFeatures(); - ~safe_VkPhysicalDeviceLineRasterizationFeatures(); - void initialize(const VkPhysicalDeviceLineRasterizationFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceLineRasterizationFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceLineRasterizationFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceLineRasterizationFeatures*>(this); } - VkPhysicalDeviceLineRasterizationFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceLineRasterizationFeatures const*>(this); - } -}; -struct safe_VkPhysicalDeviceLineRasterizationProperties { - VkStructureType sType; - void* pNext{}; - uint32_t lineSubPixelPrecisionBits; - - safe_VkPhysicalDeviceLineRasterizationProperties(const VkPhysicalDeviceLineRasterizationProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceLineRasterizationProperties(const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src); - safe_VkPhysicalDeviceLineRasterizationProperties& operator=(const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src); - safe_VkPhysicalDeviceLineRasterizationProperties(); - ~safe_VkPhysicalDeviceLineRasterizationProperties(); - void initialize(const VkPhysicalDeviceLineRasterizationProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceLineRasterizationProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceLineRasterizationProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceLineRasterizationProperties*>(this); - } - VkPhysicalDeviceLineRasterizationProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceLineRasterizationProperties const*>(this); - } -}; -struct safe_VkPipelineRasterizationLineStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkLineRasterizationMode lineRasterizationMode; - VkBool32 stippledLineEnable; - uint32_t lineStippleFactor; - uint16_t lineStipplePattern; - - safe_VkPipelineRasterizationLineStateCreateInfo(const VkPipelineRasterizationLineStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineRasterizationLineStateCreateInfo(const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src); - safe_VkPipelineRasterizationLineStateCreateInfo& operator=(const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src); - safe_VkPipelineRasterizationLineStateCreateInfo(); - ~safe_VkPipelineRasterizationLineStateCreateInfo(); - void initialize(const VkPipelineRasterizationLineStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineRasterizationLineStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineRasterizationLineStateCreateInfo* ptr() { - return reinterpret_cast<VkPipelineRasterizationLineStateCreateInfo*>(this); - } - VkPipelineRasterizationLineStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineRasterizationLineStateCreateInfo const*>(this); - } -}; -struct safe_VkPhysicalDeviceVertexAttributeDivisorProperties { - VkStructureType sType; - void* pNext{}; - uint32_t maxVertexAttribDivisor; - VkBool32 supportsNonZeroFirstInstance; - - safe_VkPhysicalDeviceVertexAttributeDivisorProperties(const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceVertexAttributeDivisorProperties(const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src); - safe_VkPhysicalDeviceVertexAttributeDivisorProperties& operator=( - const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src); - safe_VkPhysicalDeviceVertexAttributeDivisorProperties(); - ~safe_VkPhysicalDeviceVertexAttributeDivisorProperties(); - void initialize(const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceVertexAttributeDivisorProperties* ptr() { - return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorProperties*>(this); - } - VkPhysicalDeviceVertexAttributeDivisorProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorProperties const*>(this); - } -}; -struct safe_VkPipelineVertexInputDivisorStateCreateInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t vertexBindingDivisorCount; - const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors{}; - - safe_VkPipelineVertexInputDivisorStateCreateInfo(const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPipelineVertexInputDivisorStateCreateInfo(const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src); - safe_VkPipelineVertexInputDivisorStateCreateInfo& operator=(const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src); - safe_VkPipelineVertexInputDivisorStateCreateInfo(); - ~safe_VkPipelineVertexInputDivisorStateCreateInfo(); - void initialize(const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineVertexInputDivisorStateCreateInfo* ptr() { - return reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfo*>(this); - } - VkPipelineVertexInputDivisorStateCreateInfo const* ptr() const { - return reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfo const*>(this); - } -}; -struct safe_VkPhysicalDeviceVertexAttributeDivisorFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 vertexAttributeInstanceRateDivisor; - VkBool32 vertexAttributeInstanceRateZeroDivisor; - - safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src); - safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& operator=( - const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src); - safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(); - ~safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(); - void initialize(const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceVertexAttributeDivisorFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeatures*>(this); - } - VkPhysicalDeviceVertexAttributeDivisorFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeatures const*>(this); - } -}; struct safe_VkPhysicalDeviceIndexTypeUint8Features { VkStructureType sType; void* pNext{}; @@ -4966,24 +4770,20 @@ return reinterpret_cast<VkPhysicalDeviceMaintenance5Properties const*>(this); } }; -struct safe_VkRenderingAreaInfo { +struct safe_VkSubresourceLayout2 { VkStructureType sType; - const void* pNext{}; - uint32_t viewMask; - uint32_t colorAttachmentCount; - const VkFormat* pColorAttachmentFormats{}; - VkFormat depthAttachmentFormat; - VkFormat stencilAttachmentFormat; + void* pNext{}; + VkSubresourceLayout subresourceLayout; - safe_VkRenderingAreaInfo(const VkRenderingAreaInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkRenderingAreaInfo(const safe_VkRenderingAreaInfo& copy_src); - safe_VkRenderingAreaInfo& operator=(const safe_VkRenderingAreaInfo& copy_src); - safe_VkRenderingAreaInfo(); - ~safe_VkRenderingAreaInfo(); - void initialize(const VkRenderingAreaInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderingAreaInfo* copy_src, PNextCopyState* copy_state = {}); - VkRenderingAreaInfo* ptr() { return reinterpret_cast<VkRenderingAreaInfo*>(this); } - VkRenderingAreaInfo const* ptr() const { return reinterpret_cast<VkRenderingAreaInfo const*>(this); } + safe_VkSubresourceLayout2(const VkSubresourceLayout2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubresourceLayout2(const safe_VkSubresourceLayout2& copy_src); + safe_VkSubresourceLayout2& operator=(const safe_VkSubresourceLayout2& copy_src); + safe_VkSubresourceLayout2(); + ~safe_VkSubresourceLayout2(); + void initialize(const VkSubresourceLayout2* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubresourceLayout2* copy_src, PNextCopyState* copy_state = {}); + VkSubresourceLayout2* ptr() { return reinterpret_cast<VkSubresourceLayout2*>(this); } + VkSubresourceLayout2 const* ptr() const { return reinterpret_cast<VkSubresourceLayout2 const*>(this); } }; struct safe_VkImageSubresource2 { VkStructureType sType; @@ -5017,37 +4817,6 @@ VkDeviceImageSubresourceInfo* ptr() { return reinterpret_cast<VkDeviceImageSubresourceInfo*>(this); } VkDeviceImageSubresourceInfo const* ptr() const { return reinterpret_cast<VkDeviceImageSubresourceInfo const*>(this); } }; -struct safe_VkSubresourceLayout2 { - VkStructureType sType; - void* pNext{}; - VkSubresourceLayout subresourceLayout; - - safe_VkSubresourceLayout2(const VkSubresourceLayout2* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubresourceLayout2(const safe_VkSubresourceLayout2& copy_src); - safe_VkSubresourceLayout2& operator=(const safe_VkSubresourceLayout2& copy_src); - safe_VkSubresourceLayout2(); - ~safe_VkSubresourceLayout2(); - void initialize(const VkSubresourceLayout2* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubresourceLayout2* copy_src, PNextCopyState* copy_state = {}); - VkSubresourceLayout2* ptr() { return reinterpret_cast<VkSubresourceLayout2*>(this); } - VkSubresourceLayout2 const* ptr() const { return reinterpret_cast<VkSubresourceLayout2 const*>(this); } -}; -struct safe_VkPipelineCreateFlags2CreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineCreateFlags2 flags; - - safe_VkPipelineCreateFlags2CreateInfo(const VkPipelineCreateFlags2CreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPipelineCreateFlags2CreateInfo(const safe_VkPipelineCreateFlags2CreateInfo& copy_src); - safe_VkPipelineCreateFlags2CreateInfo& operator=(const safe_VkPipelineCreateFlags2CreateInfo& copy_src); - safe_VkPipelineCreateFlags2CreateInfo(); - ~safe_VkPipelineCreateFlags2CreateInfo(); - void initialize(const VkPipelineCreateFlags2CreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineCreateFlags2CreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineCreateFlags2CreateInfo* ptr() { return reinterpret_cast<VkPipelineCreateFlags2CreateInfo*>(this); } - VkPipelineCreateFlags2CreateInfo const* ptr() const { return reinterpret_cast<VkPipelineCreateFlags2CreateInfo const*>(this); } -}; struct safe_VkBufferUsageFlags2CreateInfo { VkStructureType sType; const void* pNext{}; @@ -5064,85 +4833,6 @@ VkBufferUsageFlags2CreateInfo* ptr() { return reinterpret_cast<VkBufferUsageFlags2CreateInfo*>(this); } VkBufferUsageFlags2CreateInfo const* ptr() const { return reinterpret_cast<VkBufferUsageFlags2CreateInfo const*>(this); } }; -struct safe_VkPhysicalDevicePushDescriptorProperties { - VkStructureType sType; - void* pNext{}; - uint32_t maxPushDescriptors; - - safe_VkPhysicalDevicePushDescriptorProperties(const VkPhysicalDevicePushDescriptorProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePushDescriptorProperties(const safe_VkPhysicalDevicePushDescriptorProperties& copy_src); - safe_VkPhysicalDevicePushDescriptorProperties& operator=(const safe_VkPhysicalDevicePushDescriptorProperties& copy_src); - safe_VkPhysicalDevicePushDescriptorProperties(); - ~safe_VkPhysicalDevicePushDescriptorProperties(); - void initialize(const VkPhysicalDevicePushDescriptorProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePushDescriptorProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePushDescriptorProperties* ptr() { return reinterpret_cast<VkPhysicalDevicePushDescriptorProperties*>(this); } - VkPhysicalDevicePushDescriptorProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePushDescriptorProperties const*>(this); - } -}; -struct safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 dynamicRenderingLocalRead; - - safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src); - safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& operator=( - const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src); - safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(); - ~safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(); - void initialize(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDynamicRenderingLocalReadFeatures* ptr() { - return reinterpret_cast<VkPhysicalDeviceDynamicRenderingLocalReadFeatures*>(this); - } - VkPhysicalDeviceDynamicRenderingLocalReadFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceDynamicRenderingLocalReadFeatures const*>(this); - } -}; -struct safe_VkRenderingAttachmentLocationInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t colorAttachmentCount; - const uint32_t* pColorAttachmentLocations{}; - - safe_VkRenderingAttachmentLocationInfo(const VkRenderingAttachmentLocationInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkRenderingAttachmentLocationInfo(const safe_VkRenderingAttachmentLocationInfo& copy_src); - safe_VkRenderingAttachmentLocationInfo& operator=(const safe_VkRenderingAttachmentLocationInfo& copy_src); - safe_VkRenderingAttachmentLocationInfo(); - ~safe_VkRenderingAttachmentLocationInfo(); - void initialize(const VkRenderingAttachmentLocationInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderingAttachmentLocationInfo* copy_src, PNextCopyState* copy_state = {}); - VkRenderingAttachmentLocationInfo* ptr() { return reinterpret_cast<VkRenderingAttachmentLocationInfo*>(this); } - VkRenderingAttachmentLocationInfo const* ptr() const { - return reinterpret_cast<VkRenderingAttachmentLocationInfo const*>(this); - } -}; -struct safe_VkRenderingInputAttachmentIndexInfo { - VkStructureType sType; - const void* pNext{}; - uint32_t colorAttachmentCount; - const uint32_t* pColorAttachmentInputIndices{}; - const uint32_t* pDepthInputAttachmentIndex{}; - const uint32_t* pStencilInputAttachmentIndex{}; - - safe_VkRenderingInputAttachmentIndexInfo(const VkRenderingInputAttachmentIndexInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkRenderingInputAttachmentIndexInfo(const safe_VkRenderingInputAttachmentIndexInfo& copy_src); - safe_VkRenderingInputAttachmentIndexInfo& operator=(const safe_VkRenderingInputAttachmentIndexInfo& copy_src); - safe_VkRenderingInputAttachmentIndexInfo(); - ~safe_VkRenderingInputAttachmentIndexInfo(); - void initialize(const VkRenderingInputAttachmentIndexInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkRenderingInputAttachmentIndexInfo* copy_src, PNextCopyState* copy_state = {}); - VkRenderingInputAttachmentIndexInfo* ptr() { return reinterpret_cast<VkRenderingInputAttachmentIndexInfo*>(this); } - VkRenderingInputAttachmentIndexInfo const* ptr() const { - return reinterpret_cast<VkRenderingInputAttachmentIndexInfo const*>(this); - } -}; struct safe_VkPhysicalDeviceMaintenance6Features { VkStructureType sType; void* pNext{}; @@ -5196,170 +4886,6 @@ VkBindMemoryStatus* ptr() { return reinterpret_cast<VkBindMemoryStatus*>(this); } VkBindMemoryStatus const* ptr() const { return reinterpret_cast<VkBindMemoryStatus const*>(this); } }; -struct safe_VkBindDescriptorSetsInfo { - VkStructureType sType; - const void* pNext{}; - VkShaderStageFlags stageFlags; - VkPipelineLayout layout; - uint32_t firstSet; - uint32_t descriptorSetCount; - VkDescriptorSet* pDescriptorSets{}; - uint32_t dynamicOffsetCount; - const uint32_t* pDynamicOffsets{}; - - safe_VkBindDescriptorSetsInfo(const VkBindDescriptorSetsInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkBindDescriptorSetsInfo(const safe_VkBindDescriptorSetsInfo& copy_src); - safe_VkBindDescriptorSetsInfo& operator=(const safe_VkBindDescriptorSetsInfo& copy_src); - safe_VkBindDescriptorSetsInfo(); - ~safe_VkBindDescriptorSetsInfo(); - void initialize(const VkBindDescriptorSetsInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkBindDescriptorSetsInfo* copy_src, PNextCopyState* copy_state = {}); - VkBindDescriptorSetsInfo* ptr() { return reinterpret_cast<VkBindDescriptorSetsInfo*>(this); } - VkBindDescriptorSetsInfo const* ptr() const { return reinterpret_cast<VkBindDescriptorSetsInfo const*>(this); } -}; -struct safe_VkPushConstantsInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineLayout layout; - VkShaderStageFlags stageFlags; - uint32_t offset; - uint32_t size; - const void* pValues{}; - - safe_VkPushConstantsInfo(const VkPushConstantsInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPushConstantsInfo(const safe_VkPushConstantsInfo& copy_src); - safe_VkPushConstantsInfo& operator=(const safe_VkPushConstantsInfo& copy_src); - safe_VkPushConstantsInfo(); - ~safe_VkPushConstantsInfo(); - void initialize(const VkPushConstantsInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPushConstantsInfo* copy_src, PNextCopyState* copy_state = {}); - VkPushConstantsInfo* ptr() { return reinterpret_cast<VkPushConstantsInfo*>(this); } - VkPushConstantsInfo const* ptr() const { return reinterpret_cast<VkPushConstantsInfo const*>(this); } -}; -struct safe_VkPushDescriptorSetInfo { - VkStructureType sType; - const void* pNext{}; - VkShaderStageFlags stageFlags; - VkPipelineLayout layout; - uint32_t set; - uint32_t descriptorWriteCount; - safe_VkWriteDescriptorSet* pDescriptorWrites{}; - - safe_VkPushDescriptorSetInfo(const VkPushDescriptorSetInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPushDescriptorSetInfo(const safe_VkPushDescriptorSetInfo& copy_src); - safe_VkPushDescriptorSetInfo& operator=(const safe_VkPushDescriptorSetInfo& copy_src); - safe_VkPushDescriptorSetInfo(); - ~safe_VkPushDescriptorSetInfo(); - void initialize(const VkPushDescriptorSetInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPushDescriptorSetInfo* copy_src, PNextCopyState* copy_state = {}); - VkPushDescriptorSetInfo* ptr() { return reinterpret_cast<VkPushDescriptorSetInfo*>(this); } - VkPushDescriptorSetInfo const* ptr() const { return reinterpret_cast<VkPushDescriptorSetInfo const*>(this); } -}; -struct safe_VkPushDescriptorSetWithTemplateInfo { - VkStructureType sType; - const void* pNext{}; - VkDescriptorUpdateTemplate descriptorUpdateTemplate; - VkPipelineLayout layout; - uint32_t set; - const void* pData{}; - - safe_VkPushDescriptorSetWithTemplateInfo(const VkPushDescriptorSetWithTemplateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPushDescriptorSetWithTemplateInfo(const safe_VkPushDescriptorSetWithTemplateInfo& copy_src); - safe_VkPushDescriptorSetWithTemplateInfo& operator=(const safe_VkPushDescriptorSetWithTemplateInfo& copy_src); - safe_VkPushDescriptorSetWithTemplateInfo(); - ~safe_VkPushDescriptorSetWithTemplateInfo(); - void initialize(const VkPushDescriptorSetWithTemplateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPushDescriptorSetWithTemplateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPushDescriptorSetWithTemplateInfo* ptr() { return reinterpret_cast<VkPushDescriptorSetWithTemplateInfo*>(this); } - VkPushDescriptorSetWithTemplateInfo const* ptr() const { - return reinterpret_cast<VkPushDescriptorSetWithTemplateInfo const*>(this); - } -}; -struct safe_VkPhysicalDevicePipelineProtectedAccessFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 pipelineProtectedAccess; - - safe_VkPhysicalDevicePipelineProtectedAccessFeatures(const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePipelineProtectedAccessFeatures(const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src); - safe_VkPhysicalDevicePipelineProtectedAccessFeatures& operator=( - const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src); - safe_VkPhysicalDevicePipelineProtectedAccessFeatures(); - ~safe_VkPhysicalDevicePipelineProtectedAccessFeatures(); - void initialize(const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePipelineProtectedAccessFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePipelineProtectedAccessFeatures* ptr() { - return reinterpret_cast<VkPhysicalDevicePipelineProtectedAccessFeatures*>(this); - } - VkPhysicalDevicePipelineProtectedAccessFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePipelineProtectedAccessFeatures const*>(this); - } -}; -struct safe_VkPhysicalDevicePipelineRobustnessFeatures { - VkStructureType sType; - void* pNext{}; - VkBool32 pipelineRobustness; - - safe_VkPhysicalDevicePipelineRobustnessFeatures(const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePipelineRobustnessFeatures(const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src); - safe_VkPhysicalDevicePipelineRobustnessFeatures& operator=(const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src); - safe_VkPhysicalDevicePipelineRobustnessFeatures(); - ~safe_VkPhysicalDevicePipelineRobustnessFeatures(); - void initialize(const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePipelineRobustnessFeatures* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePipelineRobustnessFeatures* ptr() { - return reinterpret_cast<VkPhysicalDevicePipelineRobustnessFeatures*>(this); - } - VkPhysicalDevicePipelineRobustnessFeatures const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePipelineRobustnessFeatures const*>(this); - } -}; -struct safe_VkPhysicalDevicePipelineRobustnessProperties { - VkStructureType sType; - void* pNext{}; - VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; - VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; - VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; - VkPipelineRobustnessImageBehavior defaultRobustnessImages; - - safe_VkPhysicalDevicePipelineRobustnessProperties(const VkPhysicalDevicePipelineRobustnessProperties* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDevicePipelineRobustnessProperties(const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src); - safe_VkPhysicalDevicePipelineRobustnessProperties& operator=(const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src); - safe_VkPhysicalDevicePipelineRobustnessProperties(); - ~safe_VkPhysicalDevicePipelineRobustnessProperties(); - void initialize(const VkPhysicalDevicePipelineRobustnessProperties* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePipelineRobustnessProperties* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePipelineRobustnessProperties* ptr() { - return reinterpret_cast<VkPhysicalDevicePipelineRobustnessProperties*>(this); - } - VkPhysicalDevicePipelineRobustnessProperties const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePipelineRobustnessProperties const*>(this); - } -}; -struct safe_VkPipelineRobustnessCreateInfo { - VkStructureType sType; - const void* pNext{}; - VkPipelineRobustnessBufferBehavior storageBuffers; - VkPipelineRobustnessBufferBehavior uniformBuffers; - VkPipelineRobustnessBufferBehavior vertexInputs; - VkPipelineRobustnessImageBehavior images; - - safe_VkPipelineRobustnessCreateInfo(const VkPipelineRobustnessCreateInfo* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPipelineRobustnessCreateInfo(const safe_VkPipelineRobustnessCreateInfo& copy_src); - safe_VkPipelineRobustnessCreateInfo& operator=(const safe_VkPipelineRobustnessCreateInfo& copy_src); - safe_VkPipelineRobustnessCreateInfo(); - ~safe_VkPipelineRobustnessCreateInfo(); - void initialize(const VkPipelineRobustnessCreateInfo* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPipelineRobustnessCreateInfo* copy_src, PNextCopyState* copy_state = {}); - VkPipelineRobustnessCreateInfo* ptr() { return reinterpret_cast<VkPipelineRobustnessCreateInfo*>(this); } - VkPipelineRobustnessCreateInfo const* ptr() const { return reinterpret_cast<VkPipelineRobustnessCreateInfo const*>(this); } -}; struct safe_VkPhysicalDeviceHostImageCopyFeatures { VkStructureType sType; void* pNext{}; @@ -5554,6 +5080,476 @@ return reinterpret_cast<VkHostImageCopyDevicePerformanceQuery const*>(this); } }; +struct safe_VkPhysicalDeviceShaderSubgroupRotateFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderSubgroupRotate; + VkBool32 shaderSubgroupRotateClustered; + + safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src); + safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& operator=(const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src); + safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(); + ~safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(); + void initialize(const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderSubgroupRotateFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderSubgroupRotateFeatures*>(this); + } + VkPhysicalDeviceShaderSubgroupRotateFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderSubgroupRotateFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderFloatControls2Features { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderFloatControls2; + + safe_VkPhysicalDeviceShaderFloatControls2Features(const VkPhysicalDeviceShaderFloatControls2Features* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderFloatControls2Features(const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src); + safe_VkPhysicalDeviceShaderFloatControls2Features& operator=(const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src); + safe_VkPhysicalDeviceShaderFloatControls2Features(); + ~safe_VkPhysicalDeviceShaderFloatControls2Features(); + void initialize(const VkPhysicalDeviceShaderFloatControls2Features* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderFloatControls2Features* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderFloatControls2Features* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderFloatControls2Features*>(this); + } + VkPhysicalDeviceShaderFloatControls2Features const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderFloatControls2Features const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderExpectAssumeFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderExpectAssume; + + safe_VkPhysicalDeviceShaderExpectAssumeFeatures(const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderExpectAssumeFeatures(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src); + safe_VkPhysicalDeviceShaderExpectAssumeFeatures& operator=(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src); + safe_VkPhysicalDeviceShaderExpectAssumeFeatures(); + ~safe_VkPhysicalDeviceShaderExpectAssumeFeatures(); + void initialize(const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderExpectAssumeFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderExpectAssumeFeatures*>(this); + } + VkPhysicalDeviceShaderExpectAssumeFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderExpectAssumeFeatures const*>(this); + } +}; +struct safe_VkPipelineCreateFlags2CreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineCreateFlags2 flags; + + safe_VkPipelineCreateFlags2CreateInfo(const VkPipelineCreateFlags2CreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPipelineCreateFlags2CreateInfo(const safe_VkPipelineCreateFlags2CreateInfo& copy_src); + safe_VkPipelineCreateFlags2CreateInfo& operator=(const safe_VkPipelineCreateFlags2CreateInfo& copy_src); + safe_VkPipelineCreateFlags2CreateInfo(); + ~safe_VkPipelineCreateFlags2CreateInfo(); + void initialize(const VkPipelineCreateFlags2CreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineCreateFlags2CreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineCreateFlags2CreateInfo* ptr() { return reinterpret_cast<VkPipelineCreateFlags2CreateInfo*>(this); } + VkPipelineCreateFlags2CreateInfo const* ptr() const { return reinterpret_cast<VkPipelineCreateFlags2CreateInfo const*>(this); } +}; +struct safe_VkPhysicalDevicePushDescriptorProperties { + VkStructureType sType; + void* pNext{}; + uint32_t maxPushDescriptors; + + safe_VkPhysicalDevicePushDescriptorProperties(const VkPhysicalDevicePushDescriptorProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePushDescriptorProperties(const safe_VkPhysicalDevicePushDescriptorProperties& copy_src); + safe_VkPhysicalDevicePushDescriptorProperties& operator=(const safe_VkPhysicalDevicePushDescriptorProperties& copy_src); + safe_VkPhysicalDevicePushDescriptorProperties(); + ~safe_VkPhysicalDevicePushDescriptorProperties(); + void initialize(const VkPhysicalDevicePushDescriptorProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePushDescriptorProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePushDescriptorProperties* ptr() { return reinterpret_cast<VkPhysicalDevicePushDescriptorProperties*>(this); } + VkPhysicalDevicePushDescriptorProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePushDescriptorProperties const*>(this); + } +}; +struct safe_VkBindDescriptorSetsInfo { + VkStructureType sType; + const void* pNext{}; + VkShaderStageFlags stageFlags; + VkPipelineLayout layout; + uint32_t firstSet; + uint32_t descriptorSetCount; + VkDescriptorSet* pDescriptorSets{}; + uint32_t dynamicOffsetCount; + const uint32_t* pDynamicOffsets{}; + + safe_VkBindDescriptorSetsInfo(const VkBindDescriptorSetsInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkBindDescriptorSetsInfo(const safe_VkBindDescriptorSetsInfo& copy_src); + safe_VkBindDescriptorSetsInfo& operator=(const safe_VkBindDescriptorSetsInfo& copy_src); + safe_VkBindDescriptorSetsInfo(); + ~safe_VkBindDescriptorSetsInfo(); + void initialize(const VkBindDescriptorSetsInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindDescriptorSetsInfo* copy_src, PNextCopyState* copy_state = {}); + VkBindDescriptorSetsInfo* ptr() { return reinterpret_cast<VkBindDescriptorSetsInfo*>(this); } + VkBindDescriptorSetsInfo const* ptr() const { return reinterpret_cast<VkBindDescriptorSetsInfo const*>(this); } +}; +struct safe_VkPushConstantsInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineLayout layout; + VkShaderStageFlags stageFlags; + uint32_t offset; + uint32_t size; + const void* pValues{}; + + safe_VkPushConstantsInfo(const VkPushConstantsInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPushConstantsInfo(const safe_VkPushConstantsInfo& copy_src); + safe_VkPushConstantsInfo& operator=(const safe_VkPushConstantsInfo& copy_src); + safe_VkPushConstantsInfo(); + ~safe_VkPushConstantsInfo(); + void initialize(const VkPushConstantsInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPushConstantsInfo* copy_src, PNextCopyState* copy_state = {}); + VkPushConstantsInfo* ptr() { return reinterpret_cast<VkPushConstantsInfo*>(this); } + VkPushConstantsInfo const* ptr() const { return reinterpret_cast<VkPushConstantsInfo const*>(this); } +}; +struct safe_VkPushDescriptorSetInfo { + VkStructureType sType; + const void* pNext{}; + VkShaderStageFlags stageFlags; + VkPipelineLayout layout; + uint32_t set; + uint32_t descriptorWriteCount; + safe_VkWriteDescriptorSet* pDescriptorWrites{}; + + safe_VkPushDescriptorSetInfo(const VkPushDescriptorSetInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPushDescriptorSetInfo(const safe_VkPushDescriptorSetInfo& copy_src); + safe_VkPushDescriptorSetInfo& operator=(const safe_VkPushDescriptorSetInfo& copy_src); + safe_VkPushDescriptorSetInfo(); + ~safe_VkPushDescriptorSetInfo(); + void initialize(const VkPushDescriptorSetInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPushDescriptorSetInfo* copy_src, PNextCopyState* copy_state = {}); + VkPushDescriptorSetInfo* ptr() { return reinterpret_cast<VkPushDescriptorSetInfo*>(this); } + VkPushDescriptorSetInfo const* ptr() const { return reinterpret_cast<VkPushDescriptorSetInfo const*>(this); } +}; +struct safe_VkPushDescriptorSetWithTemplateInfo { + VkStructureType sType; + const void* pNext{}; + VkDescriptorUpdateTemplate descriptorUpdateTemplate; + VkPipelineLayout layout; + uint32_t set; + const void* pData{}; + + safe_VkPushDescriptorSetWithTemplateInfo(const VkPushDescriptorSetWithTemplateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPushDescriptorSetWithTemplateInfo(const safe_VkPushDescriptorSetWithTemplateInfo& copy_src); + safe_VkPushDescriptorSetWithTemplateInfo& operator=(const safe_VkPushDescriptorSetWithTemplateInfo& copy_src); + safe_VkPushDescriptorSetWithTemplateInfo(); + ~safe_VkPushDescriptorSetWithTemplateInfo(); + void initialize(const VkPushDescriptorSetWithTemplateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPushDescriptorSetWithTemplateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPushDescriptorSetWithTemplateInfo* ptr() { return reinterpret_cast<VkPushDescriptorSetWithTemplateInfo*>(this); } + VkPushDescriptorSetWithTemplateInfo const* ptr() const { + return reinterpret_cast<VkPushDescriptorSetWithTemplateInfo const*>(this); + } +}; +struct safe_VkPhysicalDevicePipelineProtectedAccessFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 pipelineProtectedAccess; + + safe_VkPhysicalDevicePipelineProtectedAccessFeatures(const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePipelineProtectedAccessFeatures(const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src); + safe_VkPhysicalDevicePipelineProtectedAccessFeatures& operator=( + const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src); + safe_VkPhysicalDevicePipelineProtectedAccessFeatures(); + ~safe_VkPhysicalDevicePipelineProtectedAccessFeatures(); + void initialize(const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePipelineProtectedAccessFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePipelineProtectedAccessFeatures* ptr() { + return reinterpret_cast<VkPhysicalDevicePipelineProtectedAccessFeatures*>(this); + } + VkPhysicalDevicePipelineProtectedAccessFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePipelineProtectedAccessFeatures const*>(this); + } +}; +struct safe_VkPhysicalDevicePipelineRobustnessFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 pipelineRobustness; + + safe_VkPhysicalDevicePipelineRobustnessFeatures(const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePipelineRobustnessFeatures(const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src); + safe_VkPhysicalDevicePipelineRobustnessFeatures& operator=(const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src); + safe_VkPhysicalDevicePipelineRobustnessFeatures(); + ~safe_VkPhysicalDevicePipelineRobustnessFeatures(); + void initialize(const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePipelineRobustnessFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePipelineRobustnessFeatures* ptr() { + return reinterpret_cast<VkPhysicalDevicePipelineRobustnessFeatures*>(this); + } + VkPhysicalDevicePipelineRobustnessFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePipelineRobustnessFeatures const*>(this); + } +}; +struct safe_VkPhysicalDevicePipelineRobustnessProperties { + VkStructureType sType; + void* pNext{}; + VkPipelineRobustnessBufferBehavior defaultRobustnessStorageBuffers; + VkPipelineRobustnessBufferBehavior defaultRobustnessUniformBuffers; + VkPipelineRobustnessBufferBehavior defaultRobustnessVertexInputs; + VkPipelineRobustnessImageBehavior defaultRobustnessImages; + + safe_VkPhysicalDevicePipelineRobustnessProperties(const VkPhysicalDevicePipelineRobustnessProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePipelineRobustnessProperties(const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src); + safe_VkPhysicalDevicePipelineRobustnessProperties& operator=(const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src); + safe_VkPhysicalDevicePipelineRobustnessProperties(); + ~safe_VkPhysicalDevicePipelineRobustnessProperties(); + void initialize(const VkPhysicalDevicePipelineRobustnessProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePipelineRobustnessProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePipelineRobustnessProperties* ptr() { + return reinterpret_cast<VkPhysicalDevicePipelineRobustnessProperties*>(this); + } + VkPhysicalDevicePipelineRobustnessProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePipelineRobustnessProperties const*>(this); + } +}; +struct safe_VkPipelineRobustnessCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkPipelineRobustnessBufferBehavior storageBuffers; + VkPipelineRobustnessBufferBehavior uniformBuffers; + VkPipelineRobustnessBufferBehavior vertexInputs; + VkPipelineRobustnessImageBehavior images; + + safe_VkPipelineRobustnessCreateInfo(const VkPipelineRobustnessCreateInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPipelineRobustnessCreateInfo(const safe_VkPipelineRobustnessCreateInfo& copy_src); + safe_VkPipelineRobustnessCreateInfo& operator=(const safe_VkPipelineRobustnessCreateInfo& copy_src); + safe_VkPipelineRobustnessCreateInfo(); + ~safe_VkPipelineRobustnessCreateInfo(); + void initialize(const VkPipelineRobustnessCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineRobustnessCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineRobustnessCreateInfo* ptr() { return reinterpret_cast<VkPipelineRobustnessCreateInfo*>(this); } + VkPipelineRobustnessCreateInfo const* ptr() const { return reinterpret_cast<VkPipelineRobustnessCreateInfo const*>(this); } +}; +struct safe_VkPhysicalDeviceLineRasterizationFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 rectangularLines; + VkBool32 bresenhamLines; + VkBool32 smoothLines; + VkBool32 stippledRectangularLines; + VkBool32 stippledBresenhamLines; + VkBool32 stippledSmoothLines; + + safe_VkPhysicalDeviceLineRasterizationFeatures(const VkPhysicalDeviceLineRasterizationFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceLineRasterizationFeatures(const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src); + safe_VkPhysicalDeviceLineRasterizationFeatures& operator=(const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src); + safe_VkPhysicalDeviceLineRasterizationFeatures(); + ~safe_VkPhysicalDeviceLineRasterizationFeatures(); + void initialize(const VkPhysicalDeviceLineRasterizationFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceLineRasterizationFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceLineRasterizationFeatures* ptr() { return reinterpret_cast<VkPhysicalDeviceLineRasterizationFeatures*>(this); } + VkPhysicalDeviceLineRasterizationFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceLineRasterizationFeatures const*>(this); + } +}; +struct safe_VkPhysicalDeviceLineRasterizationProperties { + VkStructureType sType; + void* pNext{}; + uint32_t lineSubPixelPrecisionBits; + + safe_VkPhysicalDeviceLineRasterizationProperties(const VkPhysicalDeviceLineRasterizationProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceLineRasterizationProperties(const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src); + safe_VkPhysicalDeviceLineRasterizationProperties& operator=(const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src); + safe_VkPhysicalDeviceLineRasterizationProperties(); + ~safe_VkPhysicalDeviceLineRasterizationProperties(); + void initialize(const VkPhysicalDeviceLineRasterizationProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceLineRasterizationProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceLineRasterizationProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceLineRasterizationProperties*>(this); + } + VkPhysicalDeviceLineRasterizationProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceLineRasterizationProperties const*>(this); + } +}; +struct safe_VkPipelineRasterizationLineStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + VkLineRasterizationMode lineRasterizationMode; + VkBool32 stippledLineEnable; + uint32_t lineStippleFactor; + uint16_t lineStipplePattern; + + safe_VkPipelineRasterizationLineStateCreateInfo(const VkPipelineRasterizationLineStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineRasterizationLineStateCreateInfo(const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src); + safe_VkPipelineRasterizationLineStateCreateInfo& operator=(const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src); + safe_VkPipelineRasterizationLineStateCreateInfo(); + ~safe_VkPipelineRasterizationLineStateCreateInfo(); + void initialize(const VkPipelineRasterizationLineStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineRasterizationLineStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineRasterizationLineStateCreateInfo* ptr() { + return reinterpret_cast<VkPipelineRasterizationLineStateCreateInfo*>(this); + } + VkPipelineRasterizationLineStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineRasterizationLineStateCreateInfo const*>(this); + } +}; +struct safe_VkPhysicalDeviceVertexAttributeDivisorProperties { + VkStructureType sType; + void* pNext{}; + uint32_t maxVertexAttribDivisor; + VkBool32 supportsNonZeroFirstInstance; + + safe_VkPhysicalDeviceVertexAttributeDivisorProperties(const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceVertexAttributeDivisorProperties(const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src); + safe_VkPhysicalDeviceVertexAttributeDivisorProperties& operator=( + const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src); + safe_VkPhysicalDeviceVertexAttributeDivisorProperties(); + ~safe_VkPhysicalDeviceVertexAttributeDivisorProperties(); + void initialize(const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorProperties* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVertexAttributeDivisorProperties* ptr() { + return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorProperties*>(this); + } + VkPhysicalDeviceVertexAttributeDivisorProperties const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorProperties const*>(this); + } +}; +struct safe_VkPipelineVertexInputDivisorStateCreateInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t vertexBindingDivisorCount; + const VkVertexInputBindingDivisorDescription* pVertexBindingDivisors{}; + + safe_VkPipelineVertexInputDivisorStateCreateInfo(const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineVertexInputDivisorStateCreateInfo(const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src); + safe_VkPipelineVertexInputDivisorStateCreateInfo& operator=(const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src); + safe_VkPipelineVertexInputDivisorStateCreateInfo(); + ~safe_VkPipelineVertexInputDivisorStateCreateInfo(); + void initialize(const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfo* copy_src, PNextCopyState* copy_state = {}); + VkPipelineVertexInputDivisorStateCreateInfo* ptr() { + return reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfo*>(this); + } + VkPipelineVertexInputDivisorStateCreateInfo const* ptr() const { + return reinterpret_cast<VkPipelineVertexInputDivisorStateCreateInfo const*>(this); + } +}; +struct safe_VkPhysicalDeviceVertexAttributeDivisorFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 vertexAttributeInstanceRateDivisor; + VkBool32 vertexAttributeInstanceRateZeroDivisor; + + safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src); + safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& operator=( + const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src); + safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(); + ~safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(); + void initialize(const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVertexAttributeDivisorFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeatures*>(this); + } + VkPhysicalDeviceVertexAttributeDivisorFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVertexAttributeDivisorFeatures const*>(this); + } +}; +struct safe_VkRenderingAreaInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t viewMask; + uint32_t colorAttachmentCount; + const VkFormat* pColorAttachmentFormats{}; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; + + safe_VkRenderingAreaInfo(const VkRenderingAreaInfo* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderingAreaInfo(const safe_VkRenderingAreaInfo& copy_src); + safe_VkRenderingAreaInfo& operator=(const safe_VkRenderingAreaInfo& copy_src); + safe_VkRenderingAreaInfo(); + ~safe_VkRenderingAreaInfo(); + void initialize(const VkRenderingAreaInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingAreaInfo* copy_src, PNextCopyState* copy_state = {}); + VkRenderingAreaInfo* ptr() { return reinterpret_cast<VkRenderingAreaInfo*>(this); } + VkRenderingAreaInfo const* ptr() const { return reinterpret_cast<VkRenderingAreaInfo const*>(this); } +}; +struct safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures { + VkStructureType sType; + void* pNext{}; + VkBool32 dynamicRenderingLocalRead; + + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src); + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& operator=( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src); + safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(); + ~safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(); + void initialize(const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDynamicRenderingLocalReadFeatures* ptr() { + return reinterpret_cast<VkPhysicalDeviceDynamicRenderingLocalReadFeatures*>(this); + } + VkPhysicalDeviceDynamicRenderingLocalReadFeatures const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDynamicRenderingLocalReadFeatures const*>(this); + } +}; +struct safe_VkRenderingAttachmentLocationInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t colorAttachmentCount; + const uint32_t* pColorAttachmentLocations{}; + + safe_VkRenderingAttachmentLocationInfo(const VkRenderingAttachmentLocationInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkRenderingAttachmentLocationInfo(const safe_VkRenderingAttachmentLocationInfo& copy_src); + safe_VkRenderingAttachmentLocationInfo& operator=(const safe_VkRenderingAttachmentLocationInfo& copy_src); + safe_VkRenderingAttachmentLocationInfo(); + ~safe_VkRenderingAttachmentLocationInfo(); + void initialize(const VkRenderingAttachmentLocationInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingAttachmentLocationInfo* copy_src, PNextCopyState* copy_state = {}); + VkRenderingAttachmentLocationInfo* ptr() { return reinterpret_cast<VkRenderingAttachmentLocationInfo*>(this); } + VkRenderingAttachmentLocationInfo const* ptr() const { + return reinterpret_cast<VkRenderingAttachmentLocationInfo const*>(this); + } +}; +struct safe_VkRenderingInputAttachmentIndexInfo { + VkStructureType sType; + const void* pNext{}; + uint32_t colorAttachmentCount; + const uint32_t* pColorAttachmentInputIndices{}; + const uint32_t* pDepthInputAttachmentIndex{}; + const uint32_t* pStencilInputAttachmentIndex{}; + + safe_VkRenderingInputAttachmentIndexInfo(const VkRenderingInputAttachmentIndexInfo* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkRenderingInputAttachmentIndexInfo(const safe_VkRenderingInputAttachmentIndexInfo& copy_src); + safe_VkRenderingInputAttachmentIndexInfo& operator=(const safe_VkRenderingInputAttachmentIndexInfo& copy_src); + safe_VkRenderingInputAttachmentIndexInfo(); + ~safe_VkRenderingInputAttachmentIndexInfo(); + void initialize(const VkRenderingInputAttachmentIndexInfo* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingInputAttachmentIndexInfo* copy_src, PNextCopyState* copy_state = {}); + VkRenderingInputAttachmentIndexInfo* ptr() { return reinterpret_cast<VkRenderingInputAttachmentIndexInfo*>(this); } + VkRenderingInputAttachmentIndexInfo const* ptr() const { + return reinterpret_cast<VkRenderingInputAttachmentIndexInfo const*>(this); + } +}; struct safe_VkSwapchainCreateInfoKHR { VkStructureType sType; const void* pNext{}; @@ -7546,6 +7542,26 @@ VkDisplayPlaneCapabilities2KHR* ptr() { return reinterpret_cast<VkDisplayPlaneCapabilities2KHR*>(this); } VkDisplayPlaneCapabilities2KHR const* ptr() const { return reinterpret_cast<VkDisplayPlaneCapabilities2KHR const*>(this); } }; +struct safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderBFloat16Type; + VkBool32 shaderBFloat16DotProduct; + VkBool32 shaderBFloat16CooperativeMatrix; + + safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR(const VkPhysicalDeviceShaderBfloat16FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR(const safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR& operator=(const safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR(); + ~safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderBfloat16FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderBfloat16FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderBfloat16FeaturesKHR*>(this); } + VkPhysicalDeviceShaderBfloat16FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderBfloat16FeaturesKHR const*>(this); + } +}; #ifdef VK_ENABLE_BETA_EXTENSIONS struct safe_VkPhysicalDevicePortabilitySubsetFeaturesKHR { VkStructureType sType; @@ -7880,6 +7896,82 @@ return reinterpret_cast<VkRenderingFragmentShadingRateAttachmentInfoKHR const*>(this); } }; +struct safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderConstantData; + + safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR(const VkPhysicalDeviceShaderConstantDataFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR(const safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR& operator=( + const safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderConstantDataFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderConstantDataFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderConstantDataFeaturesKHR*>(this); + } + VkPhysicalDeviceShaderConstantDataFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderConstantDataFeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderAbortFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderAbort; + + safe_VkPhysicalDeviceShaderAbortFeaturesKHR(const VkPhysicalDeviceShaderAbortFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderAbortFeaturesKHR(const safe_VkPhysicalDeviceShaderAbortFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderAbortFeaturesKHR& operator=(const safe_VkPhysicalDeviceShaderAbortFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderAbortFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderAbortFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderAbortFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderAbortFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderAbortFeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderAbortFeaturesKHR*>(this); } + VkPhysicalDeviceShaderAbortFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderAbortFeaturesKHR const*>(this); + } +}; +struct safe_VkDeviceFaultShaderAbortMessageInfoKHR { + VkStructureType sType; + void* pNext{}; + uint64_t messageDataSize; + void* pMessageData{}; + + safe_VkDeviceFaultShaderAbortMessageInfoKHR(const VkDeviceFaultShaderAbortMessageInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDeviceFaultShaderAbortMessageInfoKHR(const safe_VkDeviceFaultShaderAbortMessageInfoKHR& copy_src); + safe_VkDeviceFaultShaderAbortMessageInfoKHR& operator=(const safe_VkDeviceFaultShaderAbortMessageInfoKHR& copy_src); + safe_VkDeviceFaultShaderAbortMessageInfoKHR(); + ~safe_VkDeviceFaultShaderAbortMessageInfoKHR(); + void initialize(const VkDeviceFaultShaderAbortMessageInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceFaultShaderAbortMessageInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkDeviceFaultShaderAbortMessageInfoKHR* ptr() { return reinterpret_cast<VkDeviceFaultShaderAbortMessageInfoKHR*>(this); } + VkDeviceFaultShaderAbortMessageInfoKHR const* ptr() const { + return reinterpret_cast<VkDeviceFaultShaderAbortMessageInfoKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderAbortPropertiesKHR { + VkStructureType sType; + void* pNext{}; + uint64_t maxShaderAbortMessageSize; + + safe_VkPhysicalDeviceShaderAbortPropertiesKHR(const VkPhysicalDeviceShaderAbortPropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderAbortPropertiesKHR(const safe_VkPhysicalDeviceShaderAbortPropertiesKHR& copy_src); + safe_VkPhysicalDeviceShaderAbortPropertiesKHR& operator=(const safe_VkPhysicalDeviceShaderAbortPropertiesKHR& copy_src); + safe_VkPhysicalDeviceShaderAbortPropertiesKHR(); + ~safe_VkPhysicalDeviceShaderAbortPropertiesKHR(); + void initialize(const VkPhysicalDeviceShaderAbortPropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderAbortPropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderAbortPropertiesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderAbortPropertiesKHR*>(this); } + VkPhysicalDeviceShaderAbortPropertiesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderAbortPropertiesKHR const*>(this); + } +}; struct safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR { VkStructureType sType; void* pNext{}; @@ -7902,7 +7994,7 @@ }; struct safe_VkSurfaceProtectedCapabilitiesKHR { VkStructureType sType; - const void* pNext{}; + void* pNext{}; VkBool32 supportsProtected; safe_VkSurfaceProtectedCapabilitiesKHR(const VkSurfaceProtectedCapabilitiesKHR* in_struct, PNextCopyState* copy_state = {}, @@ -8328,6 +8420,310 @@ return reinterpret_cast<VkVideoEncodeSessionParametersFeedbackInfoKHR const*>(this); } }; +struct safe_VkDeviceMemoryCopyKHR { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeKHR srcRange; + VkAddressCommandFlagsKHR srcFlags; + VkDeviceAddressRangeKHR dstRange; + VkAddressCommandFlagsKHR dstFlags; + + safe_VkDeviceMemoryCopyKHR(const VkDeviceMemoryCopyKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDeviceMemoryCopyKHR(const safe_VkDeviceMemoryCopyKHR& copy_src); + safe_VkDeviceMemoryCopyKHR& operator=(const safe_VkDeviceMemoryCopyKHR& copy_src); + safe_VkDeviceMemoryCopyKHR(); + ~safe_VkDeviceMemoryCopyKHR(); + void initialize(const VkDeviceMemoryCopyKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceMemoryCopyKHR* copy_src, PNextCopyState* copy_state = {}); + VkDeviceMemoryCopyKHR* ptr() { return reinterpret_cast<VkDeviceMemoryCopyKHR*>(this); } + VkDeviceMemoryCopyKHR const* ptr() const { return reinterpret_cast<VkDeviceMemoryCopyKHR const*>(this); } +}; +struct safe_VkCopyDeviceMemoryInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t regionCount; + safe_VkDeviceMemoryCopyKHR* pRegions{}; + + safe_VkCopyDeviceMemoryInfoKHR(const VkCopyDeviceMemoryInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCopyDeviceMemoryInfoKHR(const safe_VkCopyDeviceMemoryInfoKHR& copy_src); + safe_VkCopyDeviceMemoryInfoKHR& operator=(const safe_VkCopyDeviceMemoryInfoKHR& copy_src); + safe_VkCopyDeviceMemoryInfoKHR(); + ~safe_VkCopyDeviceMemoryInfoKHR(); + void initialize(const VkCopyDeviceMemoryInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCopyDeviceMemoryInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkCopyDeviceMemoryInfoKHR* ptr() { return reinterpret_cast<VkCopyDeviceMemoryInfoKHR*>(this); } + VkCopyDeviceMemoryInfoKHR const* ptr() const { return reinterpret_cast<VkCopyDeviceMemoryInfoKHR const*>(this); } +}; +struct safe_VkDeviceMemoryImageCopyKHR { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + uint32_t addressRowLength; + uint32_t addressImageHeight; + VkImageSubresourceLayers imageSubresource; + VkImageLayout imageLayout; + VkOffset3D imageOffset; + VkExtent3D imageExtent; + + safe_VkDeviceMemoryImageCopyKHR(const VkDeviceMemoryImageCopyKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDeviceMemoryImageCopyKHR(const safe_VkDeviceMemoryImageCopyKHR& copy_src); + safe_VkDeviceMemoryImageCopyKHR& operator=(const safe_VkDeviceMemoryImageCopyKHR& copy_src); + safe_VkDeviceMemoryImageCopyKHR(); + ~safe_VkDeviceMemoryImageCopyKHR(); + void initialize(const VkDeviceMemoryImageCopyKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceMemoryImageCopyKHR* copy_src, PNextCopyState* copy_state = {}); + VkDeviceMemoryImageCopyKHR* ptr() { return reinterpret_cast<VkDeviceMemoryImageCopyKHR*>(this); } + VkDeviceMemoryImageCopyKHR const* ptr() const { return reinterpret_cast<VkDeviceMemoryImageCopyKHR const*>(this); } +}; +struct safe_VkCopyDeviceMemoryImageInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkImage image; + uint32_t regionCount; + safe_VkDeviceMemoryImageCopyKHR* pRegions{}; + + safe_VkCopyDeviceMemoryImageInfoKHR(const VkCopyDeviceMemoryImageInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCopyDeviceMemoryImageInfoKHR(const safe_VkCopyDeviceMemoryImageInfoKHR& copy_src); + safe_VkCopyDeviceMemoryImageInfoKHR& operator=(const safe_VkCopyDeviceMemoryImageInfoKHR& copy_src); + safe_VkCopyDeviceMemoryImageInfoKHR(); + ~safe_VkCopyDeviceMemoryImageInfoKHR(); + void initialize(const VkCopyDeviceMemoryImageInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCopyDeviceMemoryImageInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkCopyDeviceMemoryImageInfoKHR* ptr() { return reinterpret_cast<VkCopyDeviceMemoryImageInfoKHR*>(this); } + VkCopyDeviceMemoryImageInfoKHR const* ptr() const { return reinterpret_cast<VkCopyDeviceMemoryImageInfoKHR const*>(this); } +}; +struct safe_VkMemoryRangeBarrierKHR { + VkStructureType sType; + const void* pNext{}; + VkPipelineStageFlags2 srcStageMask; + VkAccessFlags2 srcAccessMask; + VkPipelineStageFlags2 dstStageMask; + VkAccessFlags2 dstAccessMask; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + + safe_VkMemoryRangeBarrierKHR(const VkMemoryRangeBarrierKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkMemoryRangeBarrierKHR(const safe_VkMemoryRangeBarrierKHR& copy_src); + safe_VkMemoryRangeBarrierKHR& operator=(const safe_VkMemoryRangeBarrierKHR& copy_src); + safe_VkMemoryRangeBarrierKHR(); + ~safe_VkMemoryRangeBarrierKHR(); + void initialize(const VkMemoryRangeBarrierKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryRangeBarrierKHR* copy_src, PNextCopyState* copy_state = {}); + VkMemoryRangeBarrierKHR* ptr() { return reinterpret_cast<VkMemoryRangeBarrierKHR*>(this); } + VkMemoryRangeBarrierKHR const* ptr() const { return reinterpret_cast<VkMemoryRangeBarrierKHR const*>(this); } +}; +struct safe_VkMemoryRangeBarriersInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t memoryRangeBarrierCount; + safe_VkMemoryRangeBarrierKHR* pMemoryRangeBarriers{}; + + safe_VkMemoryRangeBarriersInfoKHR(const VkMemoryRangeBarriersInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkMemoryRangeBarriersInfoKHR(const safe_VkMemoryRangeBarriersInfoKHR& copy_src); + safe_VkMemoryRangeBarriersInfoKHR& operator=(const safe_VkMemoryRangeBarriersInfoKHR& copy_src); + safe_VkMemoryRangeBarriersInfoKHR(); + ~safe_VkMemoryRangeBarriersInfoKHR(); + void initialize(const VkMemoryRangeBarriersInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryRangeBarriersInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkMemoryRangeBarriersInfoKHR* ptr() { return reinterpret_cast<VkMemoryRangeBarriersInfoKHR*>(this); } + VkMemoryRangeBarriersInfoKHR const* ptr() const { return reinterpret_cast<VkMemoryRangeBarriersInfoKHR const*>(this); } +}; +struct safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 deviceAddressCommands; + + safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR(const VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR(const safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR& copy_src); + safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR& operator=( + const safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR& copy_src); + safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR(); + ~safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR(); + void initialize(const VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR*>(this); + } + VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR const*>(this); + } +}; +struct safe_VkBindIndexBuffer3InfoKHR { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + VkIndexType indexType; + + safe_VkBindIndexBuffer3InfoKHR(const VkBindIndexBuffer3InfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkBindIndexBuffer3InfoKHR(const safe_VkBindIndexBuffer3InfoKHR& copy_src); + safe_VkBindIndexBuffer3InfoKHR& operator=(const safe_VkBindIndexBuffer3InfoKHR& copy_src); + safe_VkBindIndexBuffer3InfoKHR(); + ~safe_VkBindIndexBuffer3InfoKHR(); + void initialize(const VkBindIndexBuffer3InfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindIndexBuffer3InfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkBindIndexBuffer3InfoKHR* ptr() { return reinterpret_cast<VkBindIndexBuffer3InfoKHR*>(this); } + VkBindIndexBuffer3InfoKHR const* ptr() const { return reinterpret_cast<VkBindIndexBuffer3InfoKHR const*>(this); } +}; +struct safe_VkBindVertexBuffer3InfoKHR { + VkStructureType sType; + const void* pNext{}; + VkBool32 setStride; + VkStridedDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + + safe_VkBindVertexBuffer3InfoKHR(const VkBindVertexBuffer3InfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkBindVertexBuffer3InfoKHR(const safe_VkBindVertexBuffer3InfoKHR& copy_src); + safe_VkBindVertexBuffer3InfoKHR& operator=(const safe_VkBindVertexBuffer3InfoKHR& copy_src); + safe_VkBindVertexBuffer3InfoKHR(); + ~safe_VkBindVertexBuffer3InfoKHR(); + void initialize(const VkBindVertexBuffer3InfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindVertexBuffer3InfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkBindVertexBuffer3InfoKHR* ptr() { return reinterpret_cast<VkBindVertexBuffer3InfoKHR*>(this); } + VkBindVertexBuffer3InfoKHR const* ptr() const { return reinterpret_cast<VkBindVertexBuffer3InfoKHR const*>(this); } +}; +struct safe_VkDrawIndirect2InfoKHR { + VkStructureType sType; + const void* pNext{}; + VkStridedDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + uint32_t drawCount; + + safe_VkDrawIndirect2InfoKHR(const VkDrawIndirect2InfoKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDrawIndirect2InfoKHR(const safe_VkDrawIndirect2InfoKHR& copy_src); + safe_VkDrawIndirect2InfoKHR& operator=(const safe_VkDrawIndirect2InfoKHR& copy_src); + safe_VkDrawIndirect2InfoKHR(); + ~safe_VkDrawIndirect2InfoKHR(); + void initialize(const VkDrawIndirect2InfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDrawIndirect2InfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkDrawIndirect2InfoKHR* ptr() { return reinterpret_cast<VkDrawIndirect2InfoKHR*>(this); } + VkDrawIndirect2InfoKHR const* ptr() const { return reinterpret_cast<VkDrawIndirect2InfoKHR const*>(this); } +}; +struct safe_VkDrawIndirectCount2InfoKHR { + VkStructureType sType; + const void* pNext{}; + VkStridedDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + VkDeviceAddressRangeKHR countAddressRange; + VkAddressCommandFlagsKHR countAddressFlags; + uint32_t maxDrawCount; + + safe_VkDrawIndirectCount2InfoKHR(const VkDrawIndirectCount2InfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDrawIndirectCount2InfoKHR(const safe_VkDrawIndirectCount2InfoKHR& copy_src); + safe_VkDrawIndirectCount2InfoKHR& operator=(const safe_VkDrawIndirectCount2InfoKHR& copy_src); + safe_VkDrawIndirectCount2InfoKHR(); + ~safe_VkDrawIndirectCount2InfoKHR(); + void initialize(const VkDrawIndirectCount2InfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDrawIndirectCount2InfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkDrawIndirectCount2InfoKHR* ptr() { return reinterpret_cast<VkDrawIndirectCount2InfoKHR*>(this); } + VkDrawIndirectCount2InfoKHR const* ptr() const { return reinterpret_cast<VkDrawIndirectCount2InfoKHR const*>(this); } +}; +struct safe_VkDispatchIndirect2InfoKHR { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + + safe_VkDispatchIndirect2InfoKHR(const VkDispatchIndirect2InfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDispatchIndirect2InfoKHR(const safe_VkDispatchIndirect2InfoKHR& copy_src); + safe_VkDispatchIndirect2InfoKHR& operator=(const safe_VkDispatchIndirect2InfoKHR& copy_src); + safe_VkDispatchIndirect2InfoKHR(); + ~safe_VkDispatchIndirect2InfoKHR(); + void initialize(const VkDispatchIndirect2InfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDispatchIndirect2InfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkDispatchIndirect2InfoKHR* ptr() { return reinterpret_cast<VkDispatchIndirect2InfoKHR*>(this); } + VkDispatchIndirect2InfoKHR const* ptr() const { return reinterpret_cast<VkDispatchIndirect2InfoKHR const*>(this); } +}; +struct safe_VkConditionalRenderingBeginInfo2EXT { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + VkConditionalRenderingFlagsEXT flags; + + safe_VkConditionalRenderingBeginInfo2EXT(const VkConditionalRenderingBeginInfo2EXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkConditionalRenderingBeginInfo2EXT(const safe_VkConditionalRenderingBeginInfo2EXT& copy_src); + safe_VkConditionalRenderingBeginInfo2EXT& operator=(const safe_VkConditionalRenderingBeginInfo2EXT& copy_src); + safe_VkConditionalRenderingBeginInfo2EXT(); + ~safe_VkConditionalRenderingBeginInfo2EXT(); + void initialize(const VkConditionalRenderingBeginInfo2EXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkConditionalRenderingBeginInfo2EXT* copy_src, PNextCopyState* copy_state = {}); + VkConditionalRenderingBeginInfo2EXT* ptr() { return reinterpret_cast<VkConditionalRenderingBeginInfo2EXT*>(this); } + VkConditionalRenderingBeginInfo2EXT const* ptr() const { + return reinterpret_cast<VkConditionalRenderingBeginInfo2EXT const*>(this); + } +}; +struct safe_VkBindTransformFeedbackBuffer2InfoEXT { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + + safe_VkBindTransformFeedbackBuffer2InfoEXT(const VkBindTransformFeedbackBuffer2InfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBindTransformFeedbackBuffer2InfoEXT(const safe_VkBindTransformFeedbackBuffer2InfoEXT& copy_src); + safe_VkBindTransformFeedbackBuffer2InfoEXT& operator=(const safe_VkBindTransformFeedbackBuffer2InfoEXT& copy_src); + safe_VkBindTransformFeedbackBuffer2InfoEXT(); + ~safe_VkBindTransformFeedbackBuffer2InfoEXT(); + void initialize(const VkBindTransformFeedbackBuffer2InfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindTransformFeedbackBuffer2InfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkBindTransformFeedbackBuffer2InfoEXT* ptr() { return reinterpret_cast<VkBindTransformFeedbackBuffer2InfoEXT*>(this); } + VkBindTransformFeedbackBuffer2InfoEXT const* ptr() const { + return reinterpret_cast<VkBindTransformFeedbackBuffer2InfoEXT const*>(this); + } +}; +struct safe_VkMemoryMarkerInfoAMD { + VkStructureType sType; + const void* pNext{}; + VkPipelineStageFlags2KHR stage; + VkDeviceAddressRangeKHR dstRange; + VkAddressCommandFlagsKHR dstFlags; + uint32_t marker; + + safe_VkMemoryMarkerInfoAMD(const VkMemoryMarkerInfoAMD* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkMemoryMarkerInfoAMD(const safe_VkMemoryMarkerInfoAMD& copy_src); + safe_VkMemoryMarkerInfoAMD& operator=(const safe_VkMemoryMarkerInfoAMD& copy_src); + safe_VkMemoryMarkerInfoAMD(); + ~safe_VkMemoryMarkerInfoAMD(); + void initialize(const VkMemoryMarkerInfoAMD* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryMarkerInfoAMD* copy_src, PNextCopyState* copy_state = {}); + VkMemoryMarkerInfoAMD* ptr() { return reinterpret_cast<VkMemoryMarkerInfoAMD*>(this); } + VkMemoryMarkerInfoAMD const* ptr() const { return reinterpret_cast<VkMemoryMarkerInfoAMD const*>(this); } +}; +struct safe_VkAccelerationStructureCreateInfo2KHR { + VkStructureType sType; + const void* pNext{}; + VkAccelerationStructureCreateFlagsKHR createFlags; + VkDeviceAddressRangeKHR addressRange; + VkAddressCommandFlagsKHR addressFlags; + VkAccelerationStructureTypeKHR type; + + safe_VkAccelerationStructureCreateInfo2KHR(const VkAccelerationStructureCreateInfo2KHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkAccelerationStructureCreateInfo2KHR(const safe_VkAccelerationStructureCreateInfo2KHR& copy_src); + safe_VkAccelerationStructureCreateInfo2KHR& operator=(const safe_VkAccelerationStructureCreateInfo2KHR& copy_src); + safe_VkAccelerationStructureCreateInfo2KHR(); + ~safe_VkAccelerationStructureCreateInfo2KHR(); + void initialize(const VkAccelerationStructureCreateInfo2KHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAccelerationStructureCreateInfo2KHR* copy_src, PNextCopyState* copy_state = {}); + VkAccelerationStructureCreateInfo2KHR* ptr() { return reinterpret_cast<VkAccelerationStructureCreateInfo2KHR*>(this); } + VkAccelerationStructureCreateInfo2KHR const* ptr() const { + return reinterpret_cast<VkAccelerationStructureCreateInfo2KHR const*>(this); + } +}; struct safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR { VkStructureType sType; void* pNext{}; @@ -8445,6 +8841,27 @@ return reinterpret_cast<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR const*>(this); } }; +struct safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderUntypedPointers; + + safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR(const VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR(const safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR& operator=( + const safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderUntypedPointersFeaturesKHR*>(this); + } + VkPhysicalDeviceShaderUntypedPointersFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderUntypedPointersFeaturesKHR const*>(this); + } +}; struct safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR { VkStructureType sType; void* pNext{}; @@ -8468,6 +8885,110 @@ return reinterpret_cast<VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR const*>(this); } }; +struct safe_VkSurfaceCapabilitiesPresentId2KHR { + VkStructureType sType; + void* pNext{}; + VkBool32 presentId2Supported; + + safe_VkSurfaceCapabilitiesPresentId2KHR(const VkSurfaceCapabilitiesPresentId2KHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSurfaceCapabilitiesPresentId2KHR(const safe_VkSurfaceCapabilitiesPresentId2KHR& copy_src); + safe_VkSurfaceCapabilitiesPresentId2KHR& operator=(const safe_VkSurfaceCapabilitiesPresentId2KHR& copy_src); + safe_VkSurfaceCapabilitiesPresentId2KHR(); + ~safe_VkSurfaceCapabilitiesPresentId2KHR(); + void initialize(const VkSurfaceCapabilitiesPresentId2KHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSurfaceCapabilitiesPresentId2KHR* copy_src, PNextCopyState* copy_state = {}); + VkSurfaceCapabilitiesPresentId2KHR* ptr() { return reinterpret_cast<VkSurfaceCapabilitiesPresentId2KHR*>(this); } + VkSurfaceCapabilitiesPresentId2KHR const* ptr() const { + return reinterpret_cast<VkSurfaceCapabilitiesPresentId2KHR const*>(this); + } +}; +struct safe_VkPresentId2KHR { + VkStructureType sType; + const void* pNext{}; + uint32_t swapchainCount; + const uint64_t* pPresentIds{}; + + safe_VkPresentId2KHR(const VkPresentId2KHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPresentId2KHR(const safe_VkPresentId2KHR& copy_src); + safe_VkPresentId2KHR& operator=(const safe_VkPresentId2KHR& copy_src); + safe_VkPresentId2KHR(); + ~safe_VkPresentId2KHR(); + void initialize(const VkPresentId2KHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPresentId2KHR* copy_src, PNextCopyState* copy_state = {}); + VkPresentId2KHR* ptr() { return reinterpret_cast<VkPresentId2KHR*>(this); } + VkPresentId2KHR const* ptr() const { return reinterpret_cast<VkPresentId2KHR const*>(this); } +}; +struct safe_VkPhysicalDevicePresentId2FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 presentId2; + + safe_VkPhysicalDevicePresentId2FeaturesKHR(const VkPhysicalDevicePresentId2FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePresentId2FeaturesKHR(const safe_VkPhysicalDevicePresentId2FeaturesKHR& copy_src); + safe_VkPhysicalDevicePresentId2FeaturesKHR& operator=(const safe_VkPhysicalDevicePresentId2FeaturesKHR& copy_src); + safe_VkPhysicalDevicePresentId2FeaturesKHR(); + ~safe_VkPhysicalDevicePresentId2FeaturesKHR(); + void initialize(const VkPhysicalDevicePresentId2FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePresentId2FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePresentId2FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDevicePresentId2FeaturesKHR*>(this); } + VkPhysicalDevicePresentId2FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePresentId2FeaturesKHR const*>(this); + } +}; +struct safe_VkSurfaceCapabilitiesPresentWait2KHR { + VkStructureType sType; + void* pNext{}; + VkBool32 presentWait2Supported; + + safe_VkSurfaceCapabilitiesPresentWait2KHR(const VkSurfaceCapabilitiesPresentWait2KHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSurfaceCapabilitiesPresentWait2KHR(const safe_VkSurfaceCapabilitiesPresentWait2KHR& copy_src); + safe_VkSurfaceCapabilitiesPresentWait2KHR& operator=(const safe_VkSurfaceCapabilitiesPresentWait2KHR& copy_src); + safe_VkSurfaceCapabilitiesPresentWait2KHR(); + ~safe_VkSurfaceCapabilitiesPresentWait2KHR(); + void initialize(const VkSurfaceCapabilitiesPresentWait2KHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSurfaceCapabilitiesPresentWait2KHR* copy_src, PNextCopyState* copy_state = {}); + VkSurfaceCapabilitiesPresentWait2KHR* ptr() { return reinterpret_cast<VkSurfaceCapabilitiesPresentWait2KHR*>(this); } + VkSurfaceCapabilitiesPresentWait2KHR const* ptr() const { + return reinterpret_cast<VkSurfaceCapabilitiesPresentWait2KHR const*>(this); + } +}; +struct safe_VkPhysicalDevicePresentWait2FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 presentWait2; + + safe_VkPhysicalDevicePresentWait2FeaturesKHR(const VkPhysicalDevicePresentWait2FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePresentWait2FeaturesKHR(const safe_VkPhysicalDevicePresentWait2FeaturesKHR& copy_src); + safe_VkPhysicalDevicePresentWait2FeaturesKHR& operator=(const safe_VkPhysicalDevicePresentWait2FeaturesKHR& copy_src); + safe_VkPhysicalDevicePresentWait2FeaturesKHR(); + ~safe_VkPhysicalDevicePresentWait2FeaturesKHR(); + void initialize(const VkPhysicalDevicePresentWait2FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePresentWait2FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePresentWait2FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDevicePresentWait2FeaturesKHR*>(this); } + VkPhysicalDevicePresentWait2FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePresentWait2FeaturesKHR const*>(this); + } +}; +struct safe_VkPresentWait2InfoKHR { + VkStructureType sType; + const void* pNext{}; + uint64_t presentId; + uint64_t timeout; + + safe_VkPresentWait2InfoKHR(const VkPresentWait2InfoKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPresentWait2InfoKHR(const safe_VkPresentWait2InfoKHR& copy_src); + safe_VkPresentWait2InfoKHR& operator=(const safe_VkPresentWait2InfoKHR& copy_src); + safe_VkPresentWait2InfoKHR(); + ~safe_VkPresentWait2InfoKHR(); + void initialize(const VkPresentWait2InfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPresentWait2InfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkPresentWait2InfoKHR* ptr() { return reinterpret_cast<VkPresentWait2InfoKHR*>(this); } + VkPresentWait2InfoKHR const* ptr() const { return reinterpret_cast<VkPresentWait2InfoKHR const*>(this); } +}; struct safe_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { VkStructureType sType; void* pNext{}; @@ -8697,6 +9218,197 @@ VkPipelineBinaryHandlesInfoKHR* ptr() { return reinterpret_cast<VkPipelineBinaryHandlesInfoKHR*>(this); } VkPipelineBinaryHandlesInfoKHR const* ptr() const { return reinterpret_cast<VkPipelineBinaryHandlesInfoKHR const*>(this); } }; +struct safe_VkSurfacePresentModeKHR { + VkStructureType sType; + void* pNext{}; + VkPresentModeKHR presentMode; + + safe_VkSurfacePresentModeKHR(const VkSurfacePresentModeKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSurfacePresentModeKHR(const safe_VkSurfacePresentModeKHR& copy_src); + safe_VkSurfacePresentModeKHR& operator=(const safe_VkSurfacePresentModeKHR& copy_src); + safe_VkSurfacePresentModeKHR(); + ~safe_VkSurfacePresentModeKHR(); + void initialize(const VkSurfacePresentModeKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSurfacePresentModeKHR* copy_src, PNextCopyState* copy_state = {}); + VkSurfacePresentModeKHR* ptr() { return reinterpret_cast<VkSurfacePresentModeKHR*>(this); } + VkSurfacePresentModeKHR const* ptr() const { return reinterpret_cast<VkSurfacePresentModeKHR const*>(this); } +}; +struct safe_VkSurfacePresentScalingCapabilitiesKHR { + VkStructureType sType; + void* pNext{}; + VkPresentScalingFlagsKHR supportedPresentScaling; + VkPresentGravityFlagsKHR supportedPresentGravityX; + VkPresentGravityFlagsKHR supportedPresentGravityY; + VkExtent2D minScaledImageExtent; + VkExtent2D maxScaledImageExtent; + + safe_VkSurfacePresentScalingCapabilitiesKHR(const VkSurfacePresentScalingCapabilitiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSurfacePresentScalingCapabilitiesKHR(const safe_VkSurfacePresentScalingCapabilitiesKHR& copy_src); + safe_VkSurfacePresentScalingCapabilitiesKHR& operator=(const safe_VkSurfacePresentScalingCapabilitiesKHR& copy_src); + safe_VkSurfacePresentScalingCapabilitiesKHR(); + ~safe_VkSurfacePresentScalingCapabilitiesKHR(); + void initialize(const VkSurfacePresentScalingCapabilitiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSurfacePresentScalingCapabilitiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkSurfacePresentScalingCapabilitiesKHR* ptr() { return reinterpret_cast<VkSurfacePresentScalingCapabilitiesKHR*>(this); } + VkSurfacePresentScalingCapabilitiesKHR const* ptr() const { + return reinterpret_cast<VkSurfacePresentScalingCapabilitiesKHR const*>(this); + } +}; +struct safe_VkSurfacePresentModeCompatibilityKHR { + VkStructureType sType; + void* pNext{}; + uint32_t presentModeCount; + VkPresentModeKHR* pPresentModes{}; + + safe_VkSurfacePresentModeCompatibilityKHR(const VkSurfacePresentModeCompatibilityKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSurfacePresentModeCompatibilityKHR(const safe_VkSurfacePresentModeCompatibilityKHR& copy_src); + safe_VkSurfacePresentModeCompatibilityKHR& operator=(const safe_VkSurfacePresentModeCompatibilityKHR& copy_src); + safe_VkSurfacePresentModeCompatibilityKHR(); + ~safe_VkSurfacePresentModeCompatibilityKHR(); + void initialize(const VkSurfacePresentModeCompatibilityKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSurfacePresentModeCompatibilityKHR* copy_src, PNextCopyState* copy_state = {}); + VkSurfacePresentModeCompatibilityKHR* ptr() { return reinterpret_cast<VkSurfacePresentModeCompatibilityKHR*>(this); } + VkSurfacePresentModeCompatibilityKHR const* ptr() const { + return reinterpret_cast<VkSurfacePresentModeCompatibilityKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 swapchainMaintenance1; + + safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(const VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR& copy_src); + safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR& operator=( + const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR& copy_src); + safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(); + ~safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(); + void initialize(const VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR*>(this); + } + VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR const*>(this); + } +}; +struct safe_VkSwapchainPresentFenceInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t swapchainCount; + VkFence* pFences{}; + + safe_VkSwapchainPresentFenceInfoKHR(const VkSwapchainPresentFenceInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSwapchainPresentFenceInfoKHR(const safe_VkSwapchainPresentFenceInfoKHR& copy_src); + safe_VkSwapchainPresentFenceInfoKHR& operator=(const safe_VkSwapchainPresentFenceInfoKHR& copy_src); + safe_VkSwapchainPresentFenceInfoKHR(); + ~safe_VkSwapchainPresentFenceInfoKHR(); + void initialize(const VkSwapchainPresentFenceInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainPresentFenceInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainPresentFenceInfoKHR* ptr() { return reinterpret_cast<VkSwapchainPresentFenceInfoKHR*>(this); } + VkSwapchainPresentFenceInfoKHR const* ptr() const { return reinterpret_cast<VkSwapchainPresentFenceInfoKHR const*>(this); } +}; +struct safe_VkSwapchainPresentModesCreateInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t presentModeCount; + const VkPresentModeKHR* pPresentModes{}; + + safe_VkSwapchainPresentModesCreateInfoKHR(const VkSwapchainPresentModesCreateInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSwapchainPresentModesCreateInfoKHR(const safe_VkSwapchainPresentModesCreateInfoKHR& copy_src); + safe_VkSwapchainPresentModesCreateInfoKHR& operator=(const safe_VkSwapchainPresentModesCreateInfoKHR& copy_src); + safe_VkSwapchainPresentModesCreateInfoKHR(); + ~safe_VkSwapchainPresentModesCreateInfoKHR(); + void initialize(const VkSwapchainPresentModesCreateInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainPresentModesCreateInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainPresentModesCreateInfoKHR* ptr() { return reinterpret_cast<VkSwapchainPresentModesCreateInfoKHR*>(this); } + VkSwapchainPresentModesCreateInfoKHR const* ptr() const { + return reinterpret_cast<VkSwapchainPresentModesCreateInfoKHR const*>(this); + } +}; +struct safe_VkSwapchainPresentModeInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t swapchainCount; + const VkPresentModeKHR* pPresentModes{}; + + safe_VkSwapchainPresentModeInfoKHR(const VkSwapchainPresentModeInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSwapchainPresentModeInfoKHR(const safe_VkSwapchainPresentModeInfoKHR& copy_src); + safe_VkSwapchainPresentModeInfoKHR& operator=(const safe_VkSwapchainPresentModeInfoKHR& copy_src); + safe_VkSwapchainPresentModeInfoKHR(); + ~safe_VkSwapchainPresentModeInfoKHR(); + void initialize(const VkSwapchainPresentModeInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainPresentModeInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainPresentModeInfoKHR* ptr() { return reinterpret_cast<VkSwapchainPresentModeInfoKHR*>(this); } + VkSwapchainPresentModeInfoKHR const* ptr() const { return reinterpret_cast<VkSwapchainPresentModeInfoKHR const*>(this); } +}; +struct safe_VkSwapchainPresentScalingCreateInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkPresentScalingFlagsKHR scalingBehavior; + VkPresentGravityFlagsKHR presentGravityX; + VkPresentGravityFlagsKHR presentGravityY; + + safe_VkSwapchainPresentScalingCreateInfoKHR(const VkSwapchainPresentScalingCreateInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSwapchainPresentScalingCreateInfoKHR(const safe_VkSwapchainPresentScalingCreateInfoKHR& copy_src); + safe_VkSwapchainPresentScalingCreateInfoKHR& operator=(const safe_VkSwapchainPresentScalingCreateInfoKHR& copy_src); + safe_VkSwapchainPresentScalingCreateInfoKHR(); + ~safe_VkSwapchainPresentScalingCreateInfoKHR(); + void initialize(const VkSwapchainPresentScalingCreateInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainPresentScalingCreateInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainPresentScalingCreateInfoKHR* ptr() { return reinterpret_cast<VkSwapchainPresentScalingCreateInfoKHR*>(this); } + VkSwapchainPresentScalingCreateInfoKHR const* ptr() const { + return reinterpret_cast<VkSwapchainPresentScalingCreateInfoKHR const*>(this); + } +}; +struct safe_VkReleaseSwapchainImagesInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkSwapchainKHR swapchain; + uint32_t imageIndexCount; + const uint32_t* pImageIndices{}; + + safe_VkReleaseSwapchainImagesInfoKHR(const VkReleaseSwapchainImagesInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkReleaseSwapchainImagesInfoKHR(const safe_VkReleaseSwapchainImagesInfoKHR& copy_src); + safe_VkReleaseSwapchainImagesInfoKHR& operator=(const safe_VkReleaseSwapchainImagesInfoKHR& copy_src); + safe_VkReleaseSwapchainImagesInfoKHR(); + ~safe_VkReleaseSwapchainImagesInfoKHR(); + void initialize(const VkReleaseSwapchainImagesInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkReleaseSwapchainImagesInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkReleaseSwapchainImagesInfoKHR* ptr() { return reinterpret_cast<VkReleaseSwapchainImagesInfoKHR*>(this); } + VkReleaseSwapchainImagesInfoKHR const* ptr() const { return reinterpret_cast<VkReleaseSwapchainImagesInfoKHR const*>(this); } +}; +struct safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 internallySynchronizedQueues; + + safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR( + const VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR( + const safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR& copy_src); + safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR& operator=( + const safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR& copy_src); + safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR(); + ~safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR(); + void initialize(const VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR*>(this); + } + VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR const*>(this); + } +}; struct safe_VkCooperativeMatrixPropertiesKHR { VkStructureType sType; void* pNext{}; @@ -9152,6 +9864,76 @@ return reinterpret_cast<VkVideoEncodeAV1RateControlLayerInfoKHR const*>(this); } }; +struct safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 videoDecodeVP9; + + safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR(const VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR(const safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR& copy_src); + safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR& operator=(const safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR& copy_src); + safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR(); + ~safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR(); + void initialize(const VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceVideoDecodeVP9FeaturesKHR*>(this); } + VkPhysicalDeviceVideoDecodeVP9FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVideoDecodeVP9FeaturesKHR const*>(this); + } +}; +struct safe_VkVideoDecodeVP9ProfileInfoKHR { + VkStructureType sType; + const void* pNext{}; + StdVideoVP9Profile stdProfile; + + safe_VkVideoDecodeVP9ProfileInfoKHR(const VkVideoDecodeVP9ProfileInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkVideoDecodeVP9ProfileInfoKHR(const safe_VkVideoDecodeVP9ProfileInfoKHR& copy_src); + safe_VkVideoDecodeVP9ProfileInfoKHR& operator=(const safe_VkVideoDecodeVP9ProfileInfoKHR& copy_src); + safe_VkVideoDecodeVP9ProfileInfoKHR(); + ~safe_VkVideoDecodeVP9ProfileInfoKHR(); + void initialize(const VkVideoDecodeVP9ProfileInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoDecodeVP9ProfileInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoDecodeVP9ProfileInfoKHR* ptr() { return reinterpret_cast<VkVideoDecodeVP9ProfileInfoKHR*>(this); } + VkVideoDecodeVP9ProfileInfoKHR const* ptr() const { return reinterpret_cast<VkVideoDecodeVP9ProfileInfoKHR const*>(this); } +}; +struct safe_VkVideoDecodeVP9CapabilitiesKHR { + VkStructureType sType; + void* pNext{}; + StdVideoVP9Level maxLevel; + + safe_VkVideoDecodeVP9CapabilitiesKHR(const VkVideoDecodeVP9CapabilitiesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkVideoDecodeVP9CapabilitiesKHR(const safe_VkVideoDecodeVP9CapabilitiesKHR& copy_src); + safe_VkVideoDecodeVP9CapabilitiesKHR& operator=(const safe_VkVideoDecodeVP9CapabilitiesKHR& copy_src); + safe_VkVideoDecodeVP9CapabilitiesKHR(); + ~safe_VkVideoDecodeVP9CapabilitiesKHR(); + void initialize(const VkVideoDecodeVP9CapabilitiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoDecodeVP9CapabilitiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoDecodeVP9CapabilitiesKHR* ptr() { return reinterpret_cast<VkVideoDecodeVP9CapabilitiesKHR*>(this); } + VkVideoDecodeVP9CapabilitiesKHR const* ptr() const { return reinterpret_cast<VkVideoDecodeVP9CapabilitiesKHR const*>(this); } +}; +struct safe_VkVideoDecodeVP9PictureInfoKHR { + VkStructureType sType; + const void* pNext{}; + const StdVideoDecodeVP9PictureInfo* pStdPictureInfo{}; + int32_t referenceNameSlotIndices[VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR]; + uint32_t uncompressedHeaderOffset; + uint32_t compressedHeaderOffset; + uint32_t tilesOffset; + + safe_VkVideoDecodeVP9PictureInfoKHR(const VkVideoDecodeVP9PictureInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkVideoDecodeVP9PictureInfoKHR(const safe_VkVideoDecodeVP9PictureInfoKHR& copy_src); + safe_VkVideoDecodeVP9PictureInfoKHR& operator=(const safe_VkVideoDecodeVP9PictureInfoKHR& copy_src); + safe_VkVideoDecodeVP9PictureInfoKHR(); + ~safe_VkVideoDecodeVP9PictureInfoKHR(); + void initialize(const VkVideoDecodeVP9PictureInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoDecodeVP9PictureInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoDecodeVP9PictureInfoKHR* ptr() { return reinterpret_cast<VkVideoDecodeVP9PictureInfoKHR*>(this); } + VkVideoDecodeVP9PictureInfoKHR const* ptr() const { return reinterpret_cast<VkVideoDecodeVP9PictureInfoKHR const*>(this); } +}; struct safe_VkPhysicalDeviceVideoMaintenance1FeaturesKHR { VkStructureType sType; void* pNext{}; @@ -9190,6 +9972,44 @@ VkVideoInlineQueryInfoKHR* ptr() { return reinterpret_cast<VkVideoInlineQueryInfoKHR*>(this); } VkVideoInlineQueryInfoKHR const* ptr() const { return reinterpret_cast<VkVideoInlineQueryInfoKHR const*>(this); } }; +struct safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 unifiedImageLayouts; + VkBool32 unifiedImageLayoutsVideo; + + safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR(const VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR(const safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR& copy_src); + safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR& operator=( + const safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR& copy_src); + safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR(); + ~safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR(); + void initialize(const VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR*>(this); + } + VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR const*>(this); + } +}; +struct safe_VkAttachmentFeedbackLoopInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkBool32 feedbackLoopEnable; + + safe_VkAttachmentFeedbackLoopInfoEXT(const VkAttachmentFeedbackLoopInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkAttachmentFeedbackLoopInfoEXT(const safe_VkAttachmentFeedbackLoopInfoEXT& copy_src); + safe_VkAttachmentFeedbackLoopInfoEXT& operator=(const safe_VkAttachmentFeedbackLoopInfoEXT& copy_src); + safe_VkAttachmentFeedbackLoopInfoEXT(); + ~safe_VkAttachmentFeedbackLoopInfoEXT(); + void initialize(const VkAttachmentFeedbackLoopInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAttachmentFeedbackLoopInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkAttachmentFeedbackLoopInfoEXT* ptr() { return reinterpret_cast<VkAttachmentFeedbackLoopInfoEXT*>(this); } + VkAttachmentFeedbackLoopInfoEXT const* ptr() const { return reinterpret_cast<VkAttachmentFeedbackLoopInfoEXT const*>(this); } +}; struct safe_VkCalibratedTimestampInfoKHR { VkStructureType sType; const void* pNext{}; @@ -9252,6 +10072,191 @@ return reinterpret_cast<VkBindDescriptorBufferEmbeddedSamplersInfoEXT const*>(this); } }; +struct safe_VkCopyMemoryIndirectInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkAddressCopyFlagsKHR srcCopyFlags; + VkAddressCopyFlagsKHR dstCopyFlags; + uint32_t copyCount; + VkStridedDeviceAddressRangeKHR copyAddressRange; + + safe_VkCopyMemoryIndirectInfoKHR(const VkCopyMemoryIndirectInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCopyMemoryIndirectInfoKHR(const safe_VkCopyMemoryIndirectInfoKHR& copy_src); + safe_VkCopyMemoryIndirectInfoKHR& operator=(const safe_VkCopyMemoryIndirectInfoKHR& copy_src); + safe_VkCopyMemoryIndirectInfoKHR(); + ~safe_VkCopyMemoryIndirectInfoKHR(); + void initialize(const VkCopyMemoryIndirectInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCopyMemoryIndirectInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkCopyMemoryIndirectInfoKHR* ptr() { return reinterpret_cast<VkCopyMemoryIndirectInfoKHR*>(this); } + VkCopyMemoryIndirectInfoKHR const* ptr() const { return reinterpret_cast<VkCopyMemoryIndirectInfoKHR const*>(this); } +}; +struct safe_VkCopyMemoryToImageIndirectInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkAddressCopyFlagsKHR srcCopyFlags; + uint32_t copyCount; + VkStridedDeviceAddressRangeKHR copyAddressRange; + VkImage dstImage; + VkImageLayout dstImageLayout; + const VkImageSubresourceLayers* pImageSubresources{}; + + safe_VkCopyMemoryToImageIndirectInfoKHR(const VkCopyMemoryToImageIndirectInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCopyMemoryToImageIndirectInfoKHR(const safe_VkCopyMemoryToImageIndirectInfoKHR& copy_src); + safe_VkCopyMemoryToImageIndirectInfoKHR& operator=(const safe_VkCopyMemoryToImageIndirectInfoKHR& copy_src); + safe_VkCopyMemoryToImageIndirectInfoKHR(); + ~safe_VkCopyMemoryToImageIndirectInfoKHR(); + void initialize(const VkCopyMemoryToImageIndirectInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCopyMemoryToImageIndirectInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkCopyMemoryToImageIndirectInfoKHR* ptr() { return reinterpret_cast<VkCopyMemoryToImageIndirectInfoKHR*>(this); } + VkCopyMemoryToImageIndirectInfoKHR const* ptr() const { + return reinterpret_cast<VkCopyMemoryToImageIndirectInfoKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 indirectMemoryCopy; + VkBool32 indirectMemoryToImageCopy; + + safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR(const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR(const safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR& copy_src); + safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR& operator=( + const safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR& copy_src); + safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR(); + ~safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR(); + void initialize(const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR*>(this); + } + VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR { + VkStructureType sType; + void* pNext{}; + VkQueueFlags supportedQueues; + + safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR(const VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR(const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR& copy_src); + safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR& operator=( + const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR& copy_src); + safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR(); + ~safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR(); + void initialize(const VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR*>(this); + } + VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR const*>(this); + } +}; +struct safe_VkVideoEncodeIntraRefreshCapabilitiesKHR { + VkStructureType sType; + void* pNext{}; + VkVideoEncodeIntraRefreshModeFlagsKHR intraRefreshModes; + uint32_t maxIntraRefreshCycleDuration; + uint32_t maxIntraRefreshActiveReferencePictures; + VkBool32 partitionIndependentIntraRefreshRegions; + VkBool32 nonRectangularIntraRefreshRegions; + + safe_VkVideoEncodeIntraRefreshCapabilitiesKHR(const VkVideoEncodeIntraRefreshCapabilitiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoEncodeIntraRefreshCapabilitiesKHR(const safe_VkVideoEncodeIntraRefreshCapabilitiesKHR& copy_src); + safe_VkVideoEncodeIntraRefreshCapabilitiesKHR& operator=(const safe_VkVideoEncodeIntraRefreshCapabilitiesKHR& copy_src); + safe_VkVideoEncodeIntraRefreshCapabilitiesKHR(); + ~safe_VkVideoEncodeIntraRefreshCapabilitiesKHR(); + void initialize(const VkVideoEncodeIntraRefreshCapabilitiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoEncodeIntraRefreshCapabilitiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoEncodeIntraRefreshCapabilitiesKHR* ptr() { return reinterpret_cast<VkVideoEncodeIntraRefreshCapabilitiesKHR*>(this); } + VkVideoEncodeIntraRefreshCapabilitiesKHR const* ptr() const { + return reinterpret_cast<VkVideoEncodeIntraRefreshCapabilitiesKHR const*>(this); + } +}; +struct safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkVideoEncodeIntraRefreshModeFlagBitsKHR intraRefreshMode; + + safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR(const VkVideoEncodeSessionIntraRefreshCreateInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR(const safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR& copy_src); + safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR& operator=( + const safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR& copy_src); + safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR(); + ~safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR(); + void initialize(const VkVideoEncodeSessionIntraRefreshCreateInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoEncodeSessionIntraRefreshCreateInfoKHR* ptr() { + return reinterpret_cast<VkVideoEncodeSessionIntraRefreshCreateInfoKHR*>(this); + } + VkVideoEncodeSessionIntraRefreshCreateInfoKHR const* ptr() const { + return reinterpret_cast<VkVideoEncodeSessionIntraRefreshCreateInfoKHR const*>(this); + } +}; +struct safe_VkVideoEncodeIntraRefreshInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t intraRefreshCycleDuration; + uint32_t intraRefreshIndex; + + safe_VkVideoEncodeIntraRefreshInfoKHR(const VkVideoEncodeIntraRefreshInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkVideoEncodeIntraRefreshInfoKHR(const safe_VkVideoEncodeIntraRefreshInfoKHR& copy_src); + safe_VkVideoEncodeIntraRefreshInfoKHR& operator=(const safe_VkVideoEncodeIntraRefreshInfoKHR& copy_src); + safe_VkVideoEncodeIntraRefreshInfoKHR(); + ~safe_VkVideoEncodeIntraRefreshInfoKHR(); + void initialize(const VkVideoEncodeIntraRefreshInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoEncodeIntraRefreshInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoEncodeIntraRefreshInfoKHR* ptr() { return reinterpret_cast<VkVideoEncodeIntraRefreshInfoKHR*>(this); } + VkVideoEncodeIntraRefreshInfoKHR const* ptr() const { return reinterpret_cast<VkVideoEncodeIntraRefreshInfoKHR const*>(this); } +}; +struct safe_VkVideoReferenceIntraRefreshInfoKHR { + VkStructureType sType; + const void* pNext{}; + uint32_t dirtyIntraRefreshRegions; + + safe_VkVideoReferenceIntraRefreshInfoKHR(const VkVideoReferenceIntraRefreshInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkVideoReferenceIntraRefreshInfoKHR(const safe_VkVideoReferenceIntraRefreshInfoKHR& copy_src); + safe_VkVideoReferenceIntraRefreshInfoKHR& operator=(const safe_VkVideoReferenceIntraRefreshInfoKHR& copy_src); + safe_VkVideoReferenceIntraRefreshInfoKHR(); + ~safe_VkVideoReferenceIntraRefreshInfoKHR(); + void initialize(const VkVideoReferenceIntraRefreshInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoReferenceIntraRefreshInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoReferenceIntraRefreshInfoKHR* ptr() { return reinterpret_cast<VkVideoReferenceIntraRefreshInfoKHR*>(this); } + VkVideoReferenceIntraRefreshInfoKHR const* ptr() const { + return reinterpret_cast<VkVideoReferenceIntraRefreshInfoKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 videoEncodeIntraRefresh; + + safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR(const VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR( + const safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR& copy_src); + safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR& operator=( + const safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR& copy_src); + safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR(); + ~safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR(); + void initialize(const VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR*>(this); + } + VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR const*>(this); + } +}; struct safe_VkVideoEncodeQuantizationMapCapabilitiesKHR { VkStructureType sType; void* pNext{}; @@ -9593,6 +10598,492 @@ return reinterpret_cast<VkPhysicalDeviceLayeredApiVulkanPropertiesKHR const*>(this); } }; +struct safe_VkPhysicalDeviceFaultFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 deviceFault; + VkBool32 deviceFaultVendorBinary; + VkBool32 deviceFaultReportMasked; + VkBool32 deviceFaultDeviceLostOnMasked; + + safe_VkPhysicalDeviceFaultFeaturesKHR(const VkPhysicalDeviceFaultFeaturesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceFaultFeaturesKHR(const safe_VkPhysicalDeviceFaultFeaturesKHR& copy_src); + safe_VkPhysicalDeviceFaultFeaturesKHR& operator=(const safe_VkPhysicalDeviceFaultFeaturesKHR& copy_src); + safe_VkPhysicalDeviceFaultFeaturesKHR(); + ~safe_VkPhysicalDeviceFaultFeaturesKHR(); + void initialize(const VkPhysicalDeviceFaultFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFaultFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFaultFeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceFaultFeaturesKHR*>(this); } + VkPhysicalDeviceFaultFeaturesKHR const* ptr() const { return reinterpret_cast<VkPhysicalDeviceFaultFeaturesKHR const*>(this); } +}; +struct safe_VkPhysicalDeviceFaultPropertiesKHR { + VkStructureType sType; + void* pNext{}; + uint32_t maxDeviceFaultCount; + + safe_VkPhysicalDeviceFaultPropertiesKHR(const VkPhysicalDeviceFaultPropertiesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceFaultPropertiesKHR(const safe_VkPhysicalDeviceFaultPropertiesKHR& copy_src); + safe_VkPhysicalDeviceFaultPropertiesKHR& operator=(const safe_VkPhysicalDeviceFaultPropertiesKHR& copy_src); + safe_VkPhysicalDeviceFaultPropertiesKHR(); + ~safe_VkPhysicalDeviceFaultPropertiesKHR(); + void initialize(const VkPhysicalDeviceFaultPropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFaultPropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFaultPropertiesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceFaultPropertiesKHR*>(this); } + VkPhysicalDeviceFaultPropertiesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFaultPropertiesKHR const*>(this); + } +}; +struct safe_VkDeviceFaultInfoKHR { + VkStructureType sType; + void* pNext{}; + VkDeviceFaultFlagsKHR flags; + uint64_t groupId; + char description[VK_MAX_DESCRIPTION_SIZE]; + VkDeviceFaultAddressInfoKHR faultAddressInfo; + VkDeviceFaultAddressInfoKHR instructionAddressInfo; + VkDeviceFaultVendorInfoKHR vendorInfo; + + safe_VkDeviceFaultInfoKHR(const VkDeviceFaultInfoKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDeviceFaultInfoKHR(const safe_VkDeviceFaultInfoKHR& copy_src); + safe_VkDeviceFaultInfoKHR& operator=(const safe_VkDeviceFaultInfoKHR& copy_src); + safe_VkDeviceFaultInfoKHR(); + ~safe_VkDeviceFaultInfoKHR(); + void initialize(const VkDeviceFaultInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceFaultInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkDeviceFaultInfoKHR* ptr() { return reinterpret_cast<VkDeviceFaultInfoKHR*>(this); } + VkDeviceFaultInfoKHR const* ptr() const { return reinterpret_cast<VkDeviceFaultInfoKHR const*>(this); } +}; +struct safe_VkDeviceFaultDebugInfoKHR { + VkStructureType sType; + void* pNext{}; + uint32_t vendorBinarySize; + void* pVendorBinaryData{}; + + safe_VkDeviceFaultDebugInfoKHR(const VkDeviceFaultDebugInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDeviceFaultDebugInfoKHR(const safe_VkDeviceFaultDebugInfoKHR& copy_src); + safe_VkDeviceFaultDebugInfoKHR& operator=(const safe_VkDeviceFaultDebugInfoKHR& copy_src); + safe_VkDeviceFaultDebugInfoKHR(); + ~safe_VkDeviceFaultDebugInfoKHR(); + void initialize(const VkDeviceFaultDebugInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceFaultDebugInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkDeviceFaultDebugInfoKHR* ptr() { return reinterpret_cast<VkDeviceFaultDebugInfoKHR*>(this); } + VkDeviceFaultDebugInfoKHR const* ptr() const { return reinterpret_cast<VkDeviceFaultDebugInfoKHR const*>(this); } +}; +struct safe_VkMemoryBarrierAccessFlags3KHR { + VkStructureType sType; + const void* pNext{}; + VkAccessFlags3KHR srcAccessMask3; + VkAccessFlags3KHR dstAccessMask3; + + safe_VkMemoryBarrierAccessFlags3KHR(const VkMemoryBarrierAccessFlags3KHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkMemoryBarrierAccessFlags3KHR(const safe_VkMemoryBarrierAccessFlags3KHR& copy_src); + safe_VkMemoryBarrierAccessFlags3KHR& operator=(const safe_VkMemoryBarrierAccessFlags3KHR& copy_src); + safe_VkMemoryBarrierAccessFlags3KHR(); + ~safe_VkMemoryBarrierAccessFlags3KHR(); + void initialize(const VkMemoryBarrierAccessFlags3KHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryBarrierAccessFlags3KHR* copy_src, PNextCopyState* copy_state = {}); + VkMemoryBarrierAccessFlags3KHR* ptr() { return reinterpret_cast<VkMemoryBarrierAccessFlags3KHR*>(this); } + VkMemoryBarrierAccessFlags3KHR const* ptr() const { return reinterpret_cast<VkMemoryBarrierAccessFlags3KHR const*>(this); } +}; +struct safe_VkPhysicalDeviceMaintenance8FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 maintenance8; + + safe_VkPhysicalDeviceMaintenance8FeaturesKHR(const VkPhysicalDeviceMaintenance8FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance8FeaturesKHR(const safe_VkPhysicalDeviceMaintenance8FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance8FeaturesKHR& operator=(const safe_VkPhysicalDeviceMaintenance8FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance8FeaturesKHR(); + ~safe_VkPhysicalDeviceMaintenance8FeaturesKHR(); + void initialize(const VkPhysicalDeviceMaintenance8FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance8FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance8FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance8FeaturesKHR*>(this); } + VkPhysicalDeviceMaintenance8FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance8FeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderFmaFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderFmaFloat16; + VkBool32 shaderFmaFloat32; + VkBool32 shaderFmaFloat64; + + safe_VkPhysicalDeviceShaderFmaFeaturesKHR(const VkPhysicalDeviceShaderFmaFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderFmaFeaturesKHR(const safe_VkPhysicalDeviceShaderFmaFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderFmaFeaturesKHR& operator=(const safe_VkPhysicalDeviceShaderFmaFeaturesKHR& copy_src); + safe_VkPhysicalDeviceShaderFmaFeaturesKHR(); + ~safe_VkPhysicalDeviceShaderFmaFeaturesKHR(); + void initialize(const VkPhysicalDeviceShaderFmaFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderFmaFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderFmaFeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderFmaFeaturesKHR*>(this); } + VkPhysicalDeviceShaderFmaFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderFmaFeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceMaintenance9FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 maintenance9; + + safe_VkPhysicalDeviceMaintenance9FeaturesKHR(const VkPhysicalDeviceMaintenance9FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance9FeaturesKHR(const safe_VkPhysicalDeviceMaintenance9FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance9FeaturesKHR& operator=(const safe_VkPhysicalDeviceMaintenance9FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance9FeaturesKHR(); + ~safe_VkPhysicalDeviceMaintenance9FeaturesKHR(); + void initialize(const VkPhysicalDeviceMaintenance9FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance9FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance9FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance9FeaturesKHR*>(this); } + VkPhysicalDeviceMaintenance9FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance9FeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceMaintenance9PropertiesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 image2DViewOf3DSparse; + VkDefaultVertexAttributeValueKHR defaultVertexAttributeValue; + + safe_VkPhysicalDeviceMaintenance9PropertiesKHR(const VkPhysicalDeviceMaintenance9PropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance9PropertiesKHR(const safe_VkPhysicalDeviceMaintenance9PropertiesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance9PropertiesKHR& operator=(const safe_VkPhysicalDeviceMaintenance9PropertiesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance9PropertiesKHR(); + ~safe_VkPhysicalDeviceMaintenance9PropertiesKHR(); + void initialize(const VkPhysicalDeviceMaintenance9PropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance9PropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance9PropertiesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance9PropertiesKHR*>(this); } + VkPhysicalDeviceMaintenance9PropertiesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance9PropertiesKHR const*>(this); + } +}; +struct safe_VkQueueFamilyOwnershipTransferPropertiesKHR { + VkStructureType sType; + void* pNext{}; + uint32_t optimalImageTransferToQueueFamilies; + + safe_VkQueueFamilyOwnershipTransferPropertiesKHR(const VkQueueFamilyOwnershipTransferPropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkQueueFamilyOwnershipTransferPropertiesKHR(const safe_VkQueueFamilyOwnershipTransferPropertiesKHR& copy_src); + safe_VkQueueFamilyOwnershipTransferPropertiesKHR& operator=(const safe_VkQueueFamilyOwnershipTransferPropertiesKHR& copy_src); + safe_VkQueueFamilyOwnershipTransferPropertiesKHR(); + ~safe_VkQueueFamilyOwnershipTransferPropertiesKHR(); + void initialize(const VkQueueFamilyOwnershipTransferPropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyOwnershipTransferPropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkQueueFamilyOwnershipTransferPropertiesKHR* ptr() { + return reinterpret_cast<VkQueueFamilyOwnershipTransferPropertiesKHR*>(this); + } + VkQueueFamilyOwnershipTransferPropertiesKHR const* ptr() const { + return reinterpret_cast<VkQueueFamilyOwnershipTransferPropertiesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 videoMaintenance2; + + safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR(const VkPhysicalDeviceVideoMaintenance2FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR(const safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR& copy_src); + safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR& operator=(const safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR& copy_src); + safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR(); + ~safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR(); + void initialize(const VkPhysicalDeviceVideoMaintenance2FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVideoMaintenance2FeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceVideoMaintenance2FeaturesKHR*>(this); + } + VkPhysicalDeviceVideoMaintenance2FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVideoMaintenance2FeaturesKHR const*>(this); + } +}; +struct safe_VkVideoDecodeH264InlineSessionParametersInfoKHR { + VkStructureType sType; + const void* pNext{}; + const StdVideoH264SequenceParameterSet* pStdSPS{}; + const StdVideoH264PictureParameterSet* pStdPPS{}; + + safe_VkVideoDecodeH264InlineSessionParametersInfoKHR(const VkVideoDecodeH264InlineSessionParametersInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoDecodeH264InlineSessionParametersInfoKHR(const safe_VkVideoDecodeH264InlineSessionParametersInfoKHR& copy_src); + safe_VkVideoDecodeH264InlineSessionParametersInfoKHR& operator=( + const safe_VkVideoDecodeH264InlineSessionParametersInfoKHR& copy_src); + safe_VkVideoDecodeH264InlineSessionParametersInfoKHR(); + ~safe_VkVideoDecodeH264InlineSessionParametersInfoKHR(); + void initialize(const VkVideoDecodeH264InlineSessionParametersInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoDecodeH264InlineSessionParametersInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoDecodeH264InlineSessionParametersInfoKHR* ptr() { + return reinterpret_cast<VkVideoDecodeH264InlineSessionParametersInfoKHR*>(this); + } + VkVideoDecodeH264InlineSessionParametersInfoKHR const* ptr() const { + return reinterpret_cast<VkVideoDecodeH264InlineSessionParametersInfoKHR const*>(this); + } +}; +struct safe_VkVideoDecodeH265InlineSessionParametersInfoKHR { + VkStructureType sType; + const void* pNext{}; + const StdVideoH265VideoParameterSet* pStdVPS{}; + const StdVideoH265SequenceParameterSet* pStdSPS{}; + const StdVideoH265PictureParameterSet* pStdPPS{}; + + safe_VkVideoDecodeH265InlineSessionParametersInfoKHR(const VkVideoDecodeH265InlineSessionParametersInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoDecodeH265InlineSessionParametersInfoKHR(const safe_VkVideoDecodeH265InlineSessionParametersInfoKHR& copy_src); + safe_VkVideoDecodeH265InlineSessionParametersInfoKHR& operator=( + const safe_VkVideoDecodeH265InlineSessionParametersInfoKHR& copy_src); + safe_VkVideoDecodeH265InlineSessionParametersInfoKHR(); + ~safe_VkVideoDecodeH265InlineSessionParametersInfoKHR(); + void initialize(const VkVideoDecodeH265InlineSessionParametersInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoDecodeH265InlineSessionParametersInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoDecodeH265InlineSessionParametersInfoKHR* ptr() { + return reinterpret_cast<VkVideoDecodeH265InlineSessionParametersInfoKHR*>(this); + } + VkVideoDecodeH265InlineSessionParametersInfoKHR const* ptr() const { + return reinterpret_cast<VkVideoDecodeH265InlineSessionParametersInfoKHR const*>(this); + } +}; +struct safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR { + VkStructureType sType; + const void* pNext{}; + const StdVideoAV1SequenceHeader* pStdSequenceHeader{}; + + safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR(const VkVideoDecodeAV1InlineSessionParametersInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR(const safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR& copy_src); + safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR& operator=( + const safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR& copy_src); + safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR(); + ~safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR(); + void initialize(const VkVideoDecodeAV1InlineSessionParametersInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkVideoDecodeAV1InlineSessionParametersInfoKHR* ptr() { + return reinterpret_cast<VkVideoDecodeAV1InlineSessionParametersInfoKHR*>(this); + } + VkVideoDecodeAV1InlineSessionParametersInfoKHR const* ptr() const { + return reinterpret_cast<VkVideoDecodeAV1InlineSessionParametersInfoKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 depthClampZeroOne; + + safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR(const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR(const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR& copy_src); + safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR& operator=(const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR& copy_src); + safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR(); + ~safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR(); + void initialize(const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceDepthClampZeroOneFeaturesKHR*>(this); + } + VkPhysicalDeviceDepthClampZeroOneFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDepthClampZeroOneFeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceRobustness2FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 robustBufferAccess2; + VkBool32 robustImageAccess2; + VkBool32 nullDescriptor; + + safe_VkPhysicalDeviceRobustness2FeaturesKHR(const VkPhysicalDeviceRobustness2FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceRobustness2FeaturesKHR(const safe_VkPhysicalDeviceRobustness2FeaturesKHR& copy_src); + safe_VkPhysicalDeviceRobustness2FeaturesKHR& operator=(const safe_VkPhysicalDeviceRobustness2FeaturesKHR& copy_src); + safe_VkPhysicalDeviceRobustness2FeaturesKHR(); + ~safe_VkPhysicalDeviceRobustness2FeaturesKHR(); + void initialize(const VkPhysicalDeviceRobustness2FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceRobustness2FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceRobustness2FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesKHR*>(this); } + VkPhysicalDeviceRobustness2FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceRobustness2PropertiesKHR { + VkStructureType sType; + void* pNext{}; + VkDeviceSize robustStorageBufferAccessSizeAlignment; + VkDeviceSize robustUniformBufferAccessSizeAlignment; + + safe_VkPhysicalDeviceRobustness2PropertiesKHR(const VkPhysicalDeviceRobustness2PropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceRobustness2PropertiesKHR(const safe_VkPhysicalDeviceRobustness2PropertiesKHR& copy_src); + safe_VkPhysicalDeviceRobustness2PropertiesKHR& operator=(const safe_VkPhysicalDeviceRobustness2PropertiesKHR& copy_src); + safe_VkPhysicalDeviceRobustness2PropertiesKHR(); + ~safe_VkPhysicalDeviceRobustness2PropertiesKHR(); + void initialize(const VkPhysicalDeviceRobustness2PropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceRobustness2PropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceRobustness2PropertiesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesKHR*>(this); } + VkPhysicalDeviceRobustness2PropertiesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesKHR const*>(this); + } +}; +struct safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 presentModeFifoLatestReady; + + safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR( + const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR( + const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR& copy_src); + safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR& operator=( + const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR& copy_src); + safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR(); + ~safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR(); + void initialize(const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* ptr() { + return reinterpret_cast<VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR*>(this); + } + VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceMaintenance10FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 maintenance10; + + safe_VkPhysicalDeviceMaintenance10FeaturesKHR(const VkPhysicalDeviceMaintenance10FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance10FeaturesKHR(const safe_VkPhysicalDeviceMaintenance10FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance10FeaturesKHR& operator=(const safe_VkPhysicalDeviceMaintenance10FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance10FeaturesKHR(); + ~safe_VkPhysicalDeviceMaintenance10FeaturesKHR(); + void initialize(const VkPhysicalDeviceMaintenance10FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance10FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance10FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance10FeaturesKHR*>(this); } + VkPhysicalDeviceMaintenance10FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance10FeaturesKHR const*>(this); + } +}; +struct safe_VkPhysicalDeviceMaintenance10PropertiesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 rgba4OpaqueBlackSwizzled; + VkBool32 resolveSrgbFormatAppliesTransferFunction; + VkBool32 resolveSrgbFormatSupportsTransferFunctionControl; + + safe_VkPhysicalDeviceMaintenance10PropertiesKHR(const VkPhysicalDeviceMaintenance10PropertiesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance10PropertiesKHR(const safe_VkPhysicalDeviceMaintenance10PropertiesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance10PropertiesKHR& operator=(const safe_VkPhysicalDeviceMaintenance10PropertiesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance10PropertiesKHR(); + ~safe_VkPhysicalDeviceMaintenance10PropertiesKHR(); + void initialize(const VkPhysicalDeviceMaintenance10PropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance10PropertiesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance10PropertiesKHR* ptr() { + return reinterpret_cast<VkPhysicalDeviceMaintenance10PropertiesKHR*>(this); + } + VkPhysicalDeviceMaintenance10PropertiesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance10PropertiesKHR const*>(this); + } +}; +struct safe_VkRenderingEndInfoKHR { + VkStructureType sType; + const void* pNext{}; + + safe_VkRenderingEndInfoKHR(const VkRenderingEndInfoKHR* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderingEndInfoKHR(const safe_VkRenderingEndInfoKHR& copy_src); + safe_VkRenderingEndInfoKHR& operator=(const safe_VkRenderingEndInfoKHR& copy_src); + safe_VkRenderingEndInfoKHR(); + ~safe_VkRenderingEndInfoKHR(); + void initialize(const VkRenderingEndInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingEndInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkRenderingEndInfoKHR* ptr() { return reinterpret_cast<VkRenderingEndInfoKHR*>(this); } + VkRenderingEndInfoKHR const* ptr() const { return reinterpret_cast<VkRenderingEndInfoKHR const*>(this); } +}; +struct safe_VkRenderingAttachmentFlagsInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkRenderingAttachmentFlagsKHR flags; + + safe_VkRenderingAttachmentFlagsInfoKHR(const VkRenderingAttachmentFlagsInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkRenderingAttachmentFlagsInfoKHR(const safe_VkRenderingAttachmentFlagsInfoKHR& copy_src); + safe_VkRenderingAttachmentFlagsInfoKHR& operator=(const safe_VkRenderingAttachmentFlagsInfoKHR& copy_src); + safe_VkRenderingAttachmentFlagsInfoKHR(); + ~safe_VkRenderingAttachmentFlagsInfoKHR(); + void initialize(const VkRenderingAttachmentFlagsInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderingAttachmentFlagsInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkRenderingAttachmentFlagsInfoKHR* ptr() { return reinterpret_cast<VkRenderingAttachmentFlagsInfoKHR*>(this); } + VkRenderingAttachmentFlagsInfoKHR const* ptr() const { + return reinterpret_cast<VkRenderingAttachmentFlagsInfoKHR const*>(this); + } +}; +struct safe_VkResolveImageModeInfoKHR { + VkStructureType sType; + const void* pNext{}; + VkResolveImageFlagsKHR flags; + VkResolveModeFlagBits resolveMode; + VkResolveModeFlagBits stencilResolveMode; + + safe_VkResolveImageModeInfoKHR(const VkResolveImageModeInfoKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkResolveImageModeInfoKHR(const safe_VkResolveImageModeInfoKHR& copy_src); + safe_VkResolveImageModeInfoKHR& operator=(const safe_VkResolveImageModeInfoKHR& copy_src); + safe_VkResolveImageModeInfoKHR(); + ~safe_VkResolveImageModeInfoKHR(); + void initialize(const VkResolveImageModeInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkResolveImageModeInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkResolveImageModeInfoKHR* ptr() { return reinterpret_cast<VkResolveImageModeInfoKHR*>(this); } + VkResolveImageModeInfoKHR const* ptr() const { return reinterpret_cast<VkResolveImageModeInfoKHR const*>(this); } +}; +struct safe_VkPhysicalDeviceMaintenance11FeaturesKHR { + VkStructureType sType; + void* pNext{}; + VkBool32 maintenance11; + + safe_VkPhysicalDeviceMaintenance11FeaturesKHR(const VkPhysicalDeviceMaintenance11FeaturesKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMaintenance11FeaturesKHR(const safe_VkPhysicalDeviceMaintenance11FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance11FeaturesKHR& operator=(const safe_VkPhysicalDeviceMaintenance11FeaturesKHR& copy_src); + safe_VkPhysicalDeviceMaintenance11FeaturesKHR(); + ~safe_VkPhysicalDeviceMaintenance11FeaturesKHR(); + void initialize(const VkPhysicalDeviceMaintenance11FeaturesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMaintenance11FeaturesKHR* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMaintenance11FeaturesKHR* ptr() { return reinterpret_cast<VkPhysicalDeviceMaintenance11FeaturesKHR*>(this); } + VkPhysicalDeviceMaintenance11FeaturesKHR const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMaintenance11FeaturesKHR const*>(this); + } +}; +struct safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR { + VkStructureType sType; + void* pNext{}; + VkExtent3D optimalImageTransferGranularity; + + safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR( + const VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR( + const safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR& copy_src); + safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR& operator=( + const safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR& copy_src); + safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR(); + ~safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR(); + void initialize(const VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* copy_src, + PNextCopyState* copy_state = {}); + VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* ptr() { + return reinterpret_cast<VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR*>(this); + } + VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR const* ptr() const { + return reinterpret_cast<VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR const*>(this); + } +}; struct safe_VkDebugReportCallbackCreateInfoEXT { VkStructureType sType; const void* pNext{}; @@ -10967,6 +12458,505 @@ } }; #endif // VK_ENABLE_BETA_EXTENSIONS +struct safe_VkHostAddressRangeEXT { + void* address{}; + size_t size; + + safe_VkHostAddressRangeEXT(const VkHostAddressRangeEXT* in_struct, PNextCopyState* copy_state = {}); + safe_VkHostAddressRangeEXT(const safe_VkHostAddressRangeEXT& copy_src); + safe_VkHostAddressRangeEXT& operator=(const safe_VkHostAddressRangeEXT& copy_src); + safe_VkHostAddressRangeEXT(); + ~safe_VkHostAddressRangeEXT(); + void initialize(const VkHostAddressRangeEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkHostAddressRangeEXT* copy_src, PNextCopyState* copy_state = {}); + VkHostAddressRangeEXT* ptr() { return reinterpret_cast<VkHostAddressRangeEXT*>(this); } + VkHostAddressRangeEXT const* ptr() const { return reinterpret_cast<VkHostAddressRangeEXT const*>(this); } +}; +struct safe_VkHostAddressRangeConstEXT { + const void* address{}; + size_t size; + + safe_VkHostAddressRangeConstEXT(const VkHostAddressRangeConstEXT* in_struct, PNextCopyState* copy_state = {}); + safe_VkHostAddressRangeConstEXT(const safe_VkHostAddressRangeConstEXT& copy_src); + safe_VkHostAddressRangeConstEXT& operator=(const safe_VkHostAddressRangeConstEXT& copy_src); + safe_VkHostAddressRangeConstEXT(); + ~safe_VkHostAddressRangeConstEXT(); + void initialize(const VkHostAddressRangeConstEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkHostAddressRangeConstEXT* copy_src, PNextCopyState* copy_state = {}); + VkHostAddressRangeConstEXT* ptr() { return reinterpret_cast<VkHostAddressRangeConstEXT*>(this); } + VkHostAddressRangeConstEXT const* ptr() const { return reinterpret_cast<VkHostAddressRangeConstEXT const*>(this); } +}; +struct safe_VkTexelBufferDescriptorInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkFormat format; + VkDeviceAddressRangeEXT addressRange; + + safe_VkTexelBufferDescriptorInfoEXT(const VkTexelBufferDescriptorInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTexelBufferDescriptorInfoEXT(const safe_VkTexelBufferDescriptorInfoEXT& copy_src); + safe_VkTexelBufferDescriptorInfoEXT& operator=(const safe_VkTexelBufferDescriptorInfoEXT& copy_src); + safe_VkTexelBufferDescriptorInfoEXT(); + ~safe_VkTexelBufferDescriptorInfoEXT(); + void initialize(const VkTexelBufferDescriptorInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTexelBufferDescriptorInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkTexelBufferDescriptorInfoEXT* ptr() { return reinterpret_cast<VkTexelBufferDescriptorInfoEXT*>(this); } + VkTexelBufferDescriptorInfoEXT const* ptr() const { return reinterpret_cast<VkTexelBufferDescriptorInfoEXT const*>(this); } +}; +struct safe_VkImageDescriptorInfoEXT { + VkStructureType sType; + const void* pNext{}; + safe_VkImageViewCreateInfo* pView{}; + VkImageLayout layout; + + safe_VkImageDescriptorInfoEXT(const VkImageDescriptorInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkImageDescriptorInfoEXT(const safe_VkImageDescriptorInfoEXT& copy_src); + safe_VkImageDescriptorInfoEXT& operator=(const safe_VkImageDescriptorInfoEXT& copy_src); + safe_VkImageDescriptorInfoEXT(); + ~safe_VkImageDescriptorInfoEXT(); + void initialize(const VkImageDescriptorInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImageDescriptorInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkImageDescriptorInfoEXT* ptr() { return reinterpret_cast<VkImageDescriptorInfoEXT*>(this); } + VkImageDescriptorInfoEXT const* ptr() const { return reinterpret_cast<VkImageDescriptorInfoEXT const*>(this); } +}; +struct safe_VkTensorViewCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorViewCreateFlagsARM flags; + VkTensorARM tensor; + VkFormat format; + + safe_VkTensorViewCreateInfoARM(const VkTensorViewCreateInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTensorViewCreateInfoARM(const safe_VkTensorViewCreateInfoARM& copy_src); + safe_VkTensorViewCreateInfoARM& operator=(const safe_VkTensorViewCreateInfoARM& copy_src); + safe_VkTensorViewCreateInfoARM(); + ~safe_VkTensorViewCreateInfoARM(); + void initialize(const VkTensorViewCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorViewCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorViewCreateInfoARM* ptr() { return reinterpret_cast<VkTensorViewCreateInfoARM*>(this); } + VkTensorViewCreateInfoARM const* ptr() const { return reinterpret_cast<VkTensorViewCreateInfoARM const*>(this); } +}; +struct safe_VkResourceDescriptorInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkDescriptorType type; + VkResourceDescriptorDataEXT data; + + safe_VkResourceDescriptorInfoEXT(const VkResourceDescriptorInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkResourceDescriptorInfoEXT(const safe_VkResourceDescriptorInfoEXT& copy_src); + safe_VkResourceDescriptorInfoEXT& operator=(const safe_VkResourceDescriptorInfoEXT& copy_src); + safe_VkResourceDescriptorInfoEXT(); + ~safe_VkResourceDescriptorInfoEXT(); + void initialize(const VkResourceDescriptorInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkResourceDescriptorInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkResourceDescriptorInfoEXT* ptr() { return reinterpret_cast<VkResourceDescriptorInfoEXT*>(this); } + VkResourceDescriptorInfoEXT const* ptr() const { return reinterpret_cast<VkResourceDescriptorInfoEXT const*>(this); } +}; +struct safe_VkBindHeapInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkDeviceAddressRangeEXT heapRange; + VkDeviceSize reservedRangeOffset; + VkDeviceSize reservedRangeSize; + + safe_VkBindHeapInfoEXT(const VkBindHeapInfoEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBindHeapInfoEXT(const safe_VkBindHeapInfoEXT& copy_src); + safe_VkBindHeapInfoEXT& operator=(const safe_VkBindHeapInfoEXT& copy_src); + safe_VkBindHeapInfoEXT(); + ~safe_VkBindHeapInfoEXT(); + void initialize(const VkBindHeapInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindHeapInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkBindHeapInfoEXT* ptr() { return reinterpret_cast<VkBindHeapInfoEXT*>(this); } + VkBindHeapInfoEXT const* ptr() const { return reinterpret_cast<VkBindHeapInfoEXT const*>(this); } +}; +struct safe_VkPushDataInfoEXT { + VkStructureType sType; + const void* pNext{}; + uint32_t offset; + safe_VkHostAddressRangeConstEXT data; + + safe_VkPushDataInfoEXT(const VkPushDataInfoEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPushDataInfoEXT(const safe_VkPushDataInfoEXT& copy_src); + safe_VkPushDataInfoEXT& operator=(const safe_VkPushDataInfoEXT& copy_src); + safe_VkPushDataInfoEXT(); + ~safe_VkPushDataInfoEXT(); + void initialize(const VkPushDataInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPushDataInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkPushDataInfoEXT* ptr() { return reinterpret_cast<VkPushDataInfoEXT*>(this); } + VkPushDataInfoEXT const* ptr() const { return reinterpret_cast<VkPushDataInfoEXT const*>(this); } +}; +struct safe_VkDescriptorMappingSourceConstantOffsetEXT { + uint32_t heapOffset; + uint32_t heapArrayStride; + safe_VkSamplerCreateInfo* pEmbeddedSampler{}; + uint32_t samplerHeapOffset; + uint32_t samplerHeapArrayStride; + + safe_VkDescriptorMappingSourceConstantOffsetEXT(const VkDescriptorMappingSourceConstantOffsetEXT* in_struct, + PNextCopyState* copy_state = {}); + safe_VkDescriptorMappingSourceConstantOffsetEXT(const safe_VkDescriptorMappingSourceConstantOffsetEXT& copy_src); + safe_VkDescriptorMappingSourceConstantOffsetEXT& operator=(const safe_VkDescriptorMappingSourceConstantOffsetEXT& copy_src); + safe_VkDescriptorMappingSourceConstantOffsetEXT(); + ~safe_VkDescriptorMappingSourceConstantOffsetEXT(); + void initialize(const VkDescriptorMappingSourceConstantOffsetEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorMappingSourceConstantOffsetEXT* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorMappingSourceConstantOffsetEXT* ptr() { + return reinterpret_cast<VkDescriptorMappingSourceConstantOffsetEXT*>(this); + } + VkDescriptorMappingSourceConstantOffsetEXT const* ptr() const { + return reinterpret_cast<VkDescriptorMappingSourceConstantOffsetEXT const*>(this); + } +}; +struct safe_VkDescriptorMappingSourcePushIndexEXT { + uint32_t heapOffset; + uint32_t pushOffset; + uint32_t heapIndexStride; + uint32_t heapArrayStride; + safe_VkSamplerCreateInfo* pEmbeddedSampler{}; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerPushOffset; + uint32_t samplerHeapIndexStride; + uint32_t samplerHeapArrayStride; + + safe_VkDescriptorMappingSourcePushIndexEXT(const VkDescriptorMappingSourcePushIndexEXT* in_struct, + PNextCopyState* copy_state = {}); + safe_VkDescriptorMappingSourcePushIndexEXT(const safe_VkDescriptorMappingSourcePushIndexEXT& copy_src); + safe_VkDescriptorMappingSourcePushIndexEXT& operator=(const safe_VkDescriptorMappingSourcePushIndexEXT& copy_src); + safe_VkDescriptorMappingSourcePushIndexEXT(); + ~safe_VkDescriptorMappingSourcePushIndexEXT(); + void initialize(const VkDescriptorMappingSourcePushIndexEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorMappingSourcePushIndexEXT* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorMappingSourcePushIndexEXT* ptr() { return reinterpret_cast<VkDescriptorMappingSourcePushIndexEXT*>(this); } + VkDescriptorMappingSourcePushIndexEXT const* ptr() const { + return reinterpret_cast<VkDescriptorMappingSourcePushIndexEXT const*>(this); + } +}; +struct safe_VkDescriptorMappingSourceIndirectIndexEXT { + uint32_t heapOffset; + uint32_t pushOffset; + uint32_t addressOffset; + uint32_t heapIndexStride; + uint32_t heapArrayStride; + safe_VkSamplerCreateInfo* pEmbeddedSampler{}; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerPushOffset; + uint32_t samplerAddressOffset; + uint32_t samplerHeapIndexStride; + uint32_t samplerHeapArrayStride; + + safe_VkDescriptorMappingSourceIndirectIndexEXT(const VkDescriptorMappingSourceIndirectIndexEXT* in_struct, + PNextCopyState* copy_state = {}); + safe_VkDescriptorMappingSourceIndirectIndexEXT(const safe_VkDescriptorMappingSourceIndirectIndexEXT& copy_src); + safe_VkDescriptorMappingSourceIndirectIndexEXT& operator=(const safe_VkDescriptorMappingSourceIndirectIndexEXT& copy_src); + safe_VkDescriptorMappingSourceIndirectIndexEXT(); + ~safe_VkDescriptorMappingSourceIndirectIndexEXT(); + void initialize(const VkDescriptorMappingSourceIndirectIndexEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorMappingSourceIndirectIndexEXT* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorMappingSourceIndirectIndexEXT* ptr() { return reinterpret_cast<VkDescriptorMappingSourceIndirectIndexEXT*>(this); } + VkDescriptorMappingSourceIndirectIndexEXT const* ptr() const { + return reinterpret_cast<VkDescriptorMappingSourceIndirectIndexEXT const*>(this); + } +}; +struct safe_VkDescriptorMappingSourceShaderRecordIndexEXT { + uint32_t heapOffset; + uint32_t shaderRecordOffset; + uint32_t heapIndexStride; + uint32_t heapArrayStride; + safe_VkSamplerCreateInfo* pEmbeddedSampler{}; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerShaderRecordOffset; + uint32_t samplerHeapIndexStride; + uint32_t samplerHeapArrayStride; + + safe_VkDescriptorMappingSourceShaderRecordIndexEXT(const VkDescriptorMappingSourceShaderRecordIndexEXT* in_struct, + PNextCopyState* copy_state = {}); + safe_VkDescriptorMappingSourceShaderRecordIndexEXT(const safe_VkDescriptorMappingSourceShaderRecordIndexEXT& copy_src); + safe_VkDescriptorMappingSourceShaderRecordIndexEXT& operator=( + const safe_VkDescriptorMappingSourceShaderRecordIndexEXT& copy_src); + safe_VkDescriptorMappingSourceShaderRecordIndexEXT(); + ~safe_VkDescriptorMappingSourceShaderRecordIndexEXT(); + void initialize(const VkDescriptorMappingSourceShaderRecordIndexEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorMappingSourceShaderRecordIndexEXT* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorMappingSourceShaderRecordIndexEXT* ptr() { + return reinterpret_cast<VkDescriptorMappingSourceShaderRecordIndexEXT*>(this); + } + VkDescriptorMappingSourceShaderRecordIndexEXT const* ptr() const { + return reinterpret_cast<VkDescriptorMappingSourceShaderRecordIndexEXT const*>(this); + } +}; +struct safe_VkDescriptorMappingSourceIndirectIndexArrayEXT { + uint32_t heapOffset; + uint32_t pushOffset; + uint32_t addressOffset; + uint32_t heapIndexStride; + safe_VkSamplerCreateInfo* pEmbeddedSampler{}; + VkBool32 useCombinedImageSamplerIndex; + uint32_t samplerHeapOffset; + uint32_t samplerPushOffset; + uint32_t samplerAddressOffset; + uint32_t samplerHeapIndexStride; + + safe_VkDescriptorMappingSourceIndirectIndexArrayEXT(const VkDescriptorMappingSourceIndirectIndexArrayEXT* in_struct, + PNextCopyState* copy_state = {}); + safe_VkDescriptorMappingSourceIndirectIndexArrayEXT(const safe_VkDescriptorMappingSourceIndirectIndexArrayEXT& copy_src); + safe_VkDescriptorMappingSourceIndirectIndexArrayEXT& operator=( + const safe_VkDescriptorMappingSourceIndirectIndexArrayEXT& copy_src); + safe_VkDescriptorMappingSourceIndirectIndexArrayEXT(); + ~safe_VkDescriptorMappingSourceIndirectIndexArrayEXT(); + void initialize(const VkDescriptorMappingSourceIndirectIndexArrayEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorMappingSourceIndirectIndexArrayEXT* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorMappingSourceIndirectIndexArrayEXT* ptr() { + return reinterpret_cast<VkDescriptorMappingSourceIndirectIndexArrayEXT*>(this); + } + VkDescriptorMappingSourceIndirectIndexArrayEXT const* ptr() const { + return reinterpret_cast<VkDescriptorMappingSourceIndirectIndexArrayEXT const*>(this); + } +}; +struct safe_VkDescriptorSetAndBindingMappingEXT { + VkStructureType sType; + const void* pNext{}; + uint32_t descriptorSet; + uint32_t firstBinding; + uint32_t bindingCount; + VkSpirvResourceTypeFlagsEXT resourceMask; + VkDescriptorMappingSourceEXT source; + VkDescriptorMappingSourceDataEXT sourceData; + + safe_VkDescriptorSetAndBindingMappingEXT(const VkDescriptorSetAndBindingMappingEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDescriptorSetAndBindingMappingEXT(const safe_VkDescriptorSetAndBindingMappingEXT& copy_src); + safe_VkDescriptorSetAndBindingMappingEXT& operator=(const safe_VkDescriptorSetAndBindingMappingEXT& copy_src); + safe_VkDescriptorSetAndBindingMappingEXT(); + ~safe_VkDescriptorSetAndBindingMappingEXT(); + void initialize(const VkDescriptorSetAndBindingMappingEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorSetAndBindingMappingEXT* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorSetAndBindingMappingEXT* ptr() { return reinterpret_cast<VkDescriptorSetAndBindingMappingEXT*>(this); } + VkDescriptorSetAndBindingMappingEXT const* ptr() const { + return reinterpret_cast<VkDescriptorSetAndBindingMappingEXT const*>(this); + } +}; +struct safe_VkShaderDescriptorSetAndBindingMappingInfoEXT { + VkStructureType sType; + const void* pNext{}; + uint32_t mappingCount; + safe_VkDescriptorSetAndBindingMappingEXT* pMappings{}; + + safe_VkShaderDescriptorSetAndBindingMappingInfoEXT(const VkShaderDescriptorSetAndBindingMappingInfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkShaderDescriptorSetAndBindingMappingInfoEXT(const safe_VkShaderDescriptorSetAndBindingMappingInfoEXT& copy_src); + safe_VkShaderDescriptorSetAndBindingMappingInfoEXT& operator=( + const safe_VkShaderDescriptorSetAndBindingMappingInfoEXT& copy_src); + safe_VkShaderDescriptorSetAndBindingMappingInfoEXT(); + ~safe_VkShaderDescriptorSetAndBindingMappingInfoEXT(); + void initialize(const VkShaderDescriptorSetAndBindingMappingInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkShaderDescriptorSetAndBindingMappingInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkShaderDescriptorSetAndBindingMappingInfoEXT* ptr() { + return reinterpret_cast<VkShaderDescriptorSetAndBindingMappingInfoEXT*>(this); + } + VkShaderDescriptorSetAndBindingMappingInfoEXT const* ptr() const { + return reinterpret_cast<VkShaderDescriptorSetAndBindingMappingInfoEXT const*>(this); + } +}; +struct safe_VkOpaqueCaptureDataCreateInfoEXT { + VkStructureType sType; + const void* pNext{}; + safe_VkHostAddressRangeConstEXT* pData{}; + + safe_VkOpaqueCaptureDataCreateInfoEXT(const VkOpaqueCaptureDataCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkOpaqueCaptureDataCreateInfoEXT(const safe_VkOpaqueCaptureDataCreateInfoEXT& copy_src); + safe_VkOpaqueCaptureDataCreateInfoEXT& operator=(const safe_VkOpaqueCaptureDataCreateInfoEXT& copy_src); + safe_VkOpaqueCaptureDataCreateInfoEXT(); + ~safe_VkOpaqueCaptureDataCreateInfoEXT(); + void initialize(const VkOpaqueCaptureDataCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkOpaqueCaptureDataCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkOpaqueCaptureDataCreateInfoEXT* ptr() { return reinterpret_cast<VkOpaqueCaptureDataCreateInfoEXT*>(this); } + VkOpaqueCaptureDataCreateInfoEXT const* ptr() const { return reinterpret_cast<VkOpaqueCaptureDataCreateInfoEXT const*>(this); } +}; +struct safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 descriptorHeap; + VkBool32 descriptorHeapCaptureReplay; + + safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT(const VkPhysicalDeviceDescriptorHeapFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT(const safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT& operator=(const safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT(); + ~safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT(); + void initialize(const VkPhysicalDeviceDescriptorHeapFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorHeapFeaturesEXT* ptr() { return reinterpret_cast<VkPhysicalDeviceDescriptorHeapFeaturesEXT*>(this); } + VkPhysicalDeviceDescriptorHeapFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorHeapFeaturesEXT const*>(this); + } +}; +struct safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT { + VkStructureType sType; + void* pNext{}; + VkDeviceSize samplerHeapAlignment; + VkDeviceSize resourceHeapAlignment; + VkDeviceSize maxSamplerHeapSize; + VkDeviceSize maxResourceHeapSize; + VkDeviceSize minSamplerHeapReservedRange; + VkDeviceSize minSamplerHeapReservedRangeWithEmbedded; + VkDeviceSize minResourceHeapReservedRange; + VkDeviceSize samplerDescriptorSize; + VkDeviceSize imageDescriptorSize; + VkDeviceSize bufferDescriptorSize; + VkDeviceSize samplerDescriptorAlignment; + VkDeviceSize imageDescriptorAlignment; + VkDeviceSize bufferDescriptorAlignment; + VkDeviceSize maxPushDataSize; + size_t imageCaptureReplayOpaqueDataSize; + uint32_t maxDescriptorHeapEmbeddedSamplers; + uint32_t samplerYcbcrConversionCount; + VkBool32 sparseDescriptorHeaps; + VkBool32 protectedDescriptorHeaps; + + safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT(const VkPhysicalDeviceDescriptorHeapPropertiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT(const safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT& operator=(const safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT(); + ~safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT(); + void initialize(const VkPhysicalDeviceDescriptorHeapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorHeapPropertiesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorHeapPropertiesEXT*>(this); + } + VkPhysicalDeviceDescriptorHeapPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorHeapPropertiesEXT const*>(this); + } +}; +struct safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT { + VkStructureType sType; + const void* pNext{}; + safe_VkBindHeapInfoEXT* pSamplerHeapBindInfo{}; + safe_VkBindHeapInfoEXT* pResourceHeapBindInfo{}; + + safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT(const VkCommandBufferInheritanceDescriptorHeapInfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT(const safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT& copy_src); + safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT& operator=( + const safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT& copy_src); + safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT(); + ~safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT(); + void initialize(const VkCommandBufferInheritanceDescriptorHeapInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkCommandBufferInheritanceDescriptorHeapInfoEXT* ptr() { + return reinterpret_cast<VkCommandBufferInheritanceDescriptorHeapInfoEXT*>(this); + } + VkCommandBufferInheritanceDescriptorHeapInfoEXT const* ptr() const { + return reinterpret_cast<VkCommandBufferInheritanceDescriptorHeapInfoEXT const*>(this); + } +}; +struct safe_VkSamplerCustomBorderColorIndexCreateInfoEXT { + VkStructureType sType; + const void* pNext{}; + uint32_t index; + + safe_VkSamplerCustomBorderColorIndexCreateInfoEXT(const VkSamplerCustomBorderColorIndexCreateInfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSamplerCustomBorderColorIndexCreateInfoEXT(const safe_VkSamplerCustomBorderColorIndexCreateInfoEXT& copy_src); + safe_VkSamplerCustomBorderColorIndexCreateInfoEXT& operator=(const safe_VkSamplerCustomBorderColorIndexCreateInfoEXT& copy_src); + safe_VkSamplerCustomBorderColorIndexCreateInfoEXT(); + ~safe_VkSamplerCustomBorderColorIndexCreateInfoEXT(); + void initialize(const VkSamplerCustomBorderColorIndexCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSamplerCustomBorderColorIndexCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkSamplerCustomBorderColorIndexCreateInfoEXT* ptr() { + return reinterpret_cast<VkSamplerCustomBorderColorIndexCreateInfoEXT*>(this); + } + VkSamplerCustomBorderColorIndexCreateInfoEXT const* ptr() const { + return reinterpret_cast<VkSamplerCustomBorderColorIndexCreateInfoEXT const*>(this); + } +}; +struct safe_VkSamplerCustomBorderColorCreateInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkClearColorValue customBorderColor; + VkFormat format; + + safe_VkSamplerCustomBorderColorCreateInfoEXT(const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSamplerCustomBorderColorCreateInfoEXT(const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src); + safe_VkSamplerCustomBorderColorCreateInfoEXT& operator=(const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src); + safe_VkSamplerCustomBorderColorCreateInfoEXT(); + ~safe_VkSamplerCustomBorderColorCreateInfoEXT(); + void initialize(const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSamplerCustomBorderColorCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkSamplerCustomBorderColorCreateInfoEXT* ptr() { return reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT*>(this); } + VkSamplerCustomBorderColorCreateInfoEXT const* ptr() const { + return reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT const*>(this); + } +}; +struct safe_VkIndirectCommandsLayoutPushDataTokenNV { + VkStructureType sType; + const void* pNext{}; + uint32_t pushDataOffset; + uint32_t pushDataSize; + + safe_VkIndirectCommandsLayoutPushDataTokenNV(const VkIndirectCommandsLayoutPushDataTokenNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkIndirectCommandsLayoutPushDataTokenNV(const safe_VkIndirectCommandsLayoutPushDataTokenNV& copy_src); + safe_VkIndirectCommandsLayoutPushDataTokenNV& operator=(const safe_VkIndirectCommandsLayoutPushDataTokenNV& copy_src); + safe_VkIndirectCommandsLayoutPushDataTokenNV(); + ~safe_VkIndirectCommandsLayoutPushDataTokenNV(); + void initialize(const VkIndirectCommandsLayoutPushDataTokenNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkIndirectCommandsLayoutPushDataTokenNV* copy_src, PNextCopyState* copy_state = {}); + VkIndirectCommandsLayoutPushDataTokenNV* ptr() { return reinterpret_cast<VkIndirectCommandsLayoutPushDataTokenNV*>(this); } + VkIndirectCommandsLayoutPushDataTokenNV const* ptr() const { + return reinterpret_cast<VkIndirectCommandsLayoutPushDataTokenNV const*>(this); + } +}; +struct safe_VkSubsampledImageFormatPropertiesEXT { + VkStructureType sType; + const void* pNext{}; + uint32_t subsampledImageDescriptorCount; + + safe_VkSubsampledImageFormatPropertiesEXT(const VkSubsampledImageFormatPropertiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSubsampledImageFormatPropertiesEXT(const safe_VkSubsampledImageFormatPropertiesEXT& copy_src); + safe_VkSubsampledImageFormatPropertiesEXT& operator=(const safe_VkSubsampledImageFormatPropertiesEXT& copy_src); + safe_VkSubsampledImageFormatPropertiesEXT(); + ~safe_VkSubsampledImageFormatPropertiesEXT(); + void initialize(const VkSubsampledImageFormatPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSubsampledImageFormatPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkSubsampledImageFormatPropertiesEXT* ptr() { return reinterpret_cast<VkSubsampledImageFormatPropertiesEXT*>(this); } + VkSubsampledImageFormatPropertiesEXT const* ptr() const { + return reinterpret_cast<VkSubsampledImageFormatPropertiesEXT const*>(this); + } +}; +struct safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM { + VkStructureType sType; + void* pNext{}; + VkDeviceSize tensorDescriptorSize; + VkDeviceSize tensorDescriptorAlignment; + size_t tensorCaptureReplayOpaqueDataSize; + + safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM(const VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM(const safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM& copy_src); + safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM& operator=( + const safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM& copy_src); + safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM(); + ~safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM(); + void initialize(const VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorHeapTensorPropertiesARM*>(this); + } + VkPhysicalDeviceDescriptorHeapTensorPropertiesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorHeapTensorPropertiesARM const*>(this); + } +}; struct safe_VkAttachmentSampleCountInfoAMD { VkStructureType sType; const void* pNext{}; @@ -11664,7 +13654,7 @@ VkStructureType sType; const void* pNext{}; VkAccelerationStructureTypeNV type; - VkBuildAccelerationStructureFlagsNV flags; + VkBuildAccelerationStructureFlagsKHR flags; uint32_t instanceCount; uint32_t geometryCount; safe_VkGeometryNV* pGeometries{}; @@ -11876,6 +13866,29 @@ return reinterpret_cast<VkFilterCubicImageViewImageFormatPropertiesEXT const*>(this); } }; +struct safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 cooperativeMatrixConversion; + + safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM( + const VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM( + const safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM& operator=( + const safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM(); + ~safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM(); + void initialize(const VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* ptr() { + return reinterpret_cast<VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM*>(this); + } + VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM const*>(this); + } +}; struct safe_VkImportMemoryHostPointerInfoEXT { VkStructureType sType; const void* pNext{}; @@ -12217,6 +14230,199 @@ VkCheckpointData2NV* ptr() { return reinterpret_cast<VkCheckpointData2NV*>(this); } VkCheckpointData2NV const* ptr() const { return reinterpret_cast<VkCheckpointData2NV const*>(this); } }; +struct safe_VkPhysicalDevicePresentTimingFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 presentTiming; + VkBool32 presentAtAbsoluteTime; + VkBool32 presentAtRelativeTime; + + safe_VkPhysicalDevicePresentTimingFeaturesEXT(const VkPhysicalDevicePresentTimingFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePresentTimingFeaturesEXT(const safe_VkPhysicalDevicePresentTimingFeaturesEXT& copy_src); + safe_VkPhysicalDevicePresentTimingFeaturesEXT& operator=(const safe_VkPhysicalDevicePresentTimingFeaturesEXT& copy_src); + safe_VkPhysicalDevicePresentTimingFeaturesEXT(); + ~safe_VkPhysicalDevicePresentTimingFeaturesEXT(); + void initialize(const VkPhysicalDevicePresentTimingFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePresentTimingFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePresentTimingFeaturesEXT* ptr() { return reinterpret_cast<VkPhysicalDevicePresentTimingFeaturesEXT*>(this); } + VkPhysicalDevicePresentTimingFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePresentTimingFeaturesEXT const*>(this); + } +}; +struct safe_VkPresentTimingSurfaceCapabilitiesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 presentTimingSupported; + VkBool32 presentAtAbsoluteTimeSupported; + VkBool32 presentAtRelativeTimeSupported; + VkPresentStageFlagsEXT presentStageQueries; + + safe_VkPresentTimingSurfaceCapabilitiesEXT(const VkPresentTimingSurfaceCapabilitiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPresentTimingSurfaceCapabilitiesEXT(const safe_VkPresentTimingSurfaceCapabilitiesEXT& copy_src); + safe_VkPresentTimingSurfaceCapabilitiesEXT& operator=(const safe_VkPresentTimingSurfaceCapabilitiesEXT& copy_src); + safe_VkPresentTimingSurfaceCapabilitiesEXT(); + ~safe_VkPresentTimingSurfaceCapabilitiesEXT(); + void initialize(const VkPresentTimingSurfaceCapabilitiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPresentTimingSurfaceCapabilitiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPresentTimingSurfaceCapabilitiesEXT* ptr() { return reinterpret_cast<VkPresentTimingSurfaceCapabilitiesEXT*>(this); } + VkPresentTimingSurfaceCapabilitiesEXT const* ptr() const { + return reinterpret_cast<VkPresentTimingSurfaceCapabilitiesEXT const*>(this); + } +}; +struct safe_VkSwapchainCalibratedTimestampInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkSwapchainKHR swapchain; + VkPresentStageFlagsEXT presentStage; + uint64_t timeDomainId; + + safe_VkSwapchainCalibratedTimestampInfoEXT(const VkSwapchainCalibratedTimestampInfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSwapchainCalibratedTimestampInfoEXT(const safe_VkSwapchainCalibratedTimestampInfoEXT& copy_src); + safe_VkSwapchainCalibratedTimestampInfoEXT& operator=(const safe_VkSwapchainCalibratedTimestampInfoEXT& copy_src); + safe_VkSwapchainCalibratedTimestampInfoEXT(); + ~safe_VkSwapchainCalibratedTimestampInfoEXT(); + void initialize(const VkSwapchainCalibratedTimestampInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainCalibratedTimestampInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainCalibratedTimestampInfoEXT* ptr() { return reinterpret_cast<VkSwapchainCalibratedTimestampInfoEXT*>(this); } + VkSwapchainCalibratedTimestampInfoEXT const* ptr() const { + return reinterpret_cast<VkSwapchainCalibratedTimestampInfoEXT const*>(this); + } +}; +struct safe_VkSwapchainTimingPropertiesEXT { + VkStructureType sType; + void* pNext{}; + uint64_t refreshDuration; + uint64_t refreshInterval; + + safe_VkSwapchainTimingPropertiesEXT(const VkSwapchainTimingPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSwapchainTimingPropertiesEXT(const safe_VkSwapchainTimingPropertiesEXT& copy_src); + safe_VkSwapchainTimingPropertiesEXT& operator=(const safe_VkSwapchainTimingPropertiesEXT& copy_src); + safe_VkSwapchainTimingPropertiesEXT(); + ~safe_VkSwapchainTimingPropertiesEXT(); + void initialize(const VkSwapchainTimingPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainTimingPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainTimingPropertiesEXT* ptr() { return reinterpret_cast<VkSwapchainTimingPropertiesEXT*>(this); } + VkSwapchainTimingPropertiesEXT const* ptr() const { return reinterpret_cast<VkSwapchainTimingPropertiesEXT const*>(this); } +}; +struct safe_VkSwapchainTimeDomainPropertiesEXT { + VkStructureType sType; + void* pNext{}; + uint32_t timeDomainCount; + VkTimeDomainKHR* pTimeDomains{}; + uint64_t* pTimeDomainIds{}; + + safe_VkSwapchainTimeDomainPropertiesEXT(const VkSwapchainTimeDomainPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkSwapchainTimeDomainPropertiesEXT(const safe_VkSwapchainTimeDomainPropertiesEXT& copy_src); + safe_VkSwapchainTimeDomainPropertiesEXT& operator=(const safe_VkSwapchainTimeDomainPropertiesEXT& copy_src); + safe_VkSwapchainTimeDomainPropertiesEXT(); + ~safe_VkSwapchainTimeDomainPropertiesEXT(); + void initialize(const VkSwapchainTimeDomainPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSwapchainTimeDomainPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkSwapchainTimeDomainPropertiesEXT* ptr() { return reinterpret_cast<VkSwapchainTimeDomainPropertiesEXT*>(this); } + VkSwapchainTimeDomainPropertiesEXT const* ptr() const { + return reinterpret_cast<VkSwapchainTimeDomainPropertiesEXT const*>(this); + } +}; +struct safe_VkPastPresentationTimingInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkPastPresentationTimingFlagsEXT flags; + VkSwapchainKHR swapchain; + + safe_VkPastPresentationTimingInfoEXT(const VkPastPresentationTimingInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPastPresentationTimingInfoEXT(const safe_VkPastPresentationTimingInfoEXT& copy_src); + safe_VkPastPresentationTimingInfoEXT& operator=(const safe_VkPastPresentationTimingInfoEXT& copy_src); + safe_VkPastPresentationTimingInfoEXT(); + ~safe_VkPastPresentationTimingInfoEXT(); + void initialize(const VkPastPresentationTimingInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPastPresentationTimingInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkPastPresentationTimingInfoEXT* ptr() { return reinterpret_cast<VkPastPresentationTimingInfoEXT*>(this); } + VkPastPresentationTimingInfoEXT const* ptr() const { return reinterpret_cast<VkPastPresentationTimingInfoEXT const*>(this); } +}; +struct safe_VkPastPresentationTimingEXT { + VkStructureType sType; + void* pNext{}; + uint64_t presentId; + uint64_t targetTime; + uint32_t presentStageCount; + VkPresentStageTimeEXT* pPresentStages{}; + VkTimeDomainKHR timeDomain; + uint64_t timeDomainId; + VkBool32 reportComplete; + + safe_VkPastPresentationTimingEXT(const VkPastPresentationTimingEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPastPresentationTimingEXT(const safe_VkPastPresentationTimingEXT& copy_src); + safe_VkPastPresentationTimingEXT& operator=(const safe_VkPastPresentationTimingEXT& copy_src); + safe_VkPastPresentationTimingEXT(); + ~safe_VkPastPresentationTimingEXT(); + void initialize(const VkPastPresentationTimingEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPastPresentationTimingEXT* copy_src, PNextCopyState* copy_state = {}); + VkPastPresentationTimingEXT* ptr() { return reinterpret_cast<VkPastPresentationTimingEXT*>(this); } + VkPastPresentationTimingEXT const* ptr() const { return reinterpret_cast<VkPastPresentationTimingEXT const*>(this); } +}; +struct safe_VkPastPresentationTimingPropertiesEXT { + VkStructureType sType; + void* pNext{}; + uint64_t timingPropertiesCounter; + uint64_t timeDomainsCounter; + uint32_t presentationTimingCount; + safe_VkPastPresentationTimingEXT* pPresentationTimings{}; + + safe_VkPastPresentationTimingPropertiesEXT(const VkPastPresentationTimingPropertiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPastPresentationTimingPropertiesEXT(const safe_VkPastPresentationTimingPropertiesEXT& copy_src); + safe_VkPastPresentationTimingPropertiesEXT& operator=(const safe_VkPastPresentationTimingPropertiesEXT& copy_src); + safe_VkPastPresentationTimingPropertiesEXT(); + ~safe_VkPastPresentationTimingPropertiesEXT(); + void initialize(const VkPastPresentationTimingPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPastPresentationTimingPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPastPresentationTimingPropertiesEXT* ptr() { return reinterpret_cast<VkPastPresentationTimingPropertiesEXT*>(this); } + VkPastPresentationTimingPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPastPresentationTimingPropertiesEXT const*>(this); + } +}; +struct safe_VkPresentTimingInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkPresentTimingInfoFlagsEXT flags; + uint64_t targetTime; + uint64_t timeDomainId; + VkPresentStageFlagsEXT presentStageQueries; + VkPresentStageFlagsEXT targetTimeDomainPresentStage; + + safe_VkPresentTimingInfoEXT(const VkPresentTimingInfoEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPresentTimingInfoEXT(const safe_VkPresentTimingInfoEXT& copy_src); + safe_VkPresentTimingInfoEXT& operator=(const safe_VkPresentTimingInfoEXT& copy_src); + safe_VkPresentTimingInfoEXT(); + ~safe_VkPresentTimingInfoEXT(); + void initialize(const VkPresentTimingInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPresentTimingInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkPresentTimingInfoEXT* ptr() { return reinterpret_cast<VkPresentTimingInfoEXT*>(this); } + VkPresentTimingInfoEXT const* ptr() const { return reinterpret_cast<VkPresentTimingInfoEXT const*>(this); } +}; +struct safe_VkPresentTimingsInfoEXT { + VkStructureType sType; + const void* pNext{}; + uint32_t swapchainCount; + safe_VkPresentTimingInfoEXT* pTimingInfos{}; + + safe_VkPresentTimingsInfoEXT(const VkPresentTimingsInfoEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPresentTimingsInfoEXT(const safe_VkPresentTimingsInfoEXT& copy_src); + safe_VkPresentTimingsInfoEXT& operator=(const safe_VkPresentTimingsInfoEXT& copy_src); + safe_VkPresentTimingsInfoEXT(); + ~safe_VkPresentTimingsInfoEXT(); + void initialize(const VkPresentTimingsInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPresentTimingsInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkPresentTimingsInfoEXT* ptr() { return reinterpret_cast<VkPresentTimingsInfoEXT*>(this); } + VkPresentTimingsInfoEXT const* ptr() const { return reinterpret_cast<VkPresentTimingsInfoEXT const*>(this); } +}; struct safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL { VkStructureType sType; void* pNext{}; @@ -13180,174 +15386,6 @@ return reinterpret_cast<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT const*>(this); } }; -struct safe_VkSurfacePresentModeEXT { - VkStructureType sType; - void* pNext{}; - VkPresentModeKHR presentMode; - - safe_VkSurfacePresentModeEXT(const VkSurfacePresentModeEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSurfacePresentModeEXT(const safe_VkSurfacePresentModeEXT& copy_src); - safe_VkSurfacePresentModeEXT& operator=(const safe_VkSurfacePresentModeEXT& copy_src); - safe_VkSurfacePresentModeEXT(); - ~safe_VkSurfacePresentModeEXT(); - void initialize(const VkSurfacePresentModeEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSurfacePresentModeEXT* copy_src, PNextCopyState* copy_state = {}); - VkSurfacePresentModeEXT* ptr() { return reinterpret_cast<VkSurfacePresentModeEXT*>(this); } - VkSurfacePresentModeEXT const* ptr() const { return reinterpret_cast<VkSurfacePresentModeEXT const*>(this); } -}; -struct safe_VkSurfacePresentScalingCapabilitiesEXT { - VkStructureType sType; - void* pNext{}; - VkPresentScalingFlagsEXT supportedPresentScaling; - VkPresentGravityFlagsEXT supportedPresentGravityX; - VkPresentGravityFlagsEXT supportedPresentGravityY; - VkExtent2D minScaledImageExtent; - VkExtent2D maxScaledImageExtent; - - safe_VkSurfacePresentScalingCapabilitiesEXT(const VkSurfacePresentScalingCapabilitiesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSurfacePresentScalingCapabilitiesEXT(const safe_VkSurfacePresentScalingCapabilitiesEXT& copy_src); - safe_VkSurfacePresentScalingCapabilitiesEXT& operator=(const safe_VkSurfacePresentScalingCapabilitiesEXT& copy_src); - safe_VkSurfacePresentScalingCapabilitiesEXT(); - ~safe_VkSurfacePresentScalingCapabilitiesEXT(); - void initialize(const VkSurfacePresentScalingCapabilitiesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSurfacePresentScalingCapabilitiesEXT* copy_src, PNextCopyState* copy_state = {}); - VkSurfacePresentScalingCapabilitiesEXT* ptr() { return reinterpret_cast<VkSurfacePresentScalingCapabilitiesEXT*>(this); } - VkSurfacePresentScalingCapabilitiesEXT const* ptr() const { - return reinterpret_cast<VkSurfacePresentScalingCapabilitiesEXT const*>(this); - } -}; -struct safe_VkSurfacePresentModeCompatibilityEXT { - VkStructureType sType; - void* pNext{}; - uint32_t presentModeCount; - VkPresentModeKHR* pPresentModes{}; - - safe_VkSurfacePresentModeCompatibilityEXT(const VkSurfacePresentModeCompatibilityEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSurfacePresentModeCompatibilityEXT(const safe_VkSurfacePresentModeCompatibilityEXT& copy_src); - safe_VkSurfacePresentModeCompatibilityEXT& operator=(const safe_VkSurfacePresentModeCompatibilityEXT& copy_src); - safe_VkSurfacePresentModeCompatibilityEXT(); - ~safe_VkSurfacePresentModeCompatibilityEXT(); - void initialize(const VkSurfacePresentModeCompatibilityEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSurfacePresentModeCompatibilityEXT* copy_src, PNextCopyState* copy_state = {}); - VkSurfacePresentModeCompatibilityEXT* ptr() { return reinterpret_cast<VkSurfacePresentModeCompatibilityEXT*>(this); } - VkSurfacePresentModeCompatibilityEXT const* ptr() const { - return reinterpret_cast<VkSurfacePresentModeCompatibilityEXT const*>(this); - } -}; -struct safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { - VkStructureType sType; - void* pNext{}; - VkBool32 swapchainMaintenance1; - - safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT& copy_src); - safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT& operator=( - const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT& copy_src); - safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(); - ~safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(); - void initialize(const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* ptr() { - return reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT*>(this); - } - VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT const*>(this); - } -}; -struct safe_VkSwapchainPresentFenceInfoEXT { - VkStructureType sType; - const void* pNext{}; - uint32_t swapchainCount; - VkFence* pFences{}; - - safe_VkSwapchainPresentFenceInfoEXT(const VkSwapchainPresentFenceInfoEXT* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkSwapchainPresentFenceInfoEXT(const safe_VkSwapchainPresentFenceInfoEXT& copy_src); - safe_VkSwapchainPresentFenceInfoEXT& operator=(const safe_VkSwapchainPresentFenceInfoEXT& copy_src); - safe_VkSwapchainPresentFenceInfoEXT(); - ~safe_VkSwapchainPresentFenceInfoEXT(); - void initialize(const VkSwapchainPresentFenceInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSwapchainPresentFenceInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkSwapchainPresentFenceInfoEXT* ptr() { return reinterpret_cast<VkSwapchainPresentFenceInfoEXT*>(this); } - VkSwapchainPresentFenceInfoEXT const* ptr() const { return reinterpret_cast<VkSwapchainPresentFenceInfoEXT const*>(this); } -}; -struct safe_VkSwapchainPresentModesCreateInfoEXT { - VkStructureType sType; - const void* pNext{}; - uint32_t presentModeCount; - const VkPresentModeKHR* pPresentModes{}; - - safe_VkSwapchainPresentModesCreateInfoEXT(const VkSwapchainPresentModesCreateInfoEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSwapchainPresentModesCreateInfoEXT(const safe_VkSwapchainPresentModesCreateInfoEXT& copy_src); - safe_VkSwapchainPresentModesCreateInfoEXT& operator=(const safe_VkSwapchainPresentModesCreateInfoEXT& copy_src); - safe_VkSwapchainPresentModesCreateInfoEXT(); - ~safe_VkSwapchainPresentModesCreateInfoEXT(); - void initialize(const VkSwapchainPresentModesCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSwapchainPresentModesCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkSwapchainPresentModesCreateInfoEXT* ptr() { return reinterpret_cast<VkSwapchainPresentModesCreateInfoEXT*>(this); } - VkSwapchainPresentModesCreateInfoEXT const* ptr() const { - return reinterpret_cast<VkSwapchainPresentModesCreateInfoEXT const*>(this); - } -}; -struct safe_VkSwapchainPresentModeInfoEXT { - VkStructureType sType; - const void* pNext{}; - uint32_t swapchainCount; - const VkPresentModeKHR* pPresentModes{}; - - safe_VkSwapchainPresentModeInfoEXT(const VkSwapchainPresentModeInfoEXT* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkSwapchainPresentModeInfoEXT(const safe_VkSwapchainPresentModeInfoEXT& copy_src); - safe_VkSwapchainPresentModeInfoEXT& operator=(const safe_VkSwapchainPresentModeInfoEXT& copy_src); - safe_VkSwapchainPresentModeInfoEXT(); - ~safe_VkSwapchainPresentModeInfoEXT(); - void initialize(const VkSwapchainPresentModeInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSwapchainPresentModeInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkSwapchainPresentModeInfoEXT* ptr() { return reinterpret_cast<VkSwapchainPresentModeInfoEXT*>(this); } - VkSwapchainPresentModeInfoEXT const* ptr() const { return reinterpret_cast<VkSwapchainPresentModeInfoEXT const*>(this); } -}; -struct safe_VkSwapchainPresentScalingCreateInfoEXT { - VkStructureType sType; - const void* pNext{}; - VkPresentScalingFlagsEXT scalingBehavior; - VkPresentGravityFlagsEXT presentGravityX; - VkPresentGravityFlagsEXT presentGravityY; - - safe_VkSwapchainPresentScalingCreateInfoEXT(const VkSwapchainPresentScalingCreateInfoEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSwapchainPresentScalingCreateInfoEXT(const safe_VkSwapchainPresentScalingCreateInfoEXT& copy_src); - safe_VkSwapchainPresentScalingCreateInfoEXT& operator=(const safe_VkSwapchainPresentScalingCreateInfoEXT& copy_src); - safe_VkSwapchainPresentScalingCreateInfoEXT(); - ~safe_VkSwapchainPresentScalingCreateInfoEXT(); - void initialize(const VkSwapchainPresentScalingCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSwapchainPresentScalingCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkSwapchainPresentScalingCreateInfoEXT* ptr() { return reinterpret_cast<VkSwapchainPresentScalingCreateInfoEXT*>(this); } - VkSwapchainPresentScalingCreateInfoEXT const* ptr() const { - return reinterpret_cast<VkSwapchainPresentScalingCreateInfoEXT const*>(this); - } -}; -struct safe_VkReleaseSwapchainImagesInfoEXT { - VkStructureType sType; - const void* pNext{}; - VkSwapchainKHR swapchain; - uint32_t imageIndexCount; - const uint32_t* pImageIndices{}; - - safe_VkReleaseSwapchainImagesInfoEXT(const VkReleaseSwapchainImagesInfoEXT* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkReleaseSwapchainImagesInfoEXT(const safe_VkReleaseSwapchainImagesInfoEXT& copy_src); - safe_VkReleaseSwapchainImagesInfoEXT& operator=(const safe_VkReleaseSwapchainImagesInfoEXT& copy_src); - safe_VkReleaseSwapchainImagesInfoEXT(); - ~safe_VkReleaseSwapchainImagesInfoEXT(); - void initialize(const VkReleaseSwapchainImagesInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkReleaseSwapchainImagesInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkReleaseSwapchainImagesInfoEXT* ptr() { return reinterpret_cast<VkReleaseSwapchainImagesInfoEXT*>(this); } - VkReleaseSwapchainImagesInfoEXT const* ptr() const { return reinterpret_cast<VkReleaseSwapchainImagesInfoEXT const*>(this); } -}; struct safe_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV { VkStructureType sType; void* pNext{}; @@ -13613,7 +15651,7 @@ }; struct safe_VkRenderPassTransformBeginInfoQCOM { VkStructureType sType; - void* pNext{}; + const void* pNext{}; VkSurfaceTransformFlagBitsKHR transform; safe_VkRenderPassTransformBeginInfoQCOM(const VkRenderPassTransformBeginInfoQCOM* in_struct, PNextCopyState* copy_state = {}, @@ -13631,7 +15669,7 @@ }; struct safe_VkCommandBufferInheritanceRenderPassTransformInfoQCOM { VkStructureType sType; - void* pNext{}; + const void* pNext{}; VkSurfaceTransformFlagBitsKHR transform; VkRect2D renderArea; @@ -13775,64 +15813,6 @@ return reinterpret_cast<VkDeviceDeviceMemoryReportCreateInfoEXT const*>(this); } }; -struct safe_VkPhysicalDeviceRobustness2FeaturesEXT { - VkStructureType sType; - void* pNext{}; - VkBool32 robustBufferAccess2; - VkBool32 robustImageAccess2; - VkBool32 nullDescriptor; - - safe_VkPhysicalDeviceRobustness2FeaturesEXT(const VkPhysicalDeviceRobustness2FeaturesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceRobustness2FeaturesEXT(const safe_VkPhysicalDeviceRobustness2FeaturesEXT& copy_src); - safe_VkPhysicalDeviceRobustness2FeaturesEXT& operator=(const safe_VkPhysicalDeviceRobustness2FeaturesEXT& copy_src); - safe_VkPhysicalDeviceRobustness2FeaturesEXT(); - ~safe_VkPhysicalDeviceRobustness2FeaturesEXT(); - void initialize(const VkPhysicalDeviceRobustness2FeaturesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceRobustness2FeaturesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceRobustness2FeaturesEXT* ptr() { return reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT*>(this); } - VkPhysicalDeviceRobustness2FeaturesEXT const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceRobustness2FeaturesEXT const*>(this); - } -}; -struct safe_VkPhysicalDeviceRobustness2PropertiesEXT { - VkStructureType sType; - void* pNext{}; - VkDeviceSize robustStorageBufferAccessSizeAlignment; - VkDeviceSize robustUniformBufferAccessSizeAlignment; - - safe_VkPhysicalDeviceRobustness2PropertiesEXT(const VkPhysicalDeviceRobustness2PropertiesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceRobustness2PropertiesEXT(const safe_VkPhysicalDeviceRobustness2PropertiesEXT& copy_src); - safe_VkPhysicalDeviceRobustness2PropertiesEXT& operator=(const safe_VkPhysicalDeviceRobustness2PropertiesEXT& copy_src); - safe_VkPhysicalDeviceRobustness2PropertiesEXT(); - ~safe_VkPhysicalDeviceRobustness2PropertiesEXT(); - void initialize(const VkPhysicalDeviceRobustness2PropertiesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceRobustness2PropertiesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceRobustness2PropertiesEXT* ptr() { return reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT*>(this); } - VkPhysicalDeviceRobustness2PropertiesEXT const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceRobustness2PropertiesEXT const*>(this); - } -}; -struct safe_VkSamplerCustomBorderColorCreateInfoEXT { - VkStructureType sType; - const void* pNext{}; - VkClearColorValue customBorderColor; - VkFormat format; - - safe_VkSamplerCustomBorderColorCreateInfoEXT(const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSamplerCustomBorderColorCreateInfoEXT(const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src); - safe_VkSamplerCustomBorderColorCreateInfoEXT& operator=(const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src); - safe_VkSamplerCustomBorderColorCreateInfoEXT(); - ~safe_VkSamplerCustomBorderColorCreateInfoEXT(); - void initialize(const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSamplerCustomBorderColorCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); - VkSamplerCustomBorderColorCreateInfoEXT* ptr() { return reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT*>(this); } - VkSamplerCustomBorderColorCreateInfoEXT const* ptr() const { - return reinterpret_cast<VkSamplerCustomBorderColorCreateInfoEXT const*>(this); - } -}; struct safe_VkPhysicalDeviceCustomBorderColorPropertiesEXT { VkStructureType sType; void* pNext{}; @@ -13875,6 +15855,28 @@ return reinterpret_cast<VkPhysicalDeviceCustomBorderColorFeaturesEXT const*>(this); } }; +struct safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 textureCompressionASTC_3D; + + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src); + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& operator=( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src); + safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(); + ~safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(); + void initialize(const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT*>(this); + } + VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT const*>(this); + } +}; struct safe_VkPhysicalDevicePresentBarrierFeaturesNV { VkStructureType sType; void* pNext{}; @@ -13967,6 +15969,61 @@ return reinterpret_cast<VkDeviceDiagnosticsConfigCreateInfoNV const*>(this); } }; +struct safe_VkPerfHintInfoQCOM { + VkStructureType sType; + void* pNext{}; + VkPerfHintTypeQCOM type; + uint32_t scale; + + safe_VkPerfHintInfoQCOM(const VkPerfHintInfoQCOM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPerfHintInfoQCOM(const safe_VkPerfHintInfoQCOM& copy_src); + safe_VkPerfHintInfoQCOM& operator=(const safe_VkPerfHintInfoQCOM& copy_src); + safe_VkPerfHintInfoQCOM(); + ~safe_VkPerfHintInfoQCOM(); + void initialize(const VkPerfHintInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPerfHintInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPerfHintInfoQCOM* ptr() { return reinterpret_cast<VkPerfHintInfoQCOM*>(this); } + VkPerfHintInfoQCOM const* ptr() const { return reinterpret_cast<VkPerfHintInfoQCOM const*>(this); } +}; +struct safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 queuePerfHint; + + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& operator=(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(); + ~safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(); + void initialize(const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceQueuePerfHintFeaturesQCOM* ptr() { return reinterpret_cast<VkPhysicalDeviceQueuePerfHintFeaturesQCOM*>(this); } + VkPhysicalDeviceQueuePerfHintFeaturesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceQueuePerfHintFeaturesQCOM const*>(this); + } +}; +struct safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM { + VkStructureType sType; + void* pNext{}; + VkQueueFlags supportedQueues; + + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& operator=(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(); + ~safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(); + void initialize(const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceQueuePerfHintPropertiesQCOM* ptr() { + return reinterpret_cast<VkPhysicalDeviceQueuePerfHintPropertiesQCOM*>(this); + } + VkPhysicalDeviceQueuePerfHintPropertiesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceQueuePerfHintPropertiesQCOM const*>(this); + } +}; +#ifdef VK_ENABLE_BETA_EXTENSIONS struct safe_VkCudaModuleCreateInfoNV { VkStructureType sType; const void* pNext{}; @@ -14068,6 +16125,120 @@ return reinterpret_cast<VkPhysicalDeviceCudaKernelLaunchPropertiesNV const*>(this); } }; +#endif // VK_ENABLE_BETA_EXTENSIONS +struct safe_VkPhysicalDeviceTileShadingFeaturesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 tileShading; + VkBool32 tileShadingFragmentStage; + VkBool32 tileShadingColorAttachments; + VkBool32 tileShadingDepthAttachments; + VkBool32 tileShadingStencilAttachments; + VkBool32 tileShadingInputAttachments; + VkBool32 tileShadingSampledAttachments; + VkBool32 tileShadingPerTileDraw; + VkBool32 tileShadingPerTileDispatch; + VkBool32 tileShadingDispatchTile; + VkBool32 tileShadingApron; + VkBool32 tileShadingAnisotropicApron; + VkBool32 tileShadingAtomicOps; + VkBool32 tileShadingImageProcessing; + + safe_VkPhysicalDeviceTileShadingFeaturesQCOM(const VkPhysicalDeviceTileShadingFeaturesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTileShadingFeaturesQCOM(const safe_VkPhysicalDeviceTileShadingFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceTileShadingFeaturesQCOM& operator=(const safe_VkPhysicalDeviceTileShadingFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceTileShadingFeaturesQCOM(); + ~safe_VkPhysicalDeviceTileShadingFeaturesQCOM(); + void initialize(const VkPhysicalDeviceTileShadingFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTileShadingFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTileShadingFeaturesQCOM* ptr() { return reinterpret_cast<VkPhysicalDeviceTileShadingFeaturesQCOM*>(this); } + VkPhysicalDeviceTileShadingFeaturesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTileShadingFeaturesQCOM const*>(this); + } +}; +struct safe_VkPhysicalDeviceTileShadingPropertiesQCOM { + VkStructureType sType; + void* pNext{}; + uint32_t maxApronSize; + VkBool32 preferNonCoherent; + VkExtent2D tileGranularity; + VkExtent2D maxTileShadingRate; + + safe_VkPhysicalDeviceTileShadingPropertiesQCOM(const VkPhysicalDeviceTileShadingPropertiesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTileShadingPropertiesQCOM(const safe_VkPhysicalDeviceTileShadingPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceTileShadingPropertiesQCOM& operator=(const safe_VkPhysicalDeviceTileShadingPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceTileShadingPropertiesQCOM(); + ~safe_VkPhysicalDeviceTileShadingPropertiesQCOM(); + void initialize(const VkPhysicalDeviceTileShadingPropertiesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTileShadingPropertiesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTileShadingPropertiesQCOM* ptr() { return reinterpret_cast<VkPhysicalDeviceTileShadingPropertiesQCOM*>(this); } + VkPhysicalDeviceTileShadingPropertiesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTileShadingPropertiesQCOM const*>(this); + } +}; +struct safe_VkRenderPassTileShadingCreateInfoQCOM { + VkStructureType sType; + const void* pNext{}; + VkTileShadingRenderPassFlagsQCOM flags; + VkExtent2D tileApronSize; + + safe_VkRenderPassTileShadingCreateInfoQCOM(const VkRenderPassTileShadingCreateInfoQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderPassTileShadingCreateInfoQCOM(const safe_VkRenderPassTileShadingCreateInfoQCOM& copy_src); + safe_VkRenderPassTileShadingCreateInfoQCOM& operator=(const safe_VkRenderPassTileShadingCreateInfoQCOM& copy_src); + safe_VkRenderPassTileShadingCreateInfoQCOM(); + ~safe_VkRenderPassTileShadingCreateInfoQCOM(); + void initialize(const VkRenderPassTileShadingCreateInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassTileShadingCreateInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassTileShadingCreateInfoQCOM* ptr() { return reinterpret_cast<VkRenderPassTileShadingCreateInfoQCOM*>(this); } + VkRenderPassTileShadingCreateInfoQCOM const* ptr() const { + return reinterpret_cast<VkRenderPassTileShadingCreateInfoQCOM const*>(this); + } +}; +struct safe_VkPerTileBeginInfoQCOM { + VkStructureType sType; + const void* pNext{}; + + safe_VkPerTileBeginInfoQCOM(const VkPerTileBeginInfoQCOM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPerTileBeginInfoQCOM(const safe_VkPerTileBeginInfoQCOM& copy_src); + safe_VkPerTileBeginInfoQCOM& operator=(const safe_VkPerTileBeginInfoQCOM& copy_src); + safe_VkPerTileBeginInfoQCOM(); + ~safe_VkPerTileBeginInfoQCOM(); + void initialize(const VkPerTileBeginInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPerTileBeginInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPerTileBeginInfoQCOM* ptr() { return reinterpret_cast<VkPerTileBeginInfoQCOM*>(this); } + VkPerTileBeginInfoQCOM const* ptr() const { return reinterpret_cast<VkPerTileBeginInfoQCOM const*>(this); } +}; +struct safe_VkPerTileEndInfoQCOM { + VkStructureType sType; + const void* pNext{}; + + safe_VkPerTileEndInfoQCOM(const VkPerTileEndInfoQCOM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPerTileEndInfoQCOM(const safe_VkPerTileEndInfoQCOM& copy_src); + safe_VkPerTileEndInfoQCOM& operator=(const safe_VkPerTileEndInfoQCOM& copy_src); + safe_VkPerTileEndInfoQCOM(); + ~safe_VkPerTileEndInfoQCOM(); + void initialize(const VkPerTileEndInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPerTileEndInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPerTileEndInfoQCOM* ptr() { return reinterpret_cast<VkPerTileEndInfoQCOM*>(this); } + VkPerTileEndInfoQCOM const* ptr() const { return reinterpret_cast<VkPerTileEndInfoQCOM const*>(this); } +}; +struct safe_VkDispatchTileInfoQCOM { + VkStructureType sType; + const void* pNext{}; + + safe_VkDispatchTileInfoQCOM(const VkDispatchTileInfoQCOM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDispatchTileInfoQCOM(const safe_VkDispatchTileInfoQCOM& copy_src); + safe_VkDispatchTileInfoQCOM& operator=(const safe_VkDispatchTileInfoQCOM& copy_src); + safe_VkDispatchTileInfoQCOM(); + ~safe_VkDispatchTileInfoQCOM(); + void initialize(const VkDispatchTileInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDispatchTileInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkDispatchTileInfoQCOM* ptr() { return reinterpret_cast<VkDispatchTileInfoQCOM*>(this); } + VkDispatchTileInfoQCOM const* ptr() const { return reinterpret_cast<VkDispatchTileInfoQCOM const*>(this); } +}; struct safe_VkQueryLowLatencySupportNV { VkStructureType sType; const void* pNext{}; @@ -14340,29 +16511,6 @@ return reinterpret_cast<VkPhysicalDeviceDescriptorBufferPropertiesEXT const*>(this); } }; -struct safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { - VkStructureType sType; - void* pNext{}; - size_t combinedImageSamplerDensityMapDescriptorSize; - - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& operator=( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); - safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); - ~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); - void initialize(const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* ptr() { - return reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*>(this); - } - VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const*>(this); - } -}; struct safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -14575,6 +16723,29 @@ return reinterpret_cast<VkAccelerationStructureCaptureDescriptorDataInfoEXT const*>(this); } }; +struct safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { + VkStructureType sType; + void* pNext{}; + size_t combinedImageSamplerDensityMapDescriptorSize; + + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& operator=( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src); + safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); + ~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(); + void initialize(const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT*>(this); + } + VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT const*>(this); + } +}; struct safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -15028,8 +17199,8 @@ VkStructureType sType; void* pNext{}; char description[VK_MAX_DESCRIPTION_SIZE]; - VkDeviceFaultAddressInfoEXT* pAddressInfos{}; - VkDeviceFaultVendorInfoEXT* pVendorInfos{}; + VkDeviceFaultAddressInfoKHR* pAddressInfos{}; + VkDeviceFaultVendorInfoKHR* pVendorInfos{}; void* pVendorBinaryData{}; safe_VkDeviceFaultInfoEXT(const VkDeviceFaultInfoEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); @@ -15355,29 +17526,6 @@ return reinterpret_cast<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT const*>(this); } }; -struct safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT { - VkStructureType sType; - void* pNext{}; - VkBool32 presentModeFifoLatestReady; - - safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT( - const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* in_struct, PNextCopyState* copy_state = {}, - bool copy_pnext = true); - safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT( - const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT& copy_src); - safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT& operator=( - const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT& copy_src); - safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT(); - ~safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT(); - void initialize(const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* ptr() { - return reinterpret_cast<VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT*>(this); - } - VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT const* ptr() const { - return reinterpret_cast<VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT const*>(this); - } -}; #ifdef VK_USE_PLATFORM_FUCHSIA struct safe_VkImportMemoryZirconHandleInfoFUCHSIA { VkStructureType sType; @@ -16043,6 +18191,96 @@ return reinterpret_cast<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT const*>(this); } }; +struct safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE { + VkStructureType sType; + void* pNext{}; + VkBool32 videoEncodeRgbConversion; + + safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE( + const VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE( + const safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE& copy_src); + safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE& operator=( + const safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE& copy_src); + safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE(); + ~safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE(); + void initialize(const VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* ptr() { + return reinterpret_cast<VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE*>(this); + } + VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE const*>(this); + } +}; +struct safe_VkVideoEncodeRgbConversionCapabilitiesVALVE { + VkStructureType sType; + void* pNext{}; + VkVideoEncodeRgbModelConversionFlagsVALVE rgbModels; + VkVideoEncodeRgbRangeCompressionFlagsVALVE rgbRanges; + VkVideoEncodeRgbChromaOffsetFlagsVALVE xChromaOffsets; + VkVideoEncodeRgbChromaOffsetFlagsVALVE yChromaOffsets; + + safe_VkVideoEncodeRgbConversionCapabilitiesVALVE(const VkVideoEncodeRgbConversionCapabilitiesVALVE* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoEncodeRgbConversionCapabilitiesVALVE(const safe_VkVideoEncodeRgbConversionCapabilitiesVALVE& copy_src); + safe_VkVideoEncodeRgbConversionCapabilitiesVALVE& operator=(const safe_VkVideoEncodeRgbConversionCapabilitiesVALVE& copy_src); + safe_VkVideoEncodeRgbConversionCapabilitiesVALVE(); + ~safe_VkVideoEncodeRgbConversionCapabilitiesVALVE(); + void initialize(const VkVideoEncodeRgbConversionCapabilitiesVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoEncodeRgbConversionCapabilitiesVALVE* copy_src, PNextCopyState* copy_state = {}); + VkVideoEncodeRgbConversionCapabilitiesVALVE* ptr() { + return reinterpret_cast<VkVideoEncodeRgbConversionCapabilitiesVALVE*>(this); + } + VkVideoEncodeRgbConversionCapabilitiesVALVE const* ptr() const { + return reinterpret_cast<VkVideoEncodeRgbConversionCapabilitiesVALVE const*>(this); + } +}; +struct safe_VkVideoEncodeProfileRgbConversionInfoVALVE { + VkStructureType sType; + const void* pNext{}; + VkBool32 performEncodeRgbConversion; + + safe_VkVideoEncodeProfileRgbConversionInfoVALVE(const VkVideoEncodeProfileRgbConversionInfoVALVE* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoEncodeProfileRgbConversionInfoVALVE(const safe_VkVideoEncodeProfileRgbConversionInfoVALVE& copy_src); + safe_VkVideoEncodeProfileRgbConversionInfoVALVE& operator=(const safe_VkVideoEncodeProfileRgbConversionInfoVALVE& copy_src); + safe_VkVideoEncodeProfileRgbConversionInfoVALVE(); + ~safe_VkVideoEncodeProfileRgbConversionInfoVALVE(); + void initialize(const VkVideoEncodeProfileRgbConversionInfoVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoEncodeProfileRgbConversionInfoVALVE* copy_src, PNextCopyState* copy_state = {}); + VkVideoEncodeProfileRgbConversionInfoVALVE* ptr() { + return reinterpret_cast<VkVideoEncodeProfileRgbConversionInfoVALVE*>(this); + } + VkVideoEncodeProfileRgbConversionInfoVALVE const* ptr() const { + return reinterpret_cast<VkVideoEncodeProfileRgbConversionInfoVALVE const*>(this); + } +}; +struct safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE { + VkStructureType sType; + const void* pNext{}; + VkVideoEncodeRgbModelConversionFlagBitsVALVE rgbModel; + VkVideoEncodeRgbRangeCompressionFlagBitsVALVE rgbRange; + VkVideoEncodeRgbChromaOffsetFlagBitsVALVE xChromaOffset; + VkVideoEncodeRgbChromaOffsetFlagBitsVALVE yChromaOffset; + + safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE(const VkVideoEncodeSessionRgbConversionCreateInfoVALVE* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE(const safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE& copy_src); + safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE& operator=( + const safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE& copy_src); + safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE(); + ~safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE(); + void initialize(const VkVideoEncodeSessionRgbConversionCreateInfoVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE* copy_src, PNextCopyState* copy_state = {}); + VkVideoEncodeSessionRgbConversionCreateInfoVALVE* ptr() { + return reinterpret_cast<VkVideoEncodeSessionRgbConversionCreateInfoVALVE*>(this); + } + VkVideoEncodeSessionRgbConversionCreateInfoVALVE const* ptr() const { + return reinterpret_cast<VkVideoEncodeSessionRgbConversionCreateInfoVALVE const*>(this); + } +}; struct safe_VkPhysicalDeviceImageViewMinLodFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -16699,6 +18937,50 @@ return reinterpret_cast<VkPhysicalDeviceSchedulingControlsPropertiesARM const*>(this); } }; +struct safe_VkDispatchParametersARM { + VkStructureType sType; + void* pNext{}; + uint32_t workGroupBatchSize; + uint32_t maxQueuedWorkGroupBatches; + uint32_t maxWarpsPerShaderCore; + + safe_VkDispatchParametersARM(const VkDispatchParametersARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDispatchParametersARM(const safe_VkDispatchParametersARM& copy_src); + safe_VkDispatchParametersARM& operator=(const safe_VkDispatchParametersARM& copy_src); + safe_VkDispatchParametersARM(); + ~safe_VkDispatchParametersARM(); + void initialize(const VkDispatchParametersARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDispatchParametersARM* copy_src, PNextCopyState* copy_state = {}); + VkDispatchParametersARM* ptr() { return reinterpret_cast<VkDispatchParametersARM*>(this); } + VkDispatchParametersARM const* ptr() const { return reinterpret_cast<VkDispatchParametersARM const*>(this); } +}; +struct safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t schedulingControlsMaxWarpsCount; + uint32_t schedulingControlsMaxQueuedBatchesCount; + uint32_t schedulingControlsMaxWorkGroupBatchSize; + + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src); + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& operator=( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src); + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM(); + ~safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM(); + void initialize(const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, + PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM*>(this); + } + VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM const*>(this); + } +}; struct safe_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -16798,26 +19080,6 @@ return reinterpret_cast<VkDescriptorSetLayoutHostMappingInfoVALVE const*>(this); } }; -struct safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT { - VkStructureType sType; - void* pNext{}; - VkBool32 depthClampZeroOne; - - safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& copy_src); - safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& operator=(const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& copy_src); - safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(); - ~safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(); - void initialize(const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* ptr() { - return reinterpret_cast<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT*>(this); - } - VkPhysicalDeviceDepthClampZeroOneFeaturesEXT const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT const*>(this); - } -}; struct safe_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -16931,70 +19193,71 @@ VkRenderPassStripeSubmitInfoARM* ptr() { return reinterpret_cast<VkRenderPassStripeSubmitInfoARM*>(this); } VkRenderPassStripeSubmitInfoARM const* ptr() const { return reinterpret_cast<VkRenderPassStripeSubmitInfoARM const*>(this); } }; -struct safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM { +struct safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT { VkStructureType sType; void* pNext{}; VkBool32 fragmentDensityMapOffset; - safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& copy_src); - safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& operator=( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& copy_src); - safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(); - ~safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(); - void initialize(const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* ptr() { - return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM*>(this); + safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT(const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT& operator=( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT(); + ~safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT(); + void initialize(const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT*>(this); } - VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM const*>(this); + VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT const*>(this); } }; -struct safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM { +struct safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT { VkStructureType sType; void* pNext{}; VkExtent2D fragmentDensityOffsetGranularity; - safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( - const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* in_struct, PNextCopyState* copy_state = {}, + safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT( + const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& copy_src); - safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& operator=( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& copy_src); - safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(); - ~safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(); - void initialize(const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* ptr() { - return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM*>(this); + safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT& operator=( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT(); + ~safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT(); + void initialize(const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT*>(this); } - VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM const*>(this); + VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT const*>(this); } }; -struct safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM { +struct safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT { VkStructureType sType; const void* pNext{}; uint32_t fragmentDensityOffsetCount; const VkOffset2D* pFragmentDensityOffsets{}; - safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(const safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM& copy_src); - safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM& operator=(const safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM& copy_src); - safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(); - ~safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(); - void initialize(const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM* copy_src, PNextCopyState* copy_state = {}); - VkSubpassFragmentDensityMapOffsetEndInfoQCOM* ptr() { - return reinterpret_cast<VkSubpassFragmentDensityMapOffsetEndInfoQCOM*>(this); + safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT(const VkRenderPassFragmentDensityMapOffsetEndInfoEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT(const safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT& copy_src); + safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT& operator=( + const safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT& copy_src); + safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT(); + ~safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT(); + void initialize(const VkRenderPassFragmentDensityMapOffsetEndInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassFragmentDensityMapOffsetEndInfoEXT* ptr() { + return reinterpret_cast<VkRenderPassFragmentDensityMapOffsetEndInfoEXT*>(this); } - VkSubpassFragmentDensityMapOffsetEndInfoQCOM const* ptr() const { - return reinterpret_cast<VkSubpassFragmentDensityMapOffsetEndInfoQCOM const*>(this); + VkRenderPassFragmentDensityMapOffsetEndInfoEXT const* ptr() const { + return reinterpret_cast<VkRenderPassFragmentDensityMapOffsetEndInfoEXT const*>(this); } }; struct safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { @@ -17017,68 +19280,47 @@ return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectFeaturesNV const*>(this); } }; -struct safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { - VkStructureType sType; - void* pNext{}; - VkQueueFlags supportedQueues; - - safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV& copy_src); - safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV& operator=( - const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV& copy_src); - safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(); - ~safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(); - void initialize(const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* ptr() { - return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectPropertiesNV*>(this); - } - VkPhysicalDeviceCopyMemoryIndirectPropertiesNV const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceCopyMemoryIndirectPropertiesNV const*>(this); - } -}; -struct safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV { +struct safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT { VkStructureType sType; void* pNext{}; VkBool32 memoryDecompression; - safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV(const VkPhysicalDeviceMemoryDecompressionFeaturesNV* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV(const safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV& copy_src); - safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV& operator=( - const safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV& copy_src); - safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV(); - ~safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV(); - void initialize(const VkPhysicalDeviceMemoryDecompressionFeaturesNV* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceMemoryDecompressionFeaturesNV* ptr() { - return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionFeaturesNV*>(this); + safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT(const VkPhysicalDeviceMemoryDecompressionFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT(const safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT& copy_src); + safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT& operator=( + const safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT& copy_src); + safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT(); + ~safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT(); + void initialize(const VkPhysicalDeviceMemoryDecompressionFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMemoryDecompressionFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionFeaturesEXT*>(this); } - VkPhysicalDeviceMemoryDecompressionFeaturesNV const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionFeaturesNV const*>(this); + VkPhysicalDeviceMemoryDecompressionFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionFeaturesEXT const*>(this); } }; -struct safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV { +struct safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT { VkStructureType sType; void* pNext{}; - VkMemoryDecompressionMethodFlagsNV decompressionMethods; + VkMemoryDecompressionMethodFlagsEXT decompressionMethods; uint64_t maxDecompressionIndirectCount; - safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV(const VkPhysicalDeviceMemoryDecompressionPropertiesNV* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV(const safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV& copy_src); - safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV& operator=( - const safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV& copy_src); - safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV(); - ~safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV(); - void initialize(const VkPhysicalDeviceMemoryDecompressionPropertiesNV* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV* copy_src, PNextCopyState* copy_state = {}); - VkPhysicalDeviceMemoryDecompressionPropertiesNV* ptr() { - return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionPropertiesNV*>(this); + safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT(const VkPhysicalDeviceMemoryDecompressionPropertiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT(const safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT& copy_src); + safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT& operator=( + const safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT& copy_src); + safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT(); + ~safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT(); + void initialize(const VkPhysicalDeviceMemoryDecompressionPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceMemoryDecompressionPropertiesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionPropertiesEXT*>(this); } - VkPhysicalDeviceMemoryDecompressionPropertiesNV const* ptr() const { - return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionPropertiesNV const*>(this); + VkPhysicalDeviceMemoryDecompressionPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceMemoryDecompressionPropertiesEXT const*>(this); } }; struct safe_VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { @@ -17145,6 +19387,91 @@ return reinterpret_cast<VkPipelineIndirectDeviceAddressInfoNV const*>(this); } }; +struct safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 spheres; + VkBool32 linearSweptSpheres; + + safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV( + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV( + const safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV& copy_src); + safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV& operator=( + const safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV& copy_src); + safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV(); + ~safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV(); + void initialize(const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV*>(this); + } + VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV const*>(this); + } +}; +struct safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV { + VkStructureType sType; + const void* pNext{}; + VkFormat vertexFormat; + safe_VkDeviceOrHostAddressConstKHR vertexData; + VkDeviceSize vertexStride; + VkFormat radiusFormat; + safe_VkDeviceOrHostAddressConstKHR radiusData; + VkDeviceSize radiusStride; + VkIndexType indexType; + safe_VkDeviceOrHostAddressConstKHR indexData; + VkDeviceSize indexStride; + VkRayTracingLssIndexingModeNV indexingMode; + VkRayTracingLssPrimitiveEndCapsModeNV endCapsMode; + + safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV( + const VkAccelerationStructureGeometryLinearSweptSpheresDataNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV( + const safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV& copy_src); + safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV& operator=( + const safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV& copy_src); + safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV(); + ~safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV(); + void initialize(const VkAccelerationStructureGeometryLinearSweptSpheresDataNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV* copy_src, PNextCopyState* copy_state = {}); + VkAccelerationStructureGeometryLinearSweptSpheresDataNV* ptr() { + return reinterpret_cast<VkAccelerationStructureGeometryLinearSweptSpheresDataNV*>(this); + } + VkAccelerationStructureGeometryLinearSweptSpheresDataNV const* ptr() const { + return reinterpret_cast<VkAccelerationStructureGeometryLinearSweptSpheresDataNV const*>(this); + } +}; +struct safe_VkAccelerationStructureGeometrySpheresDataNV { + VkStructureType sType; + const void* pNext{}; + VkFormat vertexFormat; + safe_VkDeviceOrHostAddressConstKHR vertexData; + VkDeviceSize vertexStride; + VkFormat radiusFormat; + safe_VkDeviceOrHostAddressConstKHR radiusData; + VkDeviceSize radiusStride; + VkIndexType indexType; + safe_VkDeviceOrHostAddressConstKHR indexData; + VkDeviceSize indexStride; + + safe_VkAccelerationStructureGeometrySpheresDataNV(const VkAccelerationStructureGeometrySpheresDataNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkAccelerationStructureGeometrySpheresDataNV(const safe_VkAccelerationStructureGeometrySpheresDataNV& copy_src); + safe_VkAccelerationStructureGeometrySpheresDataNV& operator=(const safe_VkAccelerationStructureGeometrySpheresDataNV& copy_src); + safe_VkAccelerationStructureGeometrySpheresDataNV(); + ~safe_VkAccelerationStructureGeometrySpheresDataNV(); + void initialize(const VkAccelerationStructureGeometrySpheresDataNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAccelerationStructureGeometrySpheresDataNV* copy_src, PNextCopyState* copy_state = {}); + VkAccelerationStructureGeometrySpheresDataNV* ptr() { + return reinterpret_cast<VkAccelerationStructureGeometrySpheresDataNV*>(this); + } + VkAccelerationStructureGeometrySpheresDataNV const* ptr() const { + return reinterpret_cast<VkAccelerationStructureGeometrySpheresDataNV const*>(this); + } +}; struct safe_VkPhysicalDeviceLinearColorAttachmentFeaturesNV { VkStructureType sType; void* pNext{}; @@ -17300,6 +19627,112 @@ return reinterpret_cast<VkPhysicalDeviceNestedCommandBufferPropertiesEXT const*>(this); } }; +#ifdef VK_USE_PLATFORM_OHOS +struct safe_VkNativeBufferUsageOHOS { + VkStructureType sType; + void* pNext{}; + uint64_t OHOSNativeBufferUsage; + + safe_VkNativeBufferUsageOHOS(const VkNativeBufferUsageOHOS* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkNativeBufferUsageOHOS(const safe_VkNativeBufferUsageOHOS& copy_src); + safe_VkNativeBufferUsageOHOS& operator=(const safe_VkNativeBufferUsageOHOS& copy_src); + safe_VkNativeBufferUsageOHOS(); + ~safe_VkNativeBufferUsageOHOS(); + void initialize(const VkNativeBufferUsageOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkNativeBufferUsageOHOS* copy_src, PNextCopyState* copy_state = {}); + VkNativeBufferUsageOHOS* ptr() { return reinterpret_cast<VkNativeBufferUsageOHOS*>(this); } + VkNativeBufferUsageOHOS const* ptr() const { return reinterpret_cast<VkNativeBufferUsageOHOS const*>(this); } +}; +struct safe_VkNativeBufferPropertiesOHOS { + VkStructureType sType; + void* pNext{}; + VkDeviceSize allocationSize; + uint32_t memoryTypeBits; + + safe_VkNativeBufferPropertiesOHOS(const VkNativeBufferPropertiesOHOS* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkNativeBufferPropertiesOHOS(const safe_VkNativeBufferPropertiesOHOS& copy_src); + safe_VkNativeBufferPropertiesOHOS& operator=(const safe_VkNativeBufferPropertiesOHOS& copy_src); + safe_VkNativeBufferPropertiesOHOS(); + ~safe_VkNativeBufferPropertiesOHOS(); + void initialize(const VkNativeBufferPropertiesOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkNativeBufferPropertiesOHOS* copy_src, PNextCopyState* copy_state = {}); + VkNativeBufferPropertiesOHOS* ptr() { return reinterpret_cast<VkNativeBufferPropertiesOHOS*>(this); } + VkNativeBufferPropertiesOHOS const* ptr() const { return reinterpret_cast<VkNativeBufferPropertiesOHOS const*>(this); } +}; +struct safe_VkNativeBufferFormatPropertiesOHOS { + VkStructureType sType; + void* pNext{}; + VkFormat format; + uint64_t externalFormat; + VkFormatFeatureFlags formatFeatures; + VkComponentMapping samplerYcbcrConversionComponents; + VkSamplerYcbcrModelConversion suggestedYcbcrModel; + VkSamplerYcbcrRange suggestedYcbcrRange; + VkChromaLocation suggestedXChromaOffset; + VkChromaLocation suggestedYChromaOffset; + + safe_VkNativeBufferFormatPropertiesOHOS(const VkNativeBufferFormatPropertiesOHOS* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkNativeBufferFormatPropertiesOHOS(const safe_VkNativeBufferFormatPropertiesOHOS& copy_src); + safe_VkNativeBufferFormatPropertiesOHOS& operator=(const safe_VkNativeBufferFormatPropertiesOHOS& copy_src); + safe_VkNativeBufferFormatPropertiesOHOS(); + ~safe_VkNativeBufferFormatPropertiesOHOS(); + void initialize(const VkNativeBufferFormatPropertiesOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkNativeBufferFormatPropertiesOHOS* copy_src, PNextCopyState* copy_state = {}); + VkNativeBufferFormatPropertiesOHOS* ptr() { return reinterpret_cast<VkNativeBufferFormatPropertiesOHOS*>(this); } + VkNativeBufferFormatPropertiesOHOS const* ptr() const { + return reinterpret_cast<VkNativeBufferFormatPropertiesOHOS const*>(this); + } +}; +struct safe_VkImportNativeBufferInfoOHOS { + VkStructureType sType; + const void* pNext{}; + struct OH_NativeBuffer* buffer{}; + + safe_VkImportNativeBufferInfoOHOS(const VkImportNativeBufferInfoOHOS* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkImportNativeBufferInfoOHOS(const safe_VkImportNativeBufferInfoOHOS& copy_src); + safe_VkImportNativeBufferInfoOHOS& operator=(const safe_VkImportNativeBufferInfoOHOS& copy_src); + safe_VkImportNativeBufferInfoOHOS(); + ~safe_VkImportNativeBufferInfoOHOS(); + void initialize(const VkImportNativeBufferInfoOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImportNativeBufferInfoOHOS* copy_src, PNextCopyState* copy_state = {}); + VkImportNativeBufferInfoOHOS* ptr() { return reinterpret_cast<VkImportNativeBufferInfoOHOS*>(this); } + VkImportNativeBufferInfoOHOS const* ptr() const { return reinterpret_cast<VkImportNativeBufferInfoOHOS const*>(this); } +}; +struct safe_VkMemoryGetNativeBufferInfoOHOS { + VkStructureType sType; + const void* pNext{}; + VkDeviceMemory memory; + + safe_VkMemoryGetNativeBufferInfoOHOS(const VkMemoryGetNativeBufferInfoOHOS* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkMemoryGetNativeBufferInfoOHOS(const safe_VkMemoryGetNativeBufferInfoOHOS& copy_src); + safe_VkMemoryGetNativeBufferInfoOHOS& operator=(const safe_VkMemoryGetNativeBufferInfoOHOS& copy_src); + safe_VkMemoryGetNativeBufferInfoOHOS(); + ~safe_VkMemoryGetNativeBufferInfoOHOS(); + void initialize(const VkMemoryGetNativeBufferInfoOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryGetNativeBufferInfoOHOS* copy_src, PNextCopyState* copy_state = {}); + VkMemoryGetNativeBufferInfoOHOS* ptr() { return reinterpret_cast<VkMemoryGetNativeBufferInfoOHOS*>(this); } + VkMemoryGetNativeBufferInfoOHOS const* ptr() const { return reinterpret_cast<VkMemoryGetNativeBufferInfoOHOS const*>(this); } +}; +struct safe_VkExternalFormatOHOS { + VkStructureType sType; + void* pNext{}; + uint64_t externalFormat; + + safe_VkExternalFormatOHOS(const VkExternalFormatOHOS* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkExternalFormatOHOS(const safe_VkExternalFormatOHOS& copy_src); + safe_VkExternalFormatOHOS& operator=(const safe_VkExternalFormatOHOS& copy_src); + safe_VkExternalFormatOHOS(); + ~safe_VkExternalFormatOHOS(); + void initialize(const VkExternalFormatOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkExternalFormatOHOS* copy_src, PNextCopyState* copy_state = {}); + VkExternalFormatOHOS* ptr() { return reinterpret_cast<VkExternalFormatOHOS*>(this); } + VkExternalFormatOHOS const* ptr() const { return reinterpret_cast<VkExternalFormatOHOS const*>(this); } +}; +#endif // VK_USE_PLATFORM_OHOS struct safe_VkExternalMemoryAcquireUnmodifiedEXT { VkStructureType sType; const void* pNext{}; @@ -17499,6 +19932,447 @@ VkDirectDriverLoadingListLUNARG* ptr() { return reinterpret_cast<VkDirectDriverLoadingListLUNARG*>(this); } VkDirectDriverLoadingListLUNARG const* ptr() const { return reinterpret_cast<VkDirectDriverLoadingListLUNARG const*>(this); } }; +struct safe_VkTensorDescriptionARM { + VkStructureType sType; + const void* pNext{}; + VkTensorTilingARM tiling; + VkFormat format; + uint32_t dimensionCount; + const int64_t* pDimensions{}; + const int64_t* pStrides{}; + VkTensorUsageFlagsARM usage; + + safe_VkTensorDescriptionARM(const VkTensorDescriptionARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkTensorDescriptionARM(const safe_VkTensorDescriptionARM& copy_src); + safe_VkTensorDescriptionARM& operator=(const safe_VkTensorDescriptionARM& copy_src); + safe_VkTensorDescriptionARM(); + ~safe_VkTensorDescriptionARM(); + void initialize(const VkTensorDescriptionARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorDescriptionARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorDescriptionARM* ptr() { return reinterpret_cast<VkTensorDescriptionARM*>(this); } + VkTensorDescriptionARM const* ptr() const { return reinterpret_cast<VkTensorDescriptionARM const*>(this); } +}; +struct safe_VkTensorCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorCreateFlagsARM flags; + safe_VkTensorDescriptionARM* pDescription{}; + VkSharingMode sharingMode; + uint32_t queueFamilyIndexCount; + const uint32_t* pQueueFamilyIndices{}; + + safe_VkTensorCreateInfoARM(const VkTensorCreateInfoARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkTensorCreateInfoARM(const safe_VkTensorCreateInfoARM& copy_src); + safe_VkTensorCreateInfoARM& operator=(const safe_VkTensorCreateInfoARM& copy_src); + safe_VkTensorCreateInfoARM(); + ~safe_VkTensorCreateInfoARM(); + void initialize(const VkTensorCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorCreateInfoARM* ptr() { return reinterpret_cast<VkTensorCreateInfoARM*>(this); } + VkTensorCreateInfoARM const* ptr() const { return reinterpret_cast<VkTensorCreateInfoARM const*>(this); } +}; +struct safe_VkTensorMemoryRequirementsInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorARM tensor; + + safe_VkTensorMemoryRequirementsInfoARM(const VkTensorMemoryRequirementsInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTensorMemoryRequirementsInfoARM(const safe_VkTensorMemoryRequirementsInfoARM& copy_src); + safe_VkTensorMemoryRequirementsInfoARM& operator=(const safe_VkTensorMemoryRequirementsInfoARM& copy_src); + safe_VkTensorMemoryRequirementsInfoARM(); + ~safe_VkTensorMemoryRequirementsInfoARM(); + void initialize(const VkTensorMemoryRequirementsInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorMemoryRequirementsInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorMemoryRequirementsInfoARM* ptr() { return reinterpret_cast<VkTensorMemoryRequirementsInfoARM*>(this); } + VkTensorMemoryRequirementsInfoARM const* ptr() const { + return reinterpret_cast<VkTensorMemoryRequirementsInfoARM const*>(this); + } +}; +struct safe_VkBindTensorMemoryInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorARM tensor; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + + safe_VkBindTensorMemoryInfoARM(const VkBindTensorMemoryInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkBindTensorMemoryInfoARM(const safe_VkBindTensorMemoryInfoARM& copy_src); + safe_VkBindTensorMemoryInfoARM& operator=(const safe_VkBindTensorMemoryInfoARM& copy_src); + safe_VkBindTensorMemoryInfoARM(); + ~safe_VkBindTensorMemoryInfoARM(); + void initialize(const VkBindTensorMemoryInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindTensorMemoryInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkBindTensorMemoryInfoARM* ptr() { return reinterpret_cast<VkBindTensorMemoryInfoARM*>(this); } + VkBindTensorMemoryInfoARM const* ptr() const { return reinterpret_cast<VkBindTensorMemoryInfoARM const*>(this); } +}; +struct safe_VkWriteDescriptorSetTensorARM { + VkStructureType sType; + const void* pNext{}; + uint32_t tensorViewCount; + VkTensorViewARM* pTensorViews{}; + + safe_VkWriteDescriptorSetTensorARM(const VkWriteDescriptorSetTensorARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkWriteDescriptorSetTensorARM(const safe_VkWriteDescriptorSetTensorARM& copy_src); + safe_VkWriteDescriptorSetTensorARM& operator=(const safe_VkWriteDescriptorSetTensorARM& copy_src); + safe_VkWriteDescriptorSetTensorARM(); + ~safe_VkWriteDescriptorSetTensorARM(); + void initialize(const VkWriteDescriptorSetTensorARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkWriteDescriptorSetTensorARM* copy_src, PNextCopyState* copy_state = {}); + VkWriteDescriptorSetTensorARM* ptr() { return reinterpret_cast<VkWriteDescriptorSetTensorARM*>(this); } + VkWriteDescriptorSetTensorARM const* ptr() const { return reinterpret_cast<VkWriteDescriptorSetTensorARM const*>(this); } +}; +struct safe_VkTensorFormatPropertiesARM { + VkStructureType sType; + void* pNext{}; + VkFormatFeatureFlags2 optimalTilingTensorFeatures; + VkFormatFeatureFlags2 linearTilingTensorFeatures; + + safe_VkTensorFormatPropertiesARM(const VkTensorFormatPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTensorFormatPropertiesARM(const safe_VkTensorFormatPropertiesARM& copy_src); + safe_VkTensorFormatPropertiesARM& operator=(const safe_VkTensorFormatPropertiesARM& copy_src); + safe_VkTensorFormatPropertiesARM(); + ~safe_VkTensorFormatPropertiesARM(); + void initialize(const VkTensorFormatPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorFormatPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorFormatPropertiesARM* ptr() { return reinterpret_cast<VkTensorFormatPropertiesARM*>(this); } + VkTensorFormatPropertiesARM const* ptr() const { return reinterpret_cast<VkTensorFormatPropertiesARM const*>(this); } +}; +struct safe_VkPhysicalDeviceTensorPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t maxTensorDimensionCount; + uint64_t maxTensorElements; + uint64_t maxPerDimensionTensorElements; + int64_t maxTensorStride; + uint64_t maxTensorSize; + uint32_t maxTensorShaderAccessArrayLength; + uint32_t maxTensorShaderAccessSize; + uint32_t maxDescriptorSetStorageTensors; + uint32_t maxPerStageDescriptorSetStorageTensors; + uint32_t maxDescriptorSetUpdateAfterBindStorageTensors; + uint32_t maxPerStageDescriptorUpdateAfterBindStorageTensors; + VkBool32 shaderStorageTensorArrayNonUniformIndexingNative; + VkShaderStageFlags shaderTensorSupportedStages; + + safe_VkPhysicalDeviceTensorPropertiesARM(const VkPhysicalDeviceTensorPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceTensorPropertiesARM(const safe_VkPhysicalDeviceTensorPropertiesARM& copy_src); + safe_VkPhysicalDeviceTensorPropertiesARM& operator=(const safe_VkPhysicalDeviceTensorPropertiesARM& copy_src); + safe_VkPhysicalDeviceTensorPropertiesARM(); + ~safe_VkPhysicalDeviceTensorPropertiesARM(); + void initialize(const VkPhysicalDeviceTensorPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTensorPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTensorPropertiesARM* ptr() { return reinterpret_cast<VkPhysicalDeviceTensorPropertiesARM*>(this); } + VkPhysicalDeviceTensorPropertiesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTensorPropertiesARM const*>(this); + } +}; +struct safe_VkTensorMemoryBarrierARM { + VkStructureType sType; + const void* pNext{}; + VkPipelineStageFlags2 srcStageMask; + VkAccessFlags2 srcAccessMask; + VkPipelineStageFlags2 dstStageMask; + VkAccessFlags2 dstAccessMask; + uint32_t srcQueueFamilyIndex; + uint32_t dstQueueFamilyIndex; + VkTensorARM tensor; + + safe_VkTensorMemoryBarrierARM(const VkTensorMemoryBarrierARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTensorMemoryBarrierARM(const safe_VkTensorMemoryBarrierARM& copy_src); + safe_VkTensorMemoryBarrierARM& operator=(const safe_VkTensorMemoryBarrierARM& copy_src); + safe_VkTensorMemoryBarrierARM(); + ~safe_VkTensorMemoryBarrierARM(); + void initialize(const VkTensorMemoryBarrierARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorMemoryBarrierARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorMemoryBarrierARM* ptr() { return reinterpret_cast<VkTensorMemoryBarrierARM*>(this); } + VkTensorMemoryBarrierARM const* ptr() const { return reinterpret_cast<VkTensorMemoryBarrierARM const*>(this); } +}; +struct safe_VkTensorDependencyInfoARM { + VkStructureType sType; + const void* pNext{}; + uint32_t tensorMemoryBarrierCount; + safe_VkTensorMemoryBarrierARM* pTensorMemoryBarriers{}; + + safe_VkTensorDependencyInfoARM(const VkTensorDependencyInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTensorDependencyInfoARM(const safe_VkTensorDependencyInfoARM& copy_src); + safe_VkTensorDependencyInfoARM& operator=(const safe_VkTensorDependencyInfoARM& copy_src); + safe_VkTensorDependencyInfoARM(); + ~safe_VkTensorDependencyInfoARM(); + void initialize(const VkTensorDependencyInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorDependencyInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorDependencyInfoARM* ptr() { return reinterpret_cast<VkTensorDependencyInfoARM*>(this); } + VkTensorDependencyInfoARM const* ptr() const { return reinterpret_cast<VkTensorDependencyInfoARM const*>(this); } +}; +struct safe_VkPhysicalDeviceTensorFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 tensorNonPacked; + VkBool32 shaderTensorAccess; + VkBool32 shaderStorageTensorArrayDynamicIndexing; + VkBool32 shaderStorageTensorArrayNonUniformIndexing; + VkBool32 descriptorBindingStorageTensorUpdateAfterBind; + VkBool32 tensors; + + safe_VkPhysicalDeviceTensorFeaturesARM(const VkPhysicalDeviceTensorFeaturesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceTensorFeaturesARM(const safe_VkPhysicalDeviceTensorFeaturesARM& copy_src); + safe_VkPhysicalDeviceTensorFeaturesARM& operator=(const safe_VkPhysicalDeviceTensorFeaturesARM& copy_src); + safe_VkPhysicalDeviceTensorFeaturesARM(); + ~safe_VkPhysicalDeviceTensorFeaturesARM(); + void initialize(const VkPhysicalDeviceTensorFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTensorFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTensorFeaturesARM* ptr() { return reinterpret_cast<VkPhysicalDeviceTensorFeaturesARM*>(this); } + VkPhysicalDeviceTensorFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTensorFeaturesARM const*>(this); + } +}; +struct safe_VkDeviceTensorMemoryRequirementsARM { + VkStructureType sType; + const void* pNext{}; + safe_VkTensorCreateInfoARM* pCreateInfo{}; + + safe_VkDeviceTensorMemoryRequirementsARM(const VkDeviceTensorMemoryRequirementsARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDeviceTensorMemoryRequirementsARM(const safe_VkDeviceTensorMemoryRequirementsARM& copy_src); + safe_VkDeviceTensorMemoryRequirementsARM& operator=(const safe_VkDeviceTensorMemoryRequirementsARM& copy_src); + safe_VkDeviceTensorMemoryRequirementsARM(); + ~safe_VkDeviceTensorMemoryRequirementsARM(); + void initialize(const VkDeviceTensorMemoryRequirementsARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDeviceTensorMemoryRequirementsARM* copy_src, PNextCopyState* copy_state = {}); + VkDeviceTensorMemoryRequirementsARM* ptr() { return reinterpret_cast<VkDeviceTensorMemoryRequirementsARM*>(this); } + VkDeviceTensorMemoryRequirementsARM const* ptr() const { + return reinterpret_cast<VkDeviceTensorMemoryRequirementsARM const*>(this); + } +}; +struct safe_VkTensorCopyARM { + VkStructureType sType; + const void* pNext{}; + uint32_t dimensionCount; + const uint64_t* pSrcOffset{}; + const uint64_t* pDstOffset{}; + const uint64_t* pExtent{}; + + safe_VkTensorCopyARM(const VkTensorCopyARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkTensorCopyARM(const safe_VkTensorCopyARM& copy_src); + safe_VkTensorCopyARM& operator=(const safe_VkTensorCopyARM& copy_src); + safe_VkTensorCopyARM(); + ~safe_VkTensorCopyARM(); + void initialize(const VkTensorCopyARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorCopyARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorCopyARM* ptr() { return reinterpret_cast<VkTensorCopyARM*>(this); } + VkTensorCopyARM const* ptr() const { return reinterpret_cast<VkTensorCopyARM const*>(this); } +}; +struct safe_VkCopyTensorInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorARM srcTensor; + VkTensorARM dstTensor; + uint32_t regionCount; + safe_VkTensorCopyARM* pRegions{}; + + safe_VkCopyTensorInfoARM(const VkCopyTensorInfoARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkCopyTensorInfoARM(const safe_VkCopyTensorInfoARM& copy_src); + safe_VkCopyTensorInfoARM& operator=(const safe_VkCopyTensorInfoARM& copy_src); + safe_VkCopyTensorInfoARM(); + ~safe_VkCopyTensorInfoARM(); + void initialize(const VkCopyTensorInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCopyTensorInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkCopyTensorInfoARM* ptr() { return reinterpret_cast<VkCopyTensorInfoARM*>(this); } + VkCopyTensorInfoARM const* ptr() const { return reinterpret_cast<VkCopyTensorInfoARM const*>(this); } +}; +struct safe_VkMemoryDedicatedAllocateInfoTensorARM { + VkStructureType sType; + const void* pNext{}; + VkTensorARM tensor; + + safe_VkMemoryDedicatedAllocateInfoTensorARM(const VkMemoryDedicatedAllocateInfoTensorARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkMemoryDedicatedAllocateInfoTensorARM(const safe_VkMemoryDedicatedAllocateInfoTensorARM& copy_src); + safe_VkMemoryDedicatedAllocateInfoTensorARM& operator=(const safe_VkMemoryDedicatedAllocateInfoTensorARM& copy_src); + safe_VkMemoryDedicatedAllocateInfoTensorARM(); + ~safe_VkMemoryDedicatedAllocateInfoTensorARM(); + void initialize(const VkMemoryDedicatedAllocateInfoTensorARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryDedicatedAllocateInfoTensorARM* copy_src, PNextCopyState* copy_state = {}); + VkMemoryDedicatedAllocateInfoTensorARM* ptr() { return reinterpret_cast<VkMemoryDedicatedAllocateInfoTensorARM*>(this); } + VkMemoryDedicatedAllocateInfoTensorARM const* ptr() const { + return reinterpret_cast<VkMemoryDedicatedAllocateInfoTensorARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceExternalTensorInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorCreateFlagsARM flags; + safe_VkTensorDescriptionARM* pDescription{}; + VkExternalMemoryHandleTypeFlagBits handleType; + + safe_VkPhysicalDeviceExternalTensorInfoARM(const VkPhysicalDeviceExternalTensorInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceExternalTensorInfoARM(const safe_VkPhysicalDeviceExternalTensorInfoARM& copy_src); + safe_VkPhysicalDeviceExternalTensorInfoARM& operator=(const safe_VkPhysicalDeviceExternalTensorInfoARM& copy_src); + safe_VkPhysicalDeviceExternalTensorInfoARM(); + ~safe_VkPhysicalDeviceExternalTensorInfoARM(); + void initialize(const VkPhysicalDeviceExternalTensorInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceExternalTensorInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceExternalTensorInfoARM* ptr() { return reinterpret_cast<VkPhysicalDeviceExternalTensorInfoARM*>(this); } + VkPhysicalDeviceExternalTensorInfoARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceExternalTensorInfoARM const*>(this); + } +}; +struct safe_VkExternalTensorPropertiesARM { + VkStructureType sType; + const void* pNext{}; + VkExternalMemoryProperties externalMemoryProperties; + + safe_VkExternalTensorPropertiesARM(const VkExternalTensorPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkExternalTensorPropertiesARM(const safe_VkExternalTensorPropertiesARM& copy_src); + safe_VkExternalTensorPropertiesARM& operator=(const safe_VkExternalTensorPropertiesARM& copy_src); + safe_VkExternalTensorPropertiesARM(); + ~safe_VkExternalTensorPropertiesARM(); + void initialize(const VkExternalTensorPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkExternalTensorPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkExternalTensorPropertiesARM* ptr() { return reinterpret_cast<VkExternalTensorPropertiesARM*>(this); } + VkExternalTensorPropertiesARM const* ptr() const { return reinterpret_cast<VkExternalTensorPropertiesARM const*>(this); } +}; +struct safe_VkExternalMemoryTensorCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkExternalMemoryHandleTypeFlags handleTypes; + + safe_VkExternalMemoryTensorCreateInfoARM(const VkExternalMemoryTensorCreateInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkExternalMemoryTensorCreateInfoARM(const safe_VkExternalMemoryTensorCreateInfoARM& copy_src); + safe_VkExternalMemoryTensorCreateInfoARM& operator=(const safe_VkExternalMemoryTensorCreateInfoARM& copy_src); + safe_VkExternalMemoryTensorCreateInfoARM(); + ~safe_VkExternalMemoryTensorCreateInfoARM(); + void initialize(const VkExternalMemoryTensorCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkExternalMemoryTensorCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkExternalMemoryTensorCreateInfoARM* ptr() { return reinterpret_cast<VkExternalMemoryTensorCreateInfoARM*>(this); } + VkExternalMemoryTensorCreateInfoARM const* ptr() const { + return reinterpret_cast<VkExternalMemoryTensorCreateInfoARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 descriptorBufferTensorDescriptors; + + safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM(const VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM(const safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM& copy_src); + safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM& operator=( + const safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM& copy_src); + safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM(); + ~safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM(); + void initialize(const VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorBufferTensorFeaturesARM*>(this); + } + VkPhysicalDeviceDescriptorBufferTensorFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorBufferTensorFeaturesARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM { + VkStructureType sType; + void* pNext{}; + size_t tensorCaptureReplayDescriptorDataSize; + size_t tensorViewCaptureReplayDescriptorDataSize; + size_t tensorDescriptorSize; + + safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM(const VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM( + const safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM& copy_src); + safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM& operator=( + const safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM& copy_src); + safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM(); + ~safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM(); + void initialize(const VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceDescriptorBufferTensorPropertiesARM*>(this); + } + VkPhysicalDeviceDescriptorBufferTensorPropertiesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDescriptorBufferTensorPropertiesARM const*>(this); + } +}; +struct safe_VkDescriptorGetTensorInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorViewARM tensorView; + + safe_VkDescriptorGetTensorInfoARM(const VkDescriptorGetTensorInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDescriptorGetTensorInfoARM(const safe_VkDescriptorGetTensorInfoARM& copy_src); + safe_VkDescriptorGetTensorInfoARM& operator=(const safe_VkDescriptorGetTensorInfoARM& copy_src); + safe_VkDescriptorGetTensorInfoARM(); + ~safe_VkDescriptorGetTensorInfoARM(); + void initialize(const VkDescriptorGetTensorInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDescriptorGetTensorInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDescriptorGetTensorInfoARM* ptr() { return reinterpret_cast<VkDescriptorGetTensorInfoARM*>(this); } + VkDescriptorGetTensorInfoARM const* ptr() const { return reinterpret_cast<VkDescriptorGetTensorInfoARM const*>(this); } +}; +struct safe_VkTensorCaptureDescriptorDataInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorARM tensor; + + safe_VkTensorCaptureDescriptorDataInfoARM(const VkTensorCaptureDescriptorDataInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkTensorCaptureDescriptorDataInfoARM(const safe_VkTensorCaptureDescriptorDataInfoARM& copy_src); + safe_VkTensorCaptureDescriptorDataInfoARM& operator=(const safe_VkTensorCaptureDescriptorDataInfoARM& copy_src); + safe_VkTensorCaptureDescriptorDataInfoARM(); + ~safe_VkTensorCaptureDescriptorDataInfoARM(); + void initialize(const VkTensorCaptureDescriptorDataInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorCaptureDescriptorDataInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorCaptureDescriptorDataInfoARM* ptr() { return reinterpret_cast<VkTensorCaptureDescriptorDataInfoARM*>(this); } + VkTensorCaptureDescriptorDataInfoARM const* ptr() const { + return reinterpret_cast<VkTensorCaptureDescriptorDataInfoARM const*>(this); + } +}; +struct safe_VkTensorViewCaptureDescriptorDataInfoARM { + VkStructureType sType; + const void* pNext{}; + VkTensorViewARM tensorView; + + safe_VkTensorViewCaptureDescriptorDataInfoARM(const VkTensorViewCaptureDescriptorDataInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkTensorViewCaptureDescriptorDataInfoARM(const safe_VkTensorViewCaptureDescriptorDataInfoARM& copy_src); + safe_VkTensorViewCaptureDescriptorDataInfoARM& operator=(const safe_VkTensorViewCaptureDescriptorDataInfoARM& copy_src); + safe_VkTensorViewCaptureDescriptorDataInfoARM(); + ~safe_VkTensorViewCaptureDescriptorDataInfoARM(); + void initialize(const VkTensorViewCaptureDescriptorDataInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTensorViewCaptureDescriptorDataInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkTensorViewCaptureDescriptorDataInfoARM* ptr() { return reinterpret_cast<VkTensorViewCaptureDescriptorDataInfoARM*>(this); } + VkTensorViewCaptureDescriptorDataInfoARM const* ptr() const { + return reinterpret_cast<VkTensorViewCaptureDescriptorDataInfoARM const*>(this); + } +}; +struct safe_VkFrameBoundaryTensorsARM { + VkStructureType sType; + const void* pNext{}; + uint32_t tensorCount; + VkTensorARM* pTensors{}; + + safe_VkFrameBoundaryTensorsARM(const VkFrameBoundaryTensorsARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkFrameBoundaryTensorsARM(const safe_VkFrameBoundaryTensorsARM& copy_src); + safe_VkFrameBoundaryTensorsARM& operator=(const safe_VkFrameBoundaryTensorsARM& copy_src); + safe_VkFrameBoundaryTensorsARM(); + ~safe_VkFrameBoundaryTensorsARM(); + void initialize(const VkFrameBoundaryTensorsARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkFrameBoundaryTensorsARM* copy_src, PNextCopyState* copy_state = {}); + VkFrameBoundaryTensorsARM* ptr() { return reinterpret_cast<VkFrameBoundaryTensorsARM*>(this); } + VkFrameBoundaryTensorsARM const* ptr() const { return reinterpret_cast<VkFrameBoundaryTensorsARM const*>(this); } +}; struct safe_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -17646,7 +20520,7 @@ }; struct safe_VkOpticalFlowImageFormatPropertiesNV { VkStructureType sType; - const void* pNext{}; + void* pNext{}; VkFormat format; safe_VkOpticalFlowImageFormatPropertiesNV(const VkOpticalFlowImageFormatPropertiesNV* in_struct, @@ -17870,6 +20744,59 @@ VkAntiLagDataAMD* ptr() { return reinterpret_cast<VkAntiLagDataAMD*>(this); } VkAntiLagDataAMD const* ptr() const { return reinterpret_cast<VkAntiLagDataAMD const*>(this); } }; +#ifdef VK_ENABLE_BETA_EXTENSIONS +struct safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX { + VkStructureType sType; + void* pNext{}; + VkBool32 denseGeometryFormat; + + safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX(const VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX(const safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX& copy_src); + safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX& operator=( + const safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX& copy_src); + safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX(); + ~safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX(); + void initialize(const VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* ptr() { + return reinterpret_cast<VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX*>(this); + } + VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX const*>(this); + } +}; +struct safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX { + VkStructureType sType; + const void* pNext{}; + safe_VkDeviceOrHostAddressConstKHR compressedData; + VkDeviceSize dataSize; + uint32_t numTriangles; + uint32_t numVertices; + uint32_t maxPrimitiveIndex; + uint32_t maxGeometryIndex; + VkCompressedTriangleFormatAMDX format; + + safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX( + const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX( + const safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX& copy_src); + safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX& operator=( + const safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX& copy_src); + safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX(); + ~safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX(); + void initialize(const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* copy_src, + PNextCopyState* copy_state = {}); + VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* ptr() { + return reinterpret_cast<VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX*>(this); + } + VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX const* ptr() const { + return reinterpret_cast<VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX const*>(this); + } +}; +#endif // VK_ENABLE_BETA_EXTENSIONS struct safe_VkPhysicalDeviceShaderObjectFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -18031,7 +20958,7 @@ struct safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { VkStructureType sType; void* pNext{}; - VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; + VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint; safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV( const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV* in_struct, PNextCopyState* copy_state = {}, @@ -18074,6 +21001,101 @@ return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV const*>(this); } }; +struct safe_VkPhysicalDeviceCooperativeVectorPropertiesNV { + VkStructureType sType; + void* pNext{}; + VkShaderStageFlags cooperativeVectorSupportedStages; + VkBool32 cooperativeVectorTrainingFloat16Accumulation; + VkBool32 cooperativeVectorTrainingFloat32Accumulation; + uint32_t maxCooperativeVectorComponents; + + safe_VkPhysicalDeviceCooperativeVectorPropertiesNV(const VkPhysicalDeviceCooperativeVectorPropertiesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceCooperativeVectorPropertiesNV(const safe_VkPhysicalDeviceCooperativeVectorPropertiesNV& copy_src); + safe_VkPhysicalDeviceCooperativeVectorPropertiesNV& operator=( + const safe_VkPhysicalDeviceCooperativeVectorPropertiesNV& copy_src); + safe_VkPhysicalDeviceCooperativeVectorPropertiesNV(); + ~safe_VkPhysicalDeviceCooperativeVectorPropertiesNV(); + void initialize(const VkPhysicalDeviceCooperativeVectorPropertiesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceCooperativeVectorPropertiesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceCooperativeVectorPropertiesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceCooperativeVectorPropertiesNV*>(this); + } + VkPhysicalDeviceCooperativeVectorPropertiesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceCooperativeVectorPropertiesNV const*>(this); + } +}; +struct safe_VkPhysicalDeviceCooperativeVectorFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 cooperativeVector; + VkBool32 cooperativeVectorTraining; + + safe_VkPhysicalDeviceCooperativeVectorFeaturesNV(const VkPhysicalDeviceCooperativeVectorFeaturesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceCooperativeVectorFeaturesNV(const safe_VkPhysicalDeviceCooperativeVectorFeaturesNV& copy_src); + safe_VkPhysicalDeviceCooperativeVectorFeaturesNV& operator=(const safe_VkPhysicalDeviceCooperativeVectorFeaturesNV& copy_src); + safe_VkPhysicalDeviceCooperativeVectorFeaturesNV(); + ~safe_VkPhysicalDeviceCooperativeVectorFeaturesNV(); + void initialize(const VkPhysicalDeviceCooperativeVectorFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceCooperativeVectorFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceCooperativeVectorFeaturesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceCooperativeVectorFeaturesNV*>(this); + } + VkPhysicalDeviceCooperativeVectorFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceCooperativeVectorFeaturesNV const*>(this); + } +}; +struct safe_VkCooperativeVectorPropertiesNV { + VkStructureType sType; + void* pNext{}; + VkComponentTypeKHR inputType; + VkComponentTypeKHR inputInterpretation; + VkComponentTypeKHR matrixInterpretation; + VkComponentTypeKHR biasInterpretation; + VkComponentTypeKHR resultType; + VkBool32 transpose; + + safe_VkCooperativeVectorPropertiesNV(const VkCooperativeVectorPropertiesNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCooperativeVectorPropertiesNV(const safe_VkCooperativeVectorPropertiesNV& copy_src); + safe_VkCooperativeVectorPropertiesNV& operator=(const safe_VkCooperativeVectorPropertiesNV& copy_src); + safe_VkCooperativeVectorPropertiesNV(); + ~safe_VkCooperativeVectorPropertiesNV(); + void initialize(const VkCooperativeVectorPropertiesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCooperativeVectorPropertiesNV* copy_src, PNextCopyState* copy_state = {}); + VkCooperativeVectorPropertiesNV* ptr() { return reinterpret_cast<VkCooperativeVectorPropertiesNV*>(this); } + VkCooperativeVectorPropertiesNV const* ptr() const { return reinterpret_cast<VkCooperativeVectorPropertiesNV const*>(this); } +}; +struct safe_VkConvertCooperativeVectorMatrixInfoNV { + VkStructureType sType; + const void* pNext{}; + size_t srcSize; + safe_VkDeviceOrHostAddressConstKHR srcData; + size_t* pDstSize{}; + safe_VkDeviceOrHostAddressKHR dstData; + VkComponentTypeKHR srcComponentType; + VkComponentTypeKHR dstComponentType; + uint32_t numRows; + uint32_t numColumns; + VkCooperativeVectorMatrixLayoutNV srcLayout; + size_t srcStride; + VkCooperativeVectorMatrixLayoutNV dstLayout; + size_t dstStride; + + safe_VkConvertCooperativeVectorMatrixInfoNV(const VkConvertCooperativeVectorMatrixInfoNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkConvertCooperativeVectorMatrixInfoNV(const safe_VkConvertCooperativeVectorMatrixInfoNV& copy_src); + safe_VkConvertCooperativeVectorMatrixInfoNV& operator=(const safe_VkConvertCooperativeVectorMatrixInfoNV& copy_src); + safe_VkConvertCooperativeVectorMatrixInfoNV(); + ~safe_VkConvertCooperativeVectorMatrixInfoNV(); + void initialize(const VkConvertCooperativeVectorMatrixInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkConvertCooperativeVectorMatrixInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkConvertCooperativeVectorMatrixInfoNV* ptr() { return reinterpret_cast<VkConvertCooperativeVectorMatrixInfoNV*>(this); } + VkConvertCooperativeVectorMatrixInfoNV const* ptr() const { + return reinterpret_cast<VkConvertCooperativeVectorMatrixInfoNV const*>(this); + } +}; struct safe_VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { VkStructureType sType; void* pNext{}; @@ -18342,7 +21364,7 @@ }; struct safe_VkLatencyTimingsFrameReportNV { VkStructureType sType; - const void* pNext{}; + void* pNext{}; uint64_t presentID; uint64_t inputSampleTimeUs; uint64_t simStartTimeUs; @@ -18451,6 +21473,453 @@ VkLatencySurfaceCapabilitiesNV* ptr() { return reinterpret_cast<VkLatencySurfaceCapabilitiesNV*>(this); } VkLatencySurfaceCapabilitiesNV const* ptr() const { return reinterpret_cast<VkLatencySurfaceCapabilitiesNV const*>(this); } }; +struct safe_VkPhysicalDeviceDataGraphFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 dataGraph; + VkBool32 dataGraphUpdateAfterBind; + VkBool32 dataGraphSpecializationConstants; + VkBool32 dataGraphDescriptorBuffer; + VkBool32 dataGraphShaderModule; + + safe_VkPhysicalDeviceDataGraphFeaturesARM(const VkPhysicalDeviceDataGraphFeaturesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDataGraphFeaturesARM(const safe_VkPhysicalDeviceDataGraphFeaturesARM& copy_src); + safe_VkPhysicalDeviceDataGraphFeaturesARM& operator=(const safe_VkPhysicalDeviceDataGraphFeaturesARM& copy_src); + safe_VkPhysicalDeviceDataGraphFeaturesARM(); + ~safe_VkPhysicalDeviceDataGraphFeaturesARM(); + void initialize(const VkPhysicalDeviceDataGraphFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDataGraphFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDataGraphFeaturesARM* ptr() { return reinterpret_cast<VkPhysicalDeviceDataGraphFeaturesARM*>(this); } + VkPhysicalDeviceDataGraphFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDataGraphFeaturesARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineConstantARM { + VkStructureType sType; + const void* pNext{}; + uint32_t id; + const void* pConstantData{}; + + safe_VkDataGraphPipelineConstantARM(const VkDataGraphPipelineConstantARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineConstantARM(const safe_VkDataGraphPipelineConstantARM& copy_src); + safe_VkDataGraphPipelineConstantARM& operator=(const safe_VkDataGraphPipelineConstantARM& copy_src); + safe_VkDataGraphPipelineConstantARM(); + ~safe_VkDataGraphPipelineConstantARM(); + void initialize(const VkDataGraphPipelineConstantARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineConstantARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineConstantARM* ptr() { return reinterpret_cast<VkDataGraphPipelineConstantARM*>(this); } + VkDataGraphPipelineConstantARM const* ptr() const { return reinterpret_cast<VkDataGraphPipelineConstantARM const*>(this); } +}; +struct safe_VkDataGraphPipelineResourceInfoARM { + VkStructureType sType; + const void* pNext{}; + uint32_t descriptorSet; + uint32_t binding; + uint32_t arrayElement; + + safe_VkDataGraphPipelineResourceInfoARM(const VkDataGraphPipelineResourceInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineResourceInfoARM(const safe_VkDataGraphPipelineResourceInfoARM& copy_src); + safe_VkDataGraphPipelineResourceInfoARM& operator=(const safe_VkDataGraphPipelineResourceInfoARM& copy_src); + safe_VkDataGraphPipelineResourceInfoARM(); + ~safe_VkDataGraphPipelineResourceInfoARM(); + void initialize(const VkDataGraphPipelineResourceInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineResourceInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineResourceInfoARM* ptr() { return reinterpret_cast<VkDataGraphPipelineResourceInfoARM*>(this); } + VkDataGraphPipelineResourceInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineResourceInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineCompilerControlCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + const char* pVendorOptions{}; + + safe_VkDataGraphPipelineCompilerControlCreateInfoARM(const VkDataGraphPipelineCompilerControlCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineCompilerControlCreateInfoARM(const safe_VkDataGraphPipelineCompilerControlCreateInfoARM& copy_src); + safe_VkDataGraphPipelineCompilerControlCreateInfoARM& operator=( + const safe_VkDataGraphPipelineCompilerControlCreateInfoARM& copy_src); + safe_VkDataGraphPipelineCompilerControlCreateInfoARM(); + ~safe_VkDataGraphPipelineCompilerControlCreateInfoARM(); + void initialize(const VkDataGraphPipelineCompilerControlCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineCompilerControlCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineCompilerControlCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineCompilerControlCreateInfoARM*>(this); + } + VkDataGraphPipelineCompilerControlCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineCompilerControlCreateInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkPipelineCreateFlags2 flags; + VkPipelineLayout layout; + uint32_t resourceInfoCount; + safe_VkDataGraphPipelineResourceInfoARM* pResourceInfos{}; + + safe_VkDataGraphPipelineCreateInfoARM(const VkDataGraphPipelineCreateInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineCreateInfoARM(const safe_VkDataGraphPipelineCreateInfoARM& copy_src); + safe_VkDataGraphPipelineCreateInfoARM& operator=(const safe_VkDataGraphPipelineCreateInfoARM& copy_src); + safe_VkDataGraphPipelineCreateInfoARM(); + ~safe_VkDataGraphPipelineCreateInfoARM(); + void initialize(const VkDataGraphPipelineCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineCreateInfoARM* ptr() { return reinterpret_cast<VkDataGraphPipelineCreateInfoARM*>(this); } + VkDataGraphPipelineCreateInfoARM const* ptr() const { return reinterpret_cast<VkDataGraphPipelineCreateInfoARM const*>(this); } +}; +struct safe_VkDataGraphPipelineShaderModuleCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkShaderModule module; + const char* pName{}; + safe_VkSpecializationInfo* pSpecializationInfo{}; + uint32_t constantCount; + safe_VkDataGraphPipelineConstantARM* pConstants{}; + + safe_VkDataGraphPipelineShaderModuleCreateInfoARM(const VkDataGraphPipelineShaderModuleCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineShaderModuleCreateInfoARM(const safe_VkDataGraphPipelineShaderModuleCreateInfoARM& copy_src); + safe_VkDataGraphPipelineShaderModuleCreateInfoARM& operator=(const safe_VkDataGraphPipelineShaderModuleCreateInfoARM& copy_src); + safe_VkDataGraphPipelineShaderModuleCreateInfoARM(); + ~safe_VkDataGraphPipelineShaderModuleCreateInfoARM(); + void initialize(const VkDataGraphPipelineShaderModuleCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineShaderModuleCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineShaderModuleCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineShaderModuleCreateInfoARM*>(this); + } + VkDataGraphPipelineShaderModuleCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineShaderModuleCreateInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSessionCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkDataGraphPipelineSessionCreateFlagsARM flags; + VkPipeline dataGraphPipeline; + + safe_VkDataGraphPipelineSessionCreateInfoARM(const VkDataGraphPipelineSessionCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineSessionCreateInfoARM(const safe_VkDataGraphPipelineSessionCreateInfoARM& copy_src); + safe_VkDataGraphPipelineSessionCreateInfoARM& operator=(const safe_VkDataGraphPipelineSessionCreateInfoARM& copy_src); + safe_VkDataGraphPipelineSessionCreateInfoARM(); + ~safe_VkDataGraphPipelineSessionCreateInfoARM(); + void initialize(const VkDataGraphPipelineSessionCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSessionCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSessionCreateInfoARM* ptr() { return reinterpret_cast<VkDataGraphPipelineSessionCreateInfoARM*>(this); } + VkDataGraphPipelineSessionCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSessionCreateInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM { + VkStructureType sType; + const void* pNext{}; + VkDataGraphPipelineSessionARM session; + + safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM( + const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM( + const safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM& copy_src); + safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM& operator=( + const safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM& copy_src); + safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM(); + ~safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM(); + void initialize(const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSessionBindPointRequirementsInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementsInfoARM*>(this); + } + VkDataGraphPipelineSessionBindPointRequirementsInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementsInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSessionBindPointRequirementARM { + VkStructureType sType; + void* pNext{}; + VkDataGraphPipelineSessionBindPointARM bindPoint; + VkDataGraphPipelineSessionBindPointTypeARM bindPointType; + uint32_t numObjects; + + safe_VkDataGraphPipelineSessionBindPointRequirementARM(const VkDataGraphPipelineSessionBindPointRequirementARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineSessionBindPointRequirementARM(const safe_VkDataGraphPipelineSessionBindPointRequirementARM& copy_src); + safe_VkDataGraphPipelineSessionBindPointRequirementARM& operator=( + const safe_VkDataGraphPipelineSessionBindPointRequirementARM& copy_src); + safe_VkDataGraphPipelineSessionBindPointRequirementARM(); + ~safe_VkDataGraphPipelineSessionBindPointRequirementARM(); + void initialize(const VkDataGraphPipelineSessionBindPointRequirementARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSessionBindPointRequirementARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSessionBindPointRequirementARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementARM*>(this); + } + VkDataGraphPipelineSessionBindPointRequirementARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSessionBindPointRequirementARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM { + VkStructureType sType; + const void* pNext{}; + VkDataGraphPipelineSessionARM session; + VkDataGraphPipelineSessionBindPointARM bindPoint; + uint32_t objectIndex; + + safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM(const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM( + const safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM& copy_src); + safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM& operator=( + const safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM& copy_src); + safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM(); + ~safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM(); + void initialize(const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSessionMemoryRequirementsInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineSessionMemoryRequirementsInfoARM*>(this); + } + VkDataGraphPipelineSessionMemoryRequirementsInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSessionMemoryRequirementsInfoARM const*>(this); + } +}; +struct safe_VkBindDataGraphPipelineSessionMemoryInfoARM { + VkStructureType sType; + const void* pNext{}; + VkDataGraphPipelineSessionARM session; + VkDataGraphPipelineSessionBindPointARM bindPoint; + uint32_t objectIndex; + VkDeviceMemory memory; + VkDeviceSize memoryOffset; + + safe_VkBindDataGraphPipelineSessionMemoryInfoARM(const VkBindDataGraphPipelineSessionMemoryInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBindDataGraphPipelineSessionMemoryInfoARM(const safe_VkBindDataGraphPipelineSessionMemoryInfoARM& copy_src); + safe_VkBindDataGraphPipelineSessionMemoryInfoARM& operator=(const safe_VkBindDataGraphPipelineSessionMemoryInfoARM& copy_src); + safe_VkBindDataGraphPipelineSessionMemoryInfoARM(); + ~safe_VkBindDataGraphPipelineSessionMemoryInfoARM(); + void initialize(const VkBindDataGraphPipelineSessionMemoryInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBindDataGraphPipelineSessionMemoryInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkBindDataGraphPipelineSessionMemoryInfoARM* ptr() { + return reinterpret_cast<VkBindDataGraphPipelineSessionMemoryInfoARM*>(this); + } + VkBindDataGraphPipelineSessionMemoryInfoARM const* ptr() const { + return reinterpret_cast<VkBindDataGraphPipelineSessionMemoryInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineInfoARM { + VkStructureType sType; + const void* pNext{}; + VkPipeline dataGraphPipeline; + + safe_VkDataGraphPipelineInfoARM(const VkDataGraphPipelineInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineInfoARM(const safe_VkDataGraphPipelineInfoARM& copy_src); + safe_VkDataGraphPipelineInfoARM& operator=(const safe_VkDataGraphPipelineInfoARM& copy_src); + safe_VkDataGraphPipelineInfoARM(); + ~safe_VkDataGraphPipelineInfoARM(); + void initialize(const VkDataGraphPipelineInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineInfoARM* ptr() { return reinterpret_cast<VkDataGraphPipelineInfoARM*>(this); } + VkDataGraphPipelineInfoARM const* ptr() const { return reinterpret_cast<VkDataGraphPipelineInfoARM const*>(this); } +}; +struct safe_VkDataGraphPipelinePropertyQueryResultARM { + VkStructureType sType; + void* pNext{}; + VkDataGraphPipelinePropertyARM property; + VkBool32 isText; + size_t dataSize; + void* pData{}; + + safe_VkDataGraphPipelinePropertyQueryResultARM(const VkDataGraphPipelinePropertyQueryResultARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelinePropertyQueryResultARM(const safe_VkDataGraphPipelinePropertyQueryResultARM& copy_src); + safe_VkDataGraphPipelinePropertyQueryResultARM& operator=(const safe_VkDataGraphPipelinePropertyQueryResultARM& copy_src); + safe_VkDataGraphPipelinePropertyQueryResultARM(); + ~safe_VkDataGraphPipelinePropertyQueryResultARM(); + void initialize(const VkDataGraphPipelinePropertyQueryResultARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelinePropertyQueryResultARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelinePropertyQueryResultARM* ptr() { return reinterpret_cast<VkDataGraphPipelinePropertyQueryResultARM*>(this); } + VkDataGraphPipelinePropertyQueryResultARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelinePropertyQueryResultARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineIdentifierCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + uint32_t identifierSize; + const uint8_t* pIdentifier{}; + + safe_VkDataGraphPipelineIdentifierCreateInfoARM(const VkDataGraphPipelineIdentifierCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineIdentifierCreateInfoARM(const safe_VkDataGraphPipelineIdentifierCreateInfoARM& copy_src); + safe_VkDataGraphPipelineIdentifierCreateInfoARM& operator=(const safe_VkDataGraphPipelineIdentifierCreateInfoARM& copy_src); + safe_VkDataGraphPipelineIdentifierCreateInfoARM(); + ~safe_VkDataGraphPipelineIdentifierCreateInfoARM(); + void initialize(const VkDataGraphPipelineIdentifierCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineIdentifierCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineIdentifierCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineIdentifierCreateInfoARM*>(this); + } + VkDataGraphPipelineIdentifierCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineIdentifierCreateInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineDispatchInfoARM { + VkStructureType sType; + void* pNext{}; + VkDataGraphPipelineDispatchFlagsARM flags; + + safe_VkDataGraphPipelineDispatchInfoARM(const VkDataGraphPipelineDispatchInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineDispatchInfoARM(const safe_VkDataGraphPipelineDispatchInfoARM& copy_src); + safe_VkDataGraphPipelineDispatchInfoARM& operator=(const safe_VkDataGraphPipelineDispatchInfoARM& copy_src); + safe_VkDataGraphPipelineDispatchInfoARM(); + ~safe_VkDataGraphPipelineDispatchInfoARM(); + void initialize(const VkDataGraphPipelineDispatchInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineDispatchInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineDispatchInfoARM* ptr() { return reinterpret_cast<VkDataGraphPipelineDispatchInfoARM*>(this); } + VkDataGraphPipelineDispatchInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineDispatchInfoARM const*>(this); + } +}; +struct safe_VkQueueFamilyDataGraphPropertiesARM { + VkStructureType sType; + void* pNext{}; + VkPhysicalDeviceDataGraphProcessingEngineARM engine; + VkPhysicalDeviceDataGraphOperationSupportARM operation; + + safe_VkQueueFamilyDataGraphPropertiesARM(const VkQueueFamilyDataGraphPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkQueueFamilyDataGraphPropertiesARM(const safe_VkQueueFamilyDataGraphPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphPropertiesARM& operator=(const safe_VkQueueFamilyDataGraphPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphPropertiesARM(); + ~safe_VkQueueFamilyDataGraphPropertiesARM(); + void initialize(const VkQueueFamilyDataGraphPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyDataGraphPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkQueueFamilyDataGraphPropertiesARM* ptr() { return reinterpret_cast<VkQueueFamilyDataGraphPropertiesARM*>(this); } + VkQueueFamilyDataGraphPropertiesARM const* ptr() const { + return reinterpret_cast<VkQueueFamilyDataGraphPropertiesARM const*>(this); + } +}; +struct safe_VkDataGraphProcessingEngineCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + uint32_t processingEngineCount; + VkPhysicalDeviceDataGraphProcessingEngineARM* pProcessingEngines{}; + + safe_VkDataGraphProcessingEngineCreateInfoARM(const VkDataGraphProcessingEngineCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphProcessingEngineCreateInfoARM(const safe_VkDataGraphProcessingEngineCreateInfoARM& copy_src); + safe_VkDataGraphProcessingEngineCreateInfoARM& operator=(const safe_VkDataGraphProcessingEngineCreateInfoARM& copy_src); + safe_VkDataGraphProcessingEngineCreateInfoARM(); + ~safe_VkDataGraphProcessingEngineCreateInfoARM(); + void initialize(const VkDataGraphProcessingEngineCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphProcessingEngineCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphProcessingEngineCreateInfoARM* ptr() { return reinterpret_cast<VkDataGraphProcessingEngineCreateInfoARM*>(this); } + VkDataGraphProcessingEngineCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphProcessingEngineCreateInfoARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM { + VkStructureType sType; + const void* pNext{}; + uint32_t queueFamilyIndex; + VkPhysicalDeviceDataGraphProcessingEngineTypeARM engineType; + + safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM( + const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM( + const safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM& copy_src); + safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM& operator=( + const safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM& copy_src); + safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM(); + ~safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM(); + void initialize(const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM*>(this); + } + VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM const*>(this); + } +}; +struct safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM { + VkStructureType sType; + void* pNext{}; + VkExternalSemaphoreHandleTypeFlags foreignSemaphoreHandleTypes; + VkExternalMemoryHandleTypeFlags foreignMemoryHandleTypes; + + safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM(const VkQueueFamilyDataGraphProcessingEnginePropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM( + const safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM& operator=( + const safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM(); + ~safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM(); + void initialize(const VkQueueFamilyDataGraphProcessingEnginePropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkQueueFamilyDataGraphProcessingEnginePropertiesARM* ptr() { + return reinterpret_cast<VkQueueFamilyDataGraphProcessingEnginePropertiesARM*>(this); + } + VkQueueFamilyDataGraphProcessingEnginePropertiesARM const* ptr() const { + return reinterpret_cast<VkQueueFamilyDataGraphProcessingEnginePropertiesARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM { + VkStructureType sType; + const void* pNext{}; + uint32_t dimension; + uint32_t zeroCount; + uint32_t groupSize; + + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( + const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( + const safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM& copy_src); + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM& operator=( + const safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM& copy_src); + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM(); + ~safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM(); + void initialize(const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* in_struct, + PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* copy_src, + PNextCopyState* copy_state = {}); + VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM*>(this); + } + VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM const*>(this); + } +}; +struct safe_VkQueueFamilyDataGraphTOSAPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t profileCount; + const VkDataGraphTOSANameQualityARM* pProfiles{}; + uint32_t extensionCount; + const VkDataGraphTOSANameQualityARM* pExtensions{}; + VkDataGraphTOSALevelARM level; + + safe_VkQueueFamilyDataGraphTOSAPropertiesARM(const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkQueueFamilyDataGraphTOSAPropertiesARM(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphTOSAPropertiesARM& operator=(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphTOSAPropertiesARM(); + ~safe_VkQueueFamilyDataGraphTOSAPropertiesARM(); + void initialize(const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkQueueFamilyDataGraphTOSAPropertiesARM* ptr() { return reinterpret_cast<VkQueueFamilyDataGraphTOSAPropertiesARM*>(this); } + VkQueueFamilyDataGraphTOSAPropertiesARM const* ptr() const { + return reinterpret_cast<VkQueueFamilyDataGraphTOSAPropertiesARM const*>(this); + } +}; struct safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { VkStructureType sType; void* pNext{}; @@ -18857,6 +22326,114 @@ return reinterpret_cast<VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV const*>(this); } }; +struct safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 tileMemoryHeap; + + safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM(const VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM(const safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM& operator=(const safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM(); + ~safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM(); + void initialize(const VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* ptr() { + return reinterpret_cast<VkPhysicalDeviceTileMemoryHeapFeaturesQCOM*>(this); + } + VkPhysicalDeviceTileMemoryHeapFeaturesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTileMemoryHeapFeaturesQCOM const*>(this); + } +}; +struct safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 queueSubmitBoundary; + VkBool32 tileBufferTransfers; + + safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM(const VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM(const safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM& operator=(const safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM& copy_src); + safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM(); + ~safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM(); + void initialize(const VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* ptr() { + return reinterpret_cast<VkPhysicalDeviceTileMemoryHeapPropertiesQCOM*>(this); + } + VkPhysicalDeviceTileMemoryHeapPropertiesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceTileMemoryHeapPropertiesQCOM const*>(this); + } +}; +struct safe_VkTileMemoryRequirementsQCOM { + VkStructureType sType; + void* pNext{}; + VkDeviceSize size; + VkDeviceSize alignment; + + safe_VkTileMemoryRequirementsQCOM(const VkTileMemoryRequirementsQCOM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTileMemoryRequirementsQCOM(const safe_VkTileMemoryRequirementsQCOM& copy_src); + safe_VkTileMemoryRequirementsQCOM& operator=(const safe_VkTileMemoryRequirementsQCOM& copy_src); + safe_VkTileMemoryRequirementsQCOM(); + ~safe_VkTileMemoryRequirementsQCOM(); + void initialize(const VkTileMemoryRequirementsQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTileMemoryRequirementsQCOM* copy_src, PNextCopyState* copy_state = {}); + VkTileMemoryRequirementsQCOM* ptr() { return reinterpret_cast<VkTileMemoryRequirementsQCOM*>(this); } + VkTileMemoryRequirementsQCOM const* ptr() const { return reinterpret_cast<VkTileMemoryRequirementsQCOM const*>(this); } +}; +struct safe_VkTileMemoryBindInfoQCOM { + VkStructureType sType; + const void* pNext{}; + VkDeviceMemory memory; + + safe_VkTileMemoryBindInfoQCOM(const VkTileMemoryBindInfoQCOM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTileMemoryBindInfoQCOM(const safe_VkTileMemoryBindInfoQCOM& copy_src); + safe_VkTileMemoryBindInfoQCOM& operator=(const safe_VkTileMemoryBindInfoQCOM& copy_src); + safe_VkTileMemoryBindInfoQCOM(); + ~safe_VkTileMemoryBindInfoQCOM(); + void initialize(const VkTileMemoryBindInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTileMemoryBindInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkTileMemoryBindInfoQCOM* ptr() { return reinterpret_cast<VkTileMemoryBindInfoQCOM*>(this); } + VkTileMemoryBindInfoQCOM const* ptr() const { return reinterpret_cast<VkTileMemoryBindInfoQCOM const*>(this); } +}; +struct safe_VkTileMemorySizeInfoQCOM { + VkStructureType sType; + const void* pNext{}; + VkDeviceSize size; + + safe_VkTileMemorySizeInfoQCOM(const VkTileMemorySizeInfoQCOM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkTileMemorySizeInfoQCOM(const safe_VkTileMemorySizeInfoQCOM& copy_src); + safe_VkTileMemorySizeInfoQCOM& operator=(const safe_VkTileMemorySizeInfoQCOM& copy_src); + safe_VkTileMemorySizeInfoQCOM(); + ~safe_VkTileMemorySizeInfoQCOM(); + void initialize(const VkTileMemorySizeInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkTileMemorySizeInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkTileMemorySizeInfoQCOM* ptr() { return reinterpret_cast<VkTileMemorySizeInfoQCOM*>(this); } + VkTileMemorySizeInfoQCOM const* ptr() const { return reinterpret_cast<VkTileMemorySizeInfoQCOM const*>(this); } +}; +struct safe_VkDecompressMemoryInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkMemoryDecompressionMethodFlagsEXT decompressionMethod; + uint32_t regionCount; + const VkDecompressMemoryRegionEXT* pRegions{}; + + safe_VkDecompressMemoryInfoEXT(const VkDecompressMemoryInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDecompressMemoryInfoEXT(const safe_VkDecompressMemoryInfoEXT& copy_src); + safe_VkDecompressMemoryInfoEXT& operator=(const safe_VkDecompressMemoryInfoEXT& copy_src); + safe_VkDecompressMemoryInfoEXT(); + ~safe_VkDecompressMemoryInfoEXT(); + void initialize(const VkDecompressMemoryInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDecompressMemoryInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkDecompressMemoryInfoEXT* ptr() { return reinterpret_cast<VkDecompressMemoryInfoEXT*>(this); } + VkDecompressMemoryInfoEXT const* ptr() const { return reinterpret_cast<VkDecompressMemoryInfoEXT const*>(this); } +}; struct safe_VkDisplaySurfaceStereoCreateInfoNV { VkStructureType sType; const void* pNext{}; @@ -18877,7 +22454,7 @@ }; struct safe_VkDisplayModeStereoPropertiesNV { VkStructureType sType; - const void* pNext{}; + void* pNext{}; VkBool32 hdmi3DSupported; safe_VkDisplayModeStereoPropertiesNV(const VkDisplayModeStereoPropertiesNV* in_struct, PNextCopyState* copy_state = {}, @@ -18909,6 +22486,82 @@ return reinterpret_cast<VkPhysicalDeviceRawAccessChainsFeaturesNV const*>(this); } }; +struct safe_VkExternalComputeQueueDeviceCreateInfoNV { + VkStructureType sType; + const void* pNext{}; + uint32_t reservedExternalQueues; + + safe_VkExternalComputeQueueDeviceCreateInfoNV(const VkExternalComputeQueueDeviceCreateInfoNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkExternalComputeQueueDeviceCreateInfoNV(const safe_VkExternalComputeQueueDeviceCreateInfoNV& copy_src); + safe_VkExternalComputeQueueDeviceCreateInfoNV& operator=(const safe_VkExternalComputeQueueDeviceCreateInfoNV& copy_src); + safe_VkExternalComputeQueueDeviceCreateInfoNV(); + ~safe_VkExternalComputeQueueDeviceCreateInfoNV(); + void initialize(const VkExternalComputeQueueDeviceCreateInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkExternalComputeQueueDeviceCreateInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkExternalComputeQueueDeviceCreateInfoNV* ptr() { return reinterpret_cast<VkExternalComputeQueueDeviceCreateInfoNV*>(this); } + VkExternalComputeQueueDeviceCreateInfoNV const* ptr() const { + return reinterpret_cast<VkExternalComputeQueueDeviceCreateInfoNV const*>(this); + } +}; +struct safe_VkExternalComputeQueueCreateInfoNV { + VkStructureType sType; + const void* pNext{}; + VkQueue preferredQueue; + + safe_VkExternalComputeQueueCreateInfoNV(const VkExternalComputeQueueCreateInfoNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkExternalComputeQueueCreateInfoNV(const safe_VkExternalComputeQueueCreateInfoNV& copy_src); + safe_VkExternalComputeQueueCreateInfoNV& operator=(const safe_VkExternalComputeQueueCreateInfoNV& copy_src); + safe_VkExternalComputeQueueCreateInfoNV(); + ~safe_VkExternalComputeQueueCreateInfoNV(); + void initialize(const VkExternalComputeQueueCreateInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkExternalComputeQueueCreateInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkExternalComputeQueueCreateInfoNV* ptr() { return reinterpret_cast<VkExternalComputeQueueCreateInfoNV*>(this); } + VkExternalComputeQueueCreateInfoNV const* ptr() const { + return reinterpret_cast<VkExternalComputeQueueCreateInfoNV const*>(this); + } +}; +struct safe_VkExternalComputeQueueDataParamsNV { + VkStructureType sType; + const void* pNext{}; + uint32_t deviceIndex; + + safe_VkExternalComputeQueueDataParamsNV(const VkExternalComputeQueueDataParamsNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkExternalComputeQueueDataParamsNV(const safe_VkExternalComputeQueueDataParamsNV& copy_src); + safe_VkExternalComputeQueueDataParamsNV& operator=(const safe_VkExternalComputeQueueDataParamsNV& copy_src); + safe_VkExternalComputeQueueDataParamsNV(); + ~safe_VkExternalComputeQueueDataParamsNV(); + void initialize(const VkExternalComputeQueueDataParamsNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkExternalComputeQueueDataParamsNV* copy_src, PNextCopyState* copy_state = {}); + VkExternalComputeQueueDataParamsNV* ptr() { return reinterpret_cast<VkExternalComputeQueueDataParamsNV*>(this); } + VkExternalComputeQueueDataParamsNV const* ptr() const { + return reinterpret_cast<VkExternalComputeQueueDataParamsNV const*>(this); + } +}; +struct safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV { + VkStructureType sType; + void* pNext{}; + uint32_t externalDataSize; + uint32_t maxExternalQueues; + + safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV(const VkPhysicalDeviceExternalComputeQueuePropertiesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV(const safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV& copy_src); + safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV& operator=( + const safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV& copy_src); + safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV(); + ~safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV(); + void initialize(const VkPhysicalDeviceExternalComputeQueuePropertiesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceExternalComputeQueuePropertiesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceExternalComputeQueuePropertiesNV*>(this); + } + VkPhysicalDeviceExternalComputeQueuePropertiesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceExternalComputeQueuePropertiesNV const*>(this); + } +}; struct safe_VkPhysicalDeviceCommandBufferInheritanceFeaturesNV { VkStructureType sType; void* pNext{}; @@ -18976,6 +22629,25 @@ return reinterpret_cast<VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT const*>(this); } }; +struct safe_VkPhysicalDeviceShaderFloat8FeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderFloat8; + VkBool32 shaderFloat8CooperativeMatrix; + + safe_VkPhysicalDeviceShaderFloat8FeaturesEXT(const VkPhysicalDeviceShaderFloat8FeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderFloat8FeaturesEXT(const safe_VkPhysicalDeviceShaderFloat8FeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderFloat8FeaturesEXT& operator=(const safe_VkPhysicalDeviceShaderFloat8FeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderFloat8FeaturesEXT(); + ~safe_VkPhysicalDeviceShaderFloat8FeaturesEXT(); + void initialize(const VkPhysicalDeviceShaderFloat8FeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderFloat8FeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderFloat8FeaturesEXT* ptr() { return reinterpret_cast<VkPhysicalDeviceShaderFloat8FeaturesEXT*>(this); } + VkPhysicalDeviceShaderFloat8FeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderFloat8FeaturesEXT const*>(this); + } +}; struct safe_VkPhysicalDeviceRayTracingValidationFeaturesNV { VkStructureType sType; void* pNext{}; @@ -18997,6 +22669,388 @@ return reinterpret_cast<VkPhysicalDeviceRayTracingValidationFeaturesNV const*>(this); } }; +struct safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 clusterAccelerationStructure; + + safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV( + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV( + const safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV& copy_src); + safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV& operator=( + const safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV& copy_src); + safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV(); + ~safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV(); + void initialize(const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceClusterAccelerationStructureFeaturesNV*>(this); + } + VkPhysicalDeviceClusterAccelerationStructureFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceClusterAccelerationStructureFeaturesNV const*>(this); + } +}; +struct safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV { + VkStructureType sType; + void* pNext{}; + uint32_t maxVerticesPerCluster; + uint32_t maxTrianglesPerCluster; + uint32_t clusterScratchByteAlignment; + uint32_t clusterByteAlignment; + uint32_t clusterTemplateByteAlignment; + uint32_t clusterBottomLevelByteAlignment; + uint32_t clusterTemplateBoundsByteAlignment; + uint32_t maxClusterGeometryIndex; + + safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV( + const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV( + const safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV& copy_src); + safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV& operator=( + const safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV& copy_src); + safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV(); + ~safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV(); + void initialize(const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceClusterAccelerationStructurePropertiesNV*>(this); + } + VkPhysicalDeviceClusterAccelerationStructurePropertiesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceClusterAccelerationStructurePropertiesNV const*>(this); + } +}; +struct safe_VkClusterAccelerationStructureClustersBottomLevelInputNV { + VkStructureType sType; + void* pNext{}; + uint32_t maxTotalClusterCount; + uint32_t maxClusterCountPerAccelerationStructure; + + safe_VkClusterAccelerationStructureClustersBottomLevelInputNV( + const VkClusterAccelerationStructureClustersBottomLevelInputNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkClusterAccelerationStructureClustersBottomLevelInputNV( + const safe_VkClusterAccelerationStructureClustersBottomLevelInputNV& copy_src); + safe_VkClusterAccelerationStructureClustersBottomLevelInputNV& operator=( + const safe_VkClusterAccelerationStructureClustersBottomLevelInputNV& copy_src); + safe_VkClusterAccelerationStructureClustersBottomLevelInputNV(); + ~safe_VkClusterAccelerationStructureClustersBottomLevelInputNV(); + void initialize(const VkClusterAccelerationStructureClustersBottomLevelInputNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkClusterAccelerationStructureClustersBottomLevelInputNV* copy_src, PNextCopyState* copy_state = {}); + VkClusterAccelerationStructureClustersBottomLevelInputNV* ptr() { + return reinterpret_cast<VkClusterAccelerationStructureClustersBottomLevelInputNV*>(this); + } + VkClusterAccelerationStructureClustersBottomLevelInputNV const* ptr() const { + return reinterpret_cast<VkClusterAccelerationStructureClustersBottomLevelInputNV const*>(this); + } +}; +struct safe_VkClusterAccelerationStructureTriangleClusterInputNV { + VkStructureType sType; + void* pNext{}; + VkFormat vertexFormat; + uint32_t maxGeometryIndexValue; + uint32_t maxClusterUniqueGeometryCount; + uint32_t maxClusterTriangleCount; + uint32_t maxClusterVertexCount; + uint32_t maxTotalTriangleCount; + uint32_t maxTotalVertexCount; + uint32_t minPositionTruncateBitCount; + + safe_VkClusterAccelerationStructureTriangleClusterInputNV(const VkClusterAccelerationStructureTriangleClusterInputNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkClusterAccelerationStructureTriangleClusterInputNV( + const safe_VkClusterAccelerationStructureTriangleClusterInputNV& copy_src); + safe_VkClusterAccelerationStructureTriangleClusterInputNV& operator=( + const safe_VkClusterAccelerationStructureTriangleClusterInputNV& copy_src); + safe_VkClusterAccelerationStructureTriangleClusterInputNV(); + ~safe_VkClusterAccelerationStructureTriangleClusterInputNV(); + void initialize(const VkClusterAccelerationStructureTriangleClusterInputNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkClusterAccelerationStructureTriangleClusterInputNV* copy_src, PNextCopyState* copy_state = {}); + VkClusterAccelerationStructureTriangleClusterInputNV* ptr() { + return reinterpret_cast<VkClusterAccelerationStructureTriangleClusterInputNV*>(this); + } + VkClusterAccelerationStructureTriangleClusterInputNV const* ptr() const { + return reinterpret_cast<VkClusterAccelerationStructureTriangleClusterInputNV const*>(this); + } +}; +struct safe_VkClusterAccelerationStructureMoveObjectsInputNV { + VkStructureType sType; + void* pNext{}; + VkClusterAccelerationStructureTypeNV type; + VkBool32 noMoveOverlap; + VkDeviceSize maxMovedBytes; + + safe_VkClusterAccelerationStructureMoveObjectsInputNV(const VkClusterAccelerationStructureMoveObjectsInputNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkClusterAccelerationStructureMoveObjectsInputNV(const safe_VkClusterAccelerationStructureMoveObjectsInputNV& copy_src); + safe_VkClusterAccelerationStructureMoveObjectsInputNV& operator=( + const safe_VkClusterAccelerationStructureMoveObjectsInputNV& copy_src); + safe_VkClusterAccelerationStructureMoveObjectsInputNV(); + ~safe_VkClusterAccelerationStructureMoveObjectsInputNV(); + void initialize(const VkClusterAccelerationStructureMoveObjectsInputNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkClusterAccelerationStructureMoveObjectsInputNV* copy_src, PNextCopyState* copy_state = {}); + VkClusterAccelerationStructureMoveObjectsInputNV* ptr() { + return reinterpret_cast<VkClusterAccelerationStructureMoveObjectsInputNV*>(this); + } + VkClusterAccelerationStructureMoveObjectsInputNV const* ptr() const { + return reinterpret_cast<VkClusterAccelerationStructureMoveObjectsInputNV const*>(this); + } +}; +union safe_VkClusterAccelerationStructureOpInputNV { + safe_VkClusterAccelerationStructureClustersBottomLevelInputNV* pClustersBottomLevel; + safe_VkClusterAccelerationStructureTriangleClusterInputNV* pTriangleClusters; + safe_VkClusterAccelerationStructureMoveObjectsInputNV* pMoveObjects; + + safe_VkClusterAccelerationStructureOpInputNV(const VkClusterAccelerationStructureOpInputNV* in_struct, + PNextCopyState* copy_state = {}); + safe_VkClusterAccelerationStructureOpInputNV(const safe_VkClusterAccelerationStructureOpInputNV& copy_src); + safe_VkClusterAccelerationStructureOpInputNV& operator=(const safe_VkClusterAccelerationStructureOpInputNV& copy_src); + safe_VkClusterAccelerationStructureOpInputNV(); + ~safe_VkClusterAccelerationStructureOpInputNV(); + void initialize(const VkClusterAccelerationStructureOpInputNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkClusterAccelerationStructureOpInputNV* copy_src, PNextCopyState* copy_state = {}); + VkClusterAccelerationStructureOpInputNV* ptr() { return reinterpret_cast<VkClusterAccelerationStructureOpInputNV*>(this); } + VkClusterAccelerationStructureOpInputNV const* ptr() const { + return reinterpret_cast<VkClusterAccelerationStructureOpInputNV const*>(this); + } +}; +struct safe_VkClusterAccelerationStructureInputInfoNV { + VkStructureType sType; + void* pNext{}; + uint32_t maxAccelerationStructureCount; + VkBuildAccelerationStructureFlagsKHR flags; + VkClusterAccelerationStructureOpTypeNV opType; + VkClusterAccelerationStructureOpModeNV opMode; + safe_VkClusterAccelerationStructureOpInputNV opInput; + + safe_VkClusterAccelerationStructureInputInfoNV(const VkClusterAccelerationStructureInputInfoNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkClusterAccelerationStructureInputInfoNV(const safe_VkClusterAccelerationStructureInputInfoNV& copy_src); + safe_VkClusterAccelerationStructureInputInfoNV& operator=(const safe_VkClusterAccelerationStructureInputInfoNV& copy_src); + safe_VkClusterAccelerationStructureInputInfoNV(); + ~safe_VkClusterAccelerationStructureInputInfoNV(); + void initialize(const VkClusterAccelerationStructureInputInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkClusterAccelerationStructureInputInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkClusterAccelerationStructureInputInfoNV* ptr() { return reinterpret_cast<VkClusterAccelerationStructureInputInfoNV*>(this); } + VkClusterAccelerationStructureInputInfoNV const* ptr() const { + return reinterpret_cast<VkClusterAccelerationStructureInputInfoNV const*>(this); + } +}; +struct safe_VkClusterAccelerationStructureCommandsInfoNV { + VkStructureType sType; + void* pNext{}; + safe_VkClusterAccelerationStructureInputInfoNV input; + VkDeviceAddress dstImplicitData; + VkDeviceAddress scratchData; + VkStridedDeviceAddressRegionKHR dstAddressesArray; + VkStridedDeviceAddressRegionKHR dstSizesArray; + VkStridedDeviceAddressRegionKHR srcInfosArray; + VkDeviceAddress srcInfosCount; + VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags; + + safe_VkClusterAccelerationStructureCommandsInfoNV(const VkClusterAccelerationStructureCommandsInfoNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkClusterAccelerationStructureCommandsInfoNV(const safe_VkClusterAccelerationStructureCommandsInfoNV& copy_src); + safe_VkClusterAccelerationStructureCommandsInfoNV& operator=(const safe_VkClusterAccelerationStructureCommandsInfoNV& copy_src); + safe_VkClusterAccelerationStructureCommandsInfoNV(); + ~safe_VkClusterAccelerationStructureCommandsInfoNV(); + void initialize(const VkClusterAccelerationStructureCommandsInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkClusterAccelerationStructureCommandsInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkClusterAccelerationStructureCommandsInfoNV* ptr() { + return reinterpret_cast<VkClusterAccelerationStructureCommandsInfoNV*>(this); + } + VkClusterAccelerationStructureCommandsInfoNV const* ptr() const { + return reinterpret_cast<VkClusterAccelerationStructureCommandsInfoNV const*>(this); + } +}; +struct safe_VkAccelerationStructureBuildSizesInfoKHR { + VkStructureType sType; + void* pNext{}; + VkDeviceSize accelerationStructureSize; + VkDeviceSize updateScratchSize; + VkDeviceSize buildScratchSize; + + safe_VkAccelerationStructureBuildSizesInfoKHR(const VkAccelerationStructureBuildSizesInfoKHR* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkAccelerationStructureBuildSizesInfoKHR(const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src); + safe_VkAccelerationStructureBuildSizesInfoKHR& operator=(const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src); + safe_VkAccelerationStructureBuildSizesInfoKHR(); + ~safe_VkAccelerationStructureBuildSizesInfoKHR(); + void initialize(const VkAccelerationStructureBuildSizesInfoKHR* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkAccelerationStructureBuildSizesInfoKHR* copy_src, PNextCopyState* copy_state = {}); + VkAccelerationStructureBuildSizesInfoKHR* ptr() { return reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR*>(this); } + VkAccelerationStructureBuildSizesInfoKHR const* ptr() const { + return reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR const*>(this); + } +}; +struct safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV { + VkStructureType sType; + void* pNext{}; + VkBool32 allowClusterAccelerationStructure; + + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV( + const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV( + const safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV& copy_src); + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV& operator=( + const safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV& copy_src); + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV(); + ~safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV(); + void initialize(const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* copy_src, + PNextCopyState* copy_state = {}); + VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* ptr() { + return reinterpret_cast<VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV*>(this); + } + VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV const* ptr() const { + return reinterpret_cast<VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV const*>(this); + } +}; +struct safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 partitionedAccelerationStructure; + + safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV( + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV( + const safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV& copy_src); + safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV& operator=( + const safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV& copy_src); + safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV(); + ~safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV(); + void initialize(const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* ptr() { + return reinterpret_cast<VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV*>(this); + } + VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV const*>(this); + } +}; +struct safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV { + VkStructureType sType; + void* pNext{}; + uint32_t maxPartitionCount; + + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV( + const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV( + const safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV& copy_src); + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV& operator=( + const safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV& copy_src); + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV(); + ~safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV(); + void initialize(const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* ptr() { + return reinterpret_cast<VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV*>(this); + } + VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV const*>(this); + } +}; +struct safe_VkPartitionedAccelerationStructureFlagsNV { + VkStructureType sType; + void* pNext{}; + VkBool32 enablePartitionTranslation; + + safe_VkPartitionedAccelerationStructureFlagsNV(const VkPartitionedAccelerationStructureFlagsNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPartitionedAccelerationStructureFlagsNV(const safe_VkPartitionedAccelerationStructureFlagsNV& copy_src); + safe_VkPartitionedAccelerationStructureFlagsNV& operator=(const safe_VkPartitionedAccelerationStructureFlagsNV& copy_src); + safe_VkPartitionedAccelerationStructureFlagsNV(); + ~safe_VkPartitionedAccelerationStructureFlagsNV(); + void initialize(const VkPartitionedAccelerationStructureFlagsNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPartitionedAccelerationStructureFlagsNV* copy_src, PNextCopyState* copy_state = {}); + VkPartitionedAccelerationStructureFlagsNV* ptr() { return reinterpret_cast<VkPartitionedAccelerationStructureFlagsNV*>(this); } + VkPartitionedAccelerationStructureFlagsNV const* ptr() const { + return reinterpret_cast<VkPartitionedAccelerationStructureFlagsNV const*>(this); + } +}; +struct safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV { + VkStructureType sType; + void* pNext{}; + uint32_t accelerationStructureCount; + const VkDeviceAddress* pAccelerationStructures{}; + + safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV( + const VkWriteDescriptorSetPartitionedAccelerationStructureNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV( + const safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV& copy_src); + safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV& operator=( + const safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV& copy_src); + safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV(); + ~safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV(); + void initialize(const VkWriteDescriptorSetPartitionedAccelerationStructureNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV* copy_src, PNextCopyState* copy_state = {}); + VkWriteDescriptorSetPartitionedAccelerationStructureNV* ptr() { + return reinterpret_cast<VkWriteDescriptorSetPartitionedAccelerationStructureNV*>(this); + } + VkWriteDescriptorSetPartitionedAccelerationStructureNV const* ptr() const { + return reinterpret_cast<VkWriteDescriptorSetPartitionedAccelerationStructureNV const*>(this); + } +}; +struct safe_VkPartitionedAccelerationStructureInstancesInputNV { + VkStructureType sType; + void* pNext{}; + VkBuildAccelerationStructureFlagsKHR flags; + uint32_t instanceCount; + uint32_t maxInstancePerPartitionCount; + uint32_t partitionCount; + uint32_t maxInstanceInGlobalPartitionCount; + + safe_VkPartitionedAccelerationStructureInstancesInputNV(const VkPartitionedAccelerationStructureInstancesInputNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPartitionedAccelerationStructureInstancesInputNV( + const safe_VkPartitionedAccelerationStructureInstancesInputNV& copy_src); + safe_VkPartitionedAccelerationStructureInstancesInputNV& operator=( + const safe_VkPartitionedAccelerationStructureInstancesInputNV& copy_src); + safe_VkPartitionedAccelerationStructureInstancesInputNV(); + ~safe_VkPartitionedAccelerationStructureInstancesInputNV(); + void initialize(const VkPartitionedAccelerationStructureInstancesInputNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPartitionedAccelerationStructureInstancesInputNV* copy_src, PNextCopyState* copy_state = {}); + VkPartitionedAccelerationStructureInstancesInputNV* ptr() { + return reinterpret_cast<VkPartitionedAccelerationStructureInstancesInputNV*>(this); + } + VkPartitionedAccelerationStructureInstancesInputNV const* ptr() const { + return reinterpret_cast<VkPartitionedAccelerationStructureInstancesInputNV const*>(this); + } +}; +struct safe_VkBuildPartitionedAccelerationStructureInfoNV { + VkStructureType sType; + void* pNext{}; + safe_VkPartitionedAccelerationStructureInstancesInputNV input; + VkDeviceAddress srcAccelerationStructureData; + VkDeviceAddress dstAccelerationStructureData; + VkDeviceAddress scratchData; + VkDeviceAddress srcInfos; + VkDeviceAddress srcInfosCount; + + safe_VkBuildPartitionedAccelerationStructureInfoNV(const VkBuildPartitionedAccelerationStructureInfoNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkBuildPartitionedAccelerationStructureInfoNV(const safe_VkBuildPartitionedAccelerationStructureInfoNV& copy_src); + safe_VkBuildPartitionedAccelerationStructureInfoNV& operator=( + const safe_VkBuildPartitionedAccelerationStructureInfoNV& copy_src); + safe_VkBuildPartitionedAccelerationStructureInfoNV(); + ~safe_VkBuildPartitionedAccelerationStructureInfoNV(); + void initialize(const VkBuildPartitionedAccelerationStructureInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBuildPartitionedAccelerationStructureInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkBuildPartitionedAccelerationStructureInfoNV* ptr() { + return reinterpret_cast<VkBuildPartitionedAccelerationStructureInfoNV*>(this); + } + VkBuildPartitionedAccelerationStructureInfoNV const* ptr() const { + return reinterpret_cast<VkBuildPartitionedAccelerationStructureInfoNV const*>(this); + } +}; struct safe_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -19356,6 +23410,112 @@ return reinterpret_cast<VkImageAlignmentControlCreateInfoMESA const*>(this); } }; +struct safe_VkPushConstantBankInfoNV { + VkStructureType sType; + const void* pNext{}; + uint32_t bank; + + safe_VkPushConstantBankInfoNV(const VkPushConstantBankInfoNV* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPushConstantBankInfoNV(const safe_VkPushConstantBankInfoNV& copy_src); + safe_VkPushConstantBankInfoNV& operator=(const safe_VkPushConstantBankInfoNV& copy_src); + safe_VkPushConstantBankInfoNV(); + ~safe_VkPushConstantBankInfoNV(); + void initialize(const VkPushConstantBankInfoNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPushConstantBankInfoNV* copy_src, PNextCopyState* copy_state = {}); + VkPushConstantBankInfoNV* ptr() { return reinterpret_cast<VkPushConstantBankInfoNV*>(this); } + VkPushConstantBankInfoNV const* ptr() const { return reinterpret_cast<VkPushConstantBankInfoNV const*>(this); } +}; +struct safe_VkPhysicalDevicePushConstantBankFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 pushConstantBank; + + safe_VkPhysicalDevicePushConstantBankFeaturesNV(const VkPhysicalDevicePushConstantBankFeaturesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePushConstantBankFeaturesNV(const safe_VkPhysicalDevicePushConstantBankFeaturesNV& copy_src); + safe_VkPhysicalDevicePushConstantBankFeaturesNV& operator=(const safe_VkPhysicalDevicePushConstantBankFeaturesNV& copy_src); + safe_VkPhysicalDevicePushConstantBankFeaturesNV(); + ~safe_VkPhysicalDevicePushConstantBankFeaturesNV(); + void initialize(const VkPhysicalDevicePushConstantBankFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePushConstantBankFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePushConstantBankFeaturesNV* ptr() { + return reinterpret_cast<VkPhysicalDevicePushConstantBankFeaturesNV*>(this); + } + VkPhysicalDevicePushConstantBankFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePushConstantBankFeaturesNV const*>(this); + } +}; +struct safe_VkPhysicalDevicePushConstantBankPropertiesNV { + VkStructureType sType; + void* pNext{}; + uint32_t maxGraphicsPushConstantBanks; + uint32_t maxComputePushConstantBanks; + uint32_t maxGraphicsPushDataBanks; + uint32_t maxComputePushDataBanks; + + safe_VkPhysicalDevicePushConstantBankPropertiesNV(const VkPhysicalDevicePushConstantBankPropertiesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePushConstantBankPropertiesNV(const safe_VkPhysicalDevicePushConstantBankPropertiesNV& copy_src); + safe_VkPhysicalDevicePushConstantBankPropertiesNV& operator=(const safe_VkPhysicalDevicePushConstantBankPropertiesNV& copy_src); + safe_VkPhysicalDevicePushConstantBankPropertiesNV(); + ~safe_VkPhysicalDevicePushConstantBankPropertiesNV(); + void initialize(const VkPhysicalDevicePushConstantBankPropertiesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePushConstantBankPropertiesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePushConstantBankPropertiesNV* ptr() { + return reinterpret_cast<VkPhysicalDevicePushConstantBankPropertiesNV*>(this); + } + VkPhysicalDevicePushConstantBankPropertiesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePushConstantBankPropertiesNV const*>(this); + } +}; +struct safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT { + VkStructureType sType; + void* pNext{}; + VkRayTracingInvocationReorderModeEXT rayTracingInvocationReorderReorderingHint; + uint32_t maxShaderBindingTableRecordIndex; + + safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT( + const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT( + const safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT& copy_src); + safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT& operator=( + const safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT& copy_src); + safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT(); + ~safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT(); + void initialize(const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT*>(this); + } + VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT const*>(this); + } +}; +struct safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 rayTracingInvocationReorder; + + safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT( + const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT( + const safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT& copy_src); + safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT& operator=( + const safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT& copy_src); + safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT(); + ~safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT(); + void initialize(const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT*>(this); + } + VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT const*>(this); + } +}; struct safe_VkPhysicalDeviceDepthClampControlFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -19398,6 +23558,24 @@ return reinterpret_cast<VkPipelineViewportDepthClampControlCreateInfoEXT const*>(this); } }; +#ifdef VK_USE_PLATFORM_OHOS +struct safe_VkSurfaceCreateInfoOHOS { + VkStructureType sType; + const void* pNext{}; + VkSurfaceCreateFlagsOHOS flags; + OHNativeWindow* window{}; + + safe_VkSurfaceCreateInfoOHOS(const VkSurfaceCreateInfoOHOS* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSurfaceCreateInfoOHOS(const safe_VkSurfaceCreateInfoOHOS& copy_src); + safe_VkSurfaceCreateInfoOHOS& operator=(const safe_VkSurfaceCreateInfoOHOS& copy_src); + safe_VkSurfaceCreateInfoOHOS(); + ~safe_VkSurfaceCreateInfoOHOS(); + void initialize(const VkSurfaceCreateInfoOHOS* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSurfaceCreateInfoOHOS* copy_src, PNextCopyState* copy_state = {}); + VkSurfaceCreateInfoOHOS* ptr() { return reinterpret_cast<VkSurfaceCreateInfoOHOS*>(this); } + VkSurfaceCreateInfoOHOS const* ptr() const { return reinterpret_cast<VkSurfaceCreateInfoOHOS const*>(this); } +}; +#endif // VK_USE_PLATFORM_OHOS struct safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI { VkStructureType sType; void* pNext{}; @@ -19512,6 +23690,272 @@ return reinterpret_cast<VkPhysicalDeviceCooperativeMatrix2PropertiesNV const*>(this); } }; +struct safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 pipelineOpacityMicromap; + + safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM(const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM( + const safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM& copy_src); + safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM& operator=( + const safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM& copy_src); + safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM(); + ~safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM(); + void initialize(const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* ptr() { + return reinterpret_cast<VkPhysicalDevicePipelineOpacityMicromapFeaturesARM*>(this); + } + VkPhysicalDevicePipelineOpacityMicromapFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePipelineOpacityMicromapFeaturesARM const*>(this); + } +}; +#ifdef VK_USE_PLATFORM_METAL_EXT +struct safe_VkImportMemoryMetalHandleInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkExternalMemoryHandleTypeFlagBits handleType; + void* handle{}; + + safe_VkImportMemoryMetalHandleInfoEXT(const VkImportMemoryMetalHandleInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkImportMemoryMetalHandleInfoEXT(const safe_VkImportMemoryMetalHandleInfoEXT& copy_src); + safe_VkImportMemoryMetalHandleInfoEXT& operator=(const safe_VkImportMemoryMetalHandleInfoEXT& copy_src); + safe_VkImportMemoryMetalHandleInfoEXT(); + ~safe_VkImportMemoryMetalHandleInfoEXT(); + void initialize(const VkImportMemoryMetalHandleInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkImportMemoryMetalHandleInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkImportMemoryMetalHandleInfoEXT* ptr() { return reinterpret_cast<VkImportMemoryMetalHandleInfoEXT*>(this); } + VkImportMemoryMetalHandleInfoEXT const* ptr() const { return reinterpret_cast<VkImportMemoryMetalHandleInfoEXT const*>(this); } +}; +struct safe_VkMemoryMetalHandlePropertiesEXT { + VkStructureType sType; + void* pNext{}; + uint32_t memoryTypeBits; + + safe_VkMemoryMetalHandlePropertiesEXT(const VkMemoryMetalHandlePropertiesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkMemoryMetalHandlePropertiesEXT(const safe_VkMemoryMetalHandlePropertiesEXT& copy_src); + safe_VkMemoryMetalHandlePropertiesEXT& operator=(const safe_VkMemoryMetalHandlePropertiesEXT& copy_src); + safe_VkMemoryMetalHandlePropertiesEXT(); + ~safe_VkMemoryMetalHandlePropertiesEXT(); + void initialize(const VkMemoryMetalHandlePropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryMetalHandlePropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkMemoryMetalHandlePropertiesEXT* ptr() { return reinterpret_cast<VkMemoryMetalHandlePropertiesEXT*>(this); } + VkMemoryMetalHandlePropertiesEXT const* ptr() const { return reinterpret_cast<VkMemoryMetalHandlePropertiesEXT const*>(this); } +}; +struct safe_VkMemoryGetMetalHandleInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkDeviceMemory memory; + VkExternalMemoryHandleTypeFlagBits handleType; + + safe_VkMemoryGetMetalHandleInfoEXT(const VkMemoryGetMetalHandleInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkMemoryGetMetalHandleInfoEXT(const safe_VkMemoryGetMetalHandleInfoEXT& copy_src); + safe_VkMemoryGetMetalHandleInfoEXT& operator=(const safe_VkMemoryGetMetalHandleInfoEXT& copy_src); + safe_VkMemoryGetMetalHandleInfoEXT(); + ~safe_VkMemoryGetMetalHandleInfoEXT(); + void initialize(const VkMemoryGetMetalHandleInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkMemoryGetMetalHandleInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkMemoryGetMetalHandleInfoEXT* ptr() { return reinterpret_cast<VkMemoryGetMetalHandleInfoEXT*>(this); } + VkMemoryGetMetalHandleInfoEXT const* ptr() const { return reinterpret_cast<VkMemoryGetMetalHandleInfoEXT const*>(this); } +}; +#endif // VK_USE_PLATFORM_METAL_EXT +struct safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 performanceCountersByRegion; + + safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM( + const VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM( + const safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM& copy_src); + safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM& operator=( + const safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM& copy_src); + safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM(); + ~safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM(); + void initialize(const VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* ptr() { + return reinterpret_cast<VkPhysicalDevicePerformanceCountersByRegionFeaturesARM*>(this); + } + VkPhysicalDevicePerformanceCountersByRegionFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePerformanceCountersByRegionFeaturesARM const*>(this); + } +}; +struct safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t maxPerRegionPerformanceCounters; + VkExtent2D performanceCounterRegionSize; + uint32_t rowStrideAlignment; + uint32_t regionAlignment; + VkBool32 identityTransformOrder; + + safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM( + const VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM( + const safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM& copy_src); + safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM& operator=( + const safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM& copy_src); + safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM(); + ~safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM(); + void initialize(const VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* ptr() { + return reinterpret_cast<VkPhysicalDevicePerformanceCountersByRegionPropertiesARM*>(this); + } + VkPhysicalDevicePerformanceCountersByRegionPropertiesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePerformanceCountersByRegionPropertiesARM const*>(this); + } +}; +struct safe_VkPerformanceCounterARM { + VkStructureType sType; + void* pNext{}; + uint32_t counterID; + + safe_VkPerformanceCounterARM(const VkPerformanceCounterARM* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPerformanceCounterARM(const safe_VkPerformanceCounterARM& copy_src); + safe_VkPerformanceCounterARM& operator=(const safe_VkPerformanceCounterARM& copy_src); + safe_VkPerformanceCounterARM(); + ~safe_VkPerformanceCounterARM(); + void initialize(const VkPerformanceCounterARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPerformanceCounterARM* copy_src, PNextCopyState* copy_state = {}); + VkPerformanceCounterARM* ptr() { return reinterpret_cast<VkPerformanceCounterARM*>(this); } + VkPerformanceCounterARM const* ptr() const { return reinterpret_cast<VkPerformanceCounterARM const*>(this); } +}; +struct safe_VkPerformanceCounterDescriptionARM { + VkStructureType sType; + void* pNext{}; + VkPerformanceCounterDescriptionFlagsARM flags; + char name[VK_MAX_DESCRIPTION_SIZE]; + + safe_VkPerformanceCounterDescriptionARM(const VkPerformanceCounterDescriptionARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPerformanceCounterDescriptionARM(const safe_VkPerformanceCounterDescriptionARM& copy_src); + safe_VkPerformanceCounterDescriptionARM& operator=(const safe_VkPerformanceCounterDescriptionARM& copy_src); + safe_VkPerformanceCounterDescriptionARM(); + ~safe_VkPerformanceCounterDescriptionARM(); + void initialize(const VkPerformanceCounterDescriptionARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPerformanceCounterDescriptionARM* copy_src, PNextCopyState* copy_state = {}); + VkPerformanceCounterDescriptionARM* ptr() { return reinterpret_cast<VkPerformanceCounterDescriptionARM*>(this); } + VkPerformanceCounterDescriptionARM const* ptr() const { + return reinterpret_cast<VkPerformanceCounterDescriptionARM const*>(this); + } +}; +struct safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM { + VkStructureType sType; + void* pNext{}; + uint32_t counterAddressCount; + const VkDeviceAddress* pCounterAddresses{}; + VkBool32 serializeRegions; + uint32_t counterIndexCount; + uint32_t* pCounterIndices{}; + + safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM(const VkRenderPassPerformanceCountersByRegionBeginInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM( + const safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM& copy_src); + safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM& operator=( + const safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM& copy_src); + safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM(); + ~safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM(); + void initialize(const VkRenderPassPerformanceCountersByRegionBeginInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkRenderPassPerformanceCountersByRegionBeginInfoARM* ptr() { + return reinterpret_cast<VkRenderPassPerformanceCountersByRegionBeginInfoARM*>(this); + } + VkRenderPassPerformanceCountersByRegionBeginInfoARM const* ptr() const { + return reinterpret_cast<VkRenderPassPerformanceCountersByRegionBeginInfoARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderInstrumentation; + + safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM(const VkPhysicalDeviceShaderInstrumentationFeaturesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM(const safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM& copy_src); + safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM& operator=( + const safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM& copy_src); + safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM(); + ~safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM(); + void initialize(const VkPhysicalDeviceShaderInstrumentationFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderInstrumentationFeaturesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderInstrumentationFeaturesARM*>(this); + } + VkPhysicalDeviceShaderInstrumentationFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderInstrumentationFeaturesARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM { + VkStructureType sType; + void* pNext{}; + uint32_t numMetrics; + VkBool32 perBasicBlockGranularity; + + safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM(const VkPhysicalDeviceShaderInstrumentationPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM( + const safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM& copy_src); + safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM& operator=( + const safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM& copy_src); + safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM(); + ~safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM(); + void initialize(const VkPhysicalDeviceShaderInstrumentationPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderInstrumentationPropertiesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderInstrumentationPropertiesARM*>(this); + } + VkPhysicalDeviceShaderInstrumentationPropertiesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderInstrumentationPropertiesARM const*>(this); + } +}; +struct safe_VkShaderInstrumentationCreateInfoARM { + VkStructureType sType; + void* pNext{}; + + safe_VkShaderInstrumentationCreateInfoARM(const VkShaderInstrumentationCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkShaderInstrumentationCreateInfoARM(const safe_VkShaderInstrumentationCreateInfoARM& copy_src); + safe_VkShaderInstrumentationCreateInfoARM& operator=(const safe_VkShaderInstrumentationCreateInfoARM& copy_src); + safe_VkShaderInstrumentationCreateInfoARM(); + ~safe_VkShaderInstrumentationCreateInfoARM(); + void initialize(const VkShaderInstrumentationCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkShaderInstrumentationCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkShaderInstrumentationCreateInfoARM* ptr() { return reinterpret_cast<VkShaderInstrumentationCreateInfoARM*>(this); } + VkShaderInstrumentationCreateInfoARM const* ptr() const { + return reinterpret_cast<VkShaderInstrumentationCreateInfoARM const*>(this); + } +}; +struct safe_VkShaderInstrumentationMetricDescriptionARM { + VkStructureType sType; + void* pNext{}; + char name[VK_MAX_DESCRIPTION_SIZE]; + char description[VK_MAX_DESCRIPTION_SIZE]; + + safe_VkShaderInstrumentationMetricDescriptionARM(const VkShaderInstrumentationMetricDescriptionARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkShaderInstrumentationMetricDescriptionARM(const safe_VkShaderInstrumentationMetricDescriptionARM& copy_src); + safe_VkShaderInstrumentationMetricDescriptionARM& operator=(const safe_VkShaderInstrumentationMetricDescriptionARM& copy_src); + safe_VkShaderInstrumentationMetricDescriptionARM(); + ~safe_VkShaderInstrumentationMetricDescriptionARM(); + void initialize(const VkShaderInstrumentationMetricDescriptionARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkShaderInstrumentationMetricDescriptionARM* copy_src, PNextCopyState* copy_state = {}); + VkShaderInstrumentationMetricDescriptionARM* ptr() { + return reinterpret_cast<VkShaderInstrumentationMetricDescriptionARM*>(this); + } + VkShaderInstrumentationMetricDescriptionARM const* ptr() const { + return reinterpret_cast<VkShaderInstrumentationMetricDescriptionARM const*>(this); + } +}; struct safe_VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT { VkStructureType sType; void* pNext{}; @@ -19534,6 +23978,790 @@ return reinterpret_cast<VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT const*>(this); } }; +struct safe_VkPhysicalDeviceFormatPackFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 formatPack; + + safe_VkPhysicalDeviceFormatPackFeaturesARM(const VkPhysicalDeviceFormatPackFeaturesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceFormatPackFeaturesARM(const safe_VkPhysicalDeviceFormatPackFeaturesARM& copy_src); + safe_VkPhysicalDeviceFormatPackFeaturesARM& operator=(const safe_VkPhysicalDeviceFormatPackFeaturesARM& copy_src); + safe_VkPhysicalDeviceFormatPackFeaturesARM(); + ~safe_VkPhysicalDeviceFormatPackFeaturesARM(); + void initialize(const VkPhysicalDeviceFormatPackFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFormatPackFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFormatPackFeaturesARM* ptr() { return reinterpret_cast<VkPhysicalDeviceFormatPackFeaturesARM*>(this); } + VkPhysicalDeviceFormatPackFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFormatPackFeaturesARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE { + VkStructureType sType; + void* pNext{}; + VkBool32 fragmentDensityMapLayered; + + safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE( + const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE& operator=( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE(); + ~safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE(); + void initialize(const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* ptr() { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE*>(this); + } + VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE const*>(this); + } +}; +struct safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE { + VkStructureType sType; + void* pNext{}; + uint32_t maxFragmentDensityMapLayers; + + safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE( + const VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE& operator=( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE& copy_src); + safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE(); + ~safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE(); + void initialize(const VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* ptr() { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE*>(this); + } + VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE const*>(this); + } +}; +struct safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE { + VkStructureType sType; + const void* pNext{}; + uint32_t maxFragmentDensityMapLayers; + + safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE(const VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE( + const safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE& copy_src); + safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE& operator=( + const safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE& copy_src); + safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE(); + ~safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE(); + void initialize(const VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* copy_src, PNextCopyState* copy_state = {}); + VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* ptr() { + return reinterpret_cast<VkPipelineFragmentDensityMapLayeredCreateInfoVALVE*>(this); + } + VkPipelineFragmentDensityMapLayeredCreateInfoVALVE const* ptr() const { + return reinterpret_cast<VkPipelineFragmentDensityMapLayeredCreateInfoVALVE const*>(this); + } +}; +#ifdef VK_ENABLE_BETA_EXTENSIONS +struct safe_VkSetPresentConfigNV { + VkStructureType sType; + const void* pNext{}; + uint32_t numFramesPerBatch; + uint32_t presentConfigFeedback; + + safe_VkSetPresentConfigNV(const VkSetPresentConfigNV* in_struct, PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkSetPresentConfigNV(const safe_VkSetPresentConfigNV& copy_src); + safe_VkSetPresentConfigNV& operator=(const safe_VkSetPresentConfigNV& copy_src); + safe_VkSetPresentConfigNV(); + ~safe_VkSetPresentConfigNV(); + void initialize(const VkSetPresentConfigNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkSetPresentConfigNV* copy_src, PNextCopyState* copy_state = {}); + VkSetPresentConfigNV* ptr() { return reinterpret_cast<VkSetPresentConfigNV*>(this); } + VkSetPresentConfigNV const* ptr() const { return reinterpret_cast<VkSetPresentConfigNV const*>(this); } +}; +struct safe_VkPhysicalDevicePresentMeteringFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 presentMetering; + + safe_VkPhysicalDevicePresentMeteringFeaturesNV(const VkPhysicalDevicePresentMeteringFeaturesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePresentMeteringFeaturesNV(const safe_VkPhysicalDevicePresentMeteringFeaturesNV& copy_src); + safe_VkPhysicalDevicePresentMeteringFeaturesNV& operator=(const safe_VkPhysicalDevicePresentMeteringFeaturesNV& copy_src); + safe_VkPhysicalDevicePresentMeteringFeaturesNV(); + ~safe_VkPhysicalDevicePresentMeteringFeaturesNV(); + void initialize(const VkPhysicalDevicePresentMeteringFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePresentMeteringFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePresentMeteringFeaturesNV* ptr() { return reinterpret_cast<VkPhysicalDevicePresentMeteringFeaturesNV*>(this); } + VkPhysicalDevicePresentMeteringFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePresentMeteringFeaturesNV const*>(this); + } +}; +#endif // VK_ENABLE_BETA_EXTENSIONS +struct safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 zeroInitializeDeviceMemory; + + safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT( + const VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT( + const safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT& copy_src); + safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT& operator=( + const safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT& copy_src); + safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT(); + ~safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT(); + void initialize(const VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT*>(this); + } + VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT const*>(this); + } +}; +struct safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 shader64BitIndexing; + + safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT(const VkPhysicalDeviceShader64BitIndexingFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT(const safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT& operator=( + const safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT(); + ~safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT(); + void initialize(const VkPhysicalDeviceShader64BitIndexingFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShader64BitIndexingFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceShader64BitIndexingFeaturesEXT*>(this); + } + VkPhysicalDeviceShader64BitIndexingFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShader64BitIndexingFeaturesEXT const*>(this); + } +}; +struct safe_VkPhysicalDeviceCustomResolveFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 customResolve; + + safe_VkPhysicalDeviceCustomResolveFeaturesEXT(const VkPhysicalDeviceCustomResolveFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceCustomResolveFeaturesEXT(const safe_VkPhysicalDeviceCustomResolveFeaturesEXT& copy_src); + safe_VkPhysicalDeviceCustomResolveFeaturesEXT& operator=(const safe_VkPhysicalDeviceCustomResolveFeaturesEXT& copy_src); + safe_VkPhysicalDeviceCustomResolveFeaturesEXT(); + ~safe_VkPhysicalDeviceCustomResolveFeaturesEXT(); + void initialize(const VkPhysicalDeviceCustomResolveFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceCustomResolveFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceCustomResolveFeaturesEXT* ptr() { return reinterpret_cast<VkPhysicalDeviceCustomResolveFeaturesEXT*>(this); } + VkPhysicalDeviceCustomResolveFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceCustomResolveFeaturesEXT const*>(this); + } +}; +struct safe_VkBeginCustomResolveInfoEXT { + VkStructureType sType; + void* pNext{}; + + safe_VkBeginCustomResolveInfoEXT(const VkBeginCustomResolveInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkBeginCustomResolveInfoEXT(const safe_VkBeginCustomResolveInfoEXT& copy_src); + safe_VkBeginCustomResolveInfoEXT& operator=(const safe_VkBeginCustomResolveInfoEXT& copy_src); + safe_VkBeginCustomResolveInfoEXT(); + ~safe_VkBeginCustomResolveInfoEXT(); + void initialize(const VkBeginCustomResolveInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkBeginCustomResolveInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkBeginCustomResolveInfoEXT* ptr() { return reinterpret_cast<VkBeginCustomResolveInfoEXT*>(this); } + VkBeginCustomResolveInfoEXT const* ptr() const { return reinterpret_cast<VkBeginCustomResolveInfoEXT const*>(this); } +}; +struct safe_VkCustomResolveCreateInfoEXT { + VkStructureType sType; + const void* pNext{}; + VkBool32 customResolve; + uint32_t colorAttachmentCount; + const VkFormat* pColorAttachmentFormats{}; + VkFormat depthAttachmentFormat; + VkFormat stencilAttachmentFormat; + + safe_VkCustomResolveCreateInfoEXT(const VkCustomResolveCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkCustomResolveCreateInfoEXT(const safe_VkCustomResolveCreateInfoEXT& copy_src); + safe_VkCustomResolveCreateInfoEXT& operator=(const safe_VkCustomResolveCreateInfoEXT& copy_src); + safe_VkCustomResolveCreateInfoEXT(); + ~safe_VkCustomResolveCreateInfoEXT(); + void initialize(const VkCustomResolveCreateInfoEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkCustomResolveCreateInfoEXT* copy_src, PNextCopyState* copy_state = {}); + VkCustomResolveCreateInfoEXT* ptr() { return reinterpret_cast<VkCustomResolveCreateInfoEXT*>(this); } + VkCustomResolveCreateInfoEXT const* ptr() const { return reinterpret_cast<VkCustomResolveCreateInfoEXT const*>(this); } +}; +struct safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM { + VkStructureType sType; + const void* pNext{}; + const VkPhysicalDeviceDataGraphOperationSupportARM* pOperation{}; + + safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM(const VkDataGraphPipelineBuiltinModelCreateInfoQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM(const safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM& copy_src); + safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM& operator=( + const safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM& copy_src); + safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM(); + ~safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM(); + void initialize(const VkDataGraphPipelineBuiltinModelCreateInfoQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineBuiltinModelCreateInfoQCOM* ptr() { + return reinterpret_cast<VkDataGraphPipelineBuiltinModelCreateInfoQCOM*>(this); + } + VkDataGraphPipelineBuiltinModelCreateInfoQCOM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineBuiltinModelCreateInfoQCOM const*>(this); + } +}; +struct safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM { + VkStructureType sType; + void* pNext{}; + VkBool32 dataGraphModel; + + safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM(const VkPhysicalDeviceDataGraphModelFeaturesQCOM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM(const safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM& operator=(const safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM& copy_src); + safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM(); + ~safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM(); + void initialize(const VkPhysicalDeviceDataGraphModelFeaturesQCOM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDataGraphModelFeaturesQCOM* ptr() { + return reinterpret_cast<VkPhysicalDeviceDataGraphModelFeaturesQCOM*>(this); + } + VkPhysicalDeviceDataGraphModelFeaturesQCOM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDataGraphModelFeaturesQCOM const*>(this); + } +}; +struct safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 dataGraphOpticalFlow; + + safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& copy_src); + safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& operator=( + const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& copy_src); + safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(); + ~safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(); + void initialize(const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM*>(this); + } + VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM const*>(this); + } +}; +struct safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM { + VkStructureType sType; + void* pNext{}; + VkDataGraphOpticalFlowGridSizeFlagsARM supportedOutputGridSizes; + VkDataGraphOpticalFlowGridSizeFlagsARM supportedHintGridSizes; + VkBool32 hintSupported; + VkBool32 costSupported; + uint32_t minWidth; + uint32_t minHeight; + uint32_t maxWidth; + uint32_t maxHeight; + + safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM(const VkQueueFamilyDataGraphOpticalFlowPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM(const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& operator=( + const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& copy_src); + safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM(); + ~safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM(); + void initialize(const VkQueueFamilyDataGraphOpticalFlowPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkQueueFamilyDataGraphOpticalFlowPropertiesARM* ptr() { + return reinterpret_cast<VkQueueFamilyDataGraphOpticalFlowPropertiesARM*>(this); + } + VkQueueFamilyDataGraphOpticalFlowPropertiesARM const* ptr() const { + return reinterpret_cast<VkQueueFamilyDataGraphOpticalFlowPropertiesARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineOpticalFlowCreateInfoARM { + VkStructureType sType; + void* pNext{}; + uint32_t width; + uint32_t height; + VkFormat imageFormat; + VkFormat flowVectorFormat; + VkFormat costFormat; + VkDataGraphOpticalFlowGridSizeFlagsARM outputGridSize; + VkDataGraphOpticalFlowGridSizeFlagsARM hintGridSize; + VkDataGraphOpticalFlowPerformanceLevelARM performanceLevel; + VkDataGraphOpticalFlowCreateFlagsARM flags; + + safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(const VkDataGraphPipelineOpticalFlowCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& copy_src); + safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& operator=(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& copy_src); + safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(); + ~safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(); + void initialize(const VkDataGraphPipelineOpticalFlowCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineOpticalFlowCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineOpticalFlowCreateInfoARM*>(this); + } + VkDataGraphPipelineOpticalFlowCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineOpticalFlowCreateInfoARM const*>(this); + } +}; +struct safe_VkDataGraphOpticalFlowImageFormatPropertiesARM { + VkStructureType sType; + void* pNext{}; + VkFormat format; + + safe_VkDataGraphOpticalFlowImageFormatPropertiesARM(const VkDataGraphOpticalFlowImageFormatPropertiesARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphOpticalFlowImageFormatPropertiesARM(const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& copy_src); + safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& operator=( + const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& copy_src); + safe_VkDataGraphOpticalFlowImageFormatPropertiesARM(); + ~safe_VkDataGraphOpticalFlowImageFormatPropertiesARM(); + void initialize(const VkDataGraphOpticalFlowImageFormatPropertiesARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphOpticalFlowImageFormatPropertiesARM* ptr() { + return reinterpret_cast<VkDataGraphOpticalFlowImageFormatPropertiesARM*>(this); + } + VkDataGraphOpticalFlowImageFormatPropertiesARM const* ptr() const { + return reinterpret_cast<VkDataGraphOpticalFlowImageFormatPropertiesARM const*>(this); + } +}; +struct safe_VkDataGraphOpticalFlowImageFormatInfoARM { + VkStructureType sType; + const void* pNext{}; + VkDataGraphOpticalFlowImageUsageFlagsARM usage; + + safe_VkDataGraphOpticalFlowImageFormatInfoARM(const VkDataGraphOpticalFlowImageFormatInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphOpticalFlowImageFormatInfoARM(const safe_VkDataGraphOpticalFlowImageFormatInfoARM& copy_src); + safe_VkDataGraphOpticalFlowImageFormatInfoARM& operator=(const safe_VkDataGraphOpticalFlowImageFormatInfoARM& copy_src); + safe_VkDataGraphOpticalFlowImageFormatInfoARM(); + ~safe_VkDataGraphOpticalFlowImageFormatInfoARM(); + void initialize(const VkDataGraphOpticalFlowImageFormatInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphOpticalFlowImageFormatInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphOpticalFlowImageFormatInfoARM* ptr() { return reinterpret_cast<VkDataGraphOpticalFlowImageFormatInfoARM*>(this); } + VkDataGraphOpticalFlowImageFormatInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphOpticalFlowImageFormatInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM { + VkStructureType sType; + void* pNext{}; + VkDataGraphOpticalFlowExecuteFlagsARM flags; + uint32_t meanFlowL1NormHint; + + safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(const VkDataGraphPipelineOpticalFlowDispatchInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& copy_src); + safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& operator=( + const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& copy_src); + safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(); + ~safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(); + void initialize(const VkDataGraphPipelineOpticalFlowDispatchInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineOpticalFlowDispatchInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineOpticalFlowDispatchInfoARM*>(this); + } + VkDataGraphPipelineOpticalFlowDispatchInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineOpticalFlowDispatchInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineResourceInfoImageLayoutARM { + VkStructureType sType; + const void* pNext{}; + VkImageLayout layout; + + safe_VkDataGraphPipelineResourceInfoImageLayoutARM(const VkDataGraphPipelineResourceInfoImageLayoutARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineResourceInfoImageLayoutARM(const safe_VkDataGraphPipelineResourceInfoImageLayoutARM& copy_src); + safe_VkDataGraphPipelineResourceInfoImageLayoutARM& operator=( + const safe_VkDataGraphPipelineResourceInfoImageLayoutARM& copy_src); + safe_VkDataGraphPipelineResourceInfoImageLayoutARM(); + ~safe_VkDataGraphPipelineResourceInfoImageLayoutARM(); + void initialize(const VkDataGraphPipelineResourceInfoImageLayoutARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineResourceInfoImageLayoutARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineResourceInfoImageLayoutARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineResourceInfoImageLayoutARM*>(this); + } + VkDataGraphPipelineResourceInfoImageLayoutARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineResourceInfoImageLayoutARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSingleNodeConnectionARM { + VkStructureType sType; + void* pNext{}; + uint32_t set; + uint32_t binding; + VkDataGraphPipelineNodeConnectionTypeARM connection; + + safe_VkDataGraphPipelineSingleNodeConnectionARM(const VkDataGraphPipelineSingleNodeConnectionARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineSingleNodeConnectionARM(const safe_VkDataGraphPipelineSingleNodeConnectionARM& copy_src); + safe_VkDataGraphPipelineSingleNodeConnectionARM& operator=(const safe_VkDataGraphPipelineSingleNodeConnectionARM& copy_src); + safe_VkDataGraphPipelineSingleNodeConnectionARM(); + ~safe_VkDataGraphPipelineSingleNodeConnectionARM(); + void initialize(const VkDataGraphPipelineSingleNodeConnectionARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSingleNodeConnectionARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSingleNodeConnectionARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineSingleNodeConnectionARM*>(this); + } + VkDataGraphPipelineSingleNodeConnectionARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSingleNodeConnectionARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSingleNodeCreateInfoARM { + VkStructureType sType; + void* pNext{}; + VkDataGraphPipelineNodeTypeARM nodeType; + uint32_t connectionCount; + safe_VkDataGraphPipelineSingleNodeConnectionARM* pConnections{}; + + safe_VkDataGraphPipelineSingleNodeCreateInfoARM(const VkDataGraphPipelineSingleNodeCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineSingleNodeCreateInfoARM(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM& copy_src); + safe_VkDataGraphPipelineSingleNodeCreateInfoARM& operator=(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM& copy_src); + safe_VkDataGraphPipelineSingleNodeCreateInfoARM(); + ~safe_VkDataGraphPipelineSingleNodeCreateInfoARM(); + void initialize(const VkDataGraphPipelineSingleNodeCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSingleNodeCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineSingleNodeCreateInfoARM*>(this); + } + VkDataGraphPipelineSingleNodeCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSingleNodeCreateInfoARM const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 longVector; + + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& operator=(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(); + ~safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(); + void initialize(const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderLongVectorFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderLongVectorFeaturesEXT*>(this); + } + VkPhysicalDeviceShaderLongVectorFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderLongVectorFeaturesEXT const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT { + VkStructureType sType; + void* pNext{}; + uint32_t maxVectorComponents; + + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& operator=( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src); + safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(); + ~safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(); + void initialize(const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderLongVectorPropertiesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderLongVectorPropertiesEXT*>(this); + } + VkPhysicalDeviceShaderLongVectorPropertiesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderLongVectorPropertiesEXT const*>(this); + } +}; +struct safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC { + VkStructureType sType; + void* pNext{}; + VkBool32 pipelineCacheIncrementalMode; + + safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC( + const VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC( + const safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC& copy_src); + safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC& operator=( + const safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC& copy_src); + safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC(); + ~safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC(); + void initialize(const VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* ptr() { + return reinterpret_cast<VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC*>(this); + } + VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderUniformBufferUnsizedArray; + + safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT( + const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT( + const safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT& operator=( + const safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT(); + ~safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT(); + void initialize(const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT*>(this); + } + VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT const*>(this); + } +}; +struct safe_VkComputeOccupancyPriorityParametersNV { + VkStructureType sType; + const void* pNext{}; + float occupancyPriority; + float occupancyThrottling; + + safe_VkComputeOccupancyPriorityParametersNV(const VkComputeOccupancyPriorityParametersNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkComputeOccupancyPriorityParametersNV(const safe_VkComputeOccupancyPriorityParametersNV& copy_src); + safe_VkComputeOccupancyPriorityParametersNV& operator=(const safe_VkComputeOccupancyPriorityParametersNV& copy_src); + safe_VkComputeOccupancyPriorityParametersNV(); + ~safe_VkComputeOccupancyPriorityParametersNV(); + void initialize(const VkComputeOccupancyPriorityParametersNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkComputeOccupancyPriorityParametersNV* copy_src, PNextCopyState* copy_state = {}); + VkComputeOccupancyPriorityParametersNV* ptr() { return reinterpret_cast<VkComputeOccupancyPriorityParametersNV*>(this); } + VkComputeOccupancyPriorityParametersNV const* ptr() const { + return reinterpret_cast<VkComputeOccupancyPriorityParametersNV const*>(this); + } +}; +struct safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV { + VkStructureType sType; + void* pNext{}; + VkBool32 computeOccupancyPriority; + + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src); + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& operator=( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src); + safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(); + ~safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(); + void initialize(const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* ptr() { + return reinterpret_cast<VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV*>(this); + } + VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV const*>(this); + } +}; +struct safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderSubgroupPartitioned; + + safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT(const VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT( + const safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT& operator=( + const safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT& copy_src); + safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT(); + ~safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT(); + void initialize(const VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT*>(this); + } + VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT const*>(this); + } +}; +#ifdef VK_USE_PLATFORM_UBM_SEC +struct safe_VkUbmSurfaceCreateInfoSEC { + VkStructureType sType; + const void* pNext{}; + VkUbmSurfaceCreateFlagsSEC flags; + struct ubm_device* device{}; + struct ubm_surface* surface{}; + + safe_VkUbmSurfaceCreateInfoSEC(const VkUbmSurfaceCreateInfoSEC* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkUbmSurfaceCreateInfoSEC(const safe_VkUbmSurfaceCreateInfoSEC& copy_src); + safe_VkUbmSurfaceCreateInfoSEC& operator=(const safe_VkUbmSurfaceCreateInfoSEC& copy_src); + safe_VkUbmSurfaceCreateInfoSEC(); + ~safe_VkUbmSurfaceCreateInfoSEC(); + void initialize(const VkUbmSurfaceCreateInfoSEC* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkUbmSurfaceCreateInfoSEC* copy_src, PNextCopyState* copy_state = {}); + VkUbmSurfaceCreateInfoSEC* ptr() { return reinterpret_cast<VkUbmSurfaceCreateInfoSEC*>(this); } + VkUbmSurfaceCreateInfoSEC const* ptr() const { return reinterpret_cast<VkUbmSurfaceCreateInfoSEC const*>(this); } +}; +#endif // VK_USE_PLATFORM_UBM_SEC +struct safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE { + VkStructureType sType; + void* pNext{}; + VkBool32 shaderMixedFloatDotProductFloat16AccFloat32; + VkBool32 shaderMixedFloatDotProductFloat16AccFloat16; + VkBool32 shaderMixedFloatDotProductBFloat16Acc; + VkBool32 shaderMixedFloatDotProductFloat8AccFloat32; + + safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE( + const VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE( + const safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE& copy_src); + safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE& operator=( + const safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE& copy_src); + safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE(); + ~safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE(); + void initialize(const VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* ptr() { + return reinterpret_cast<VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE*>(this); + } + VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE const*>(this); + } +}; +struct safe_VkThrottleHintSubmitInfoSEC { + VkStructureType sType; + const void* pNext{}; + VkThrottleHintTypeSEC throttleHint; + + safe_VkThrottleHintSubmitInfoSEC(const VkThrottleHintSubmitInfoSEC* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkThrottleHintSubmitInfoSEC(const safe_VkThrottleHintSubmitInfoSEC& copy_src); + safe_VkThrottleHintSubmitInfoSEC& operator=(const safe_VkThrottleHintSubmitInfoSEC& copy_src); + safe_VkThrottleHintSubmitInfoSEC(); + ~safe_VkThrottleHintSubmitInfoSEC(); + void initialize(const VkThrottleHintSubmitInfoSEC* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkThrottleHintSubmitInfoSEC* copy_src, PNextCopyState* copy_state = {}); + VkThrottleHintSubmitInfoSEC* ptr() { return reinterpret_cast<VkThrottleHintSubmitInfoSEC*>(this); } + VkThrottleHintSubmitInfoSEC const* ptr() const { return reinterpret_cast<VkThrottleHintSubmitInfoSEC const*>(this); } +}; +struct safe_VkPhysicalDeviceThrottleHintFeaturesSEC { + VkStructureType sType; + void* pNext{}; + VkBool32 throttleHint; + + safe_VkPhysicalDeviceThrottleHintFeaturesSEC(const VkPhysicalDeviceThrottleHintFeaturesSEC* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDeviceThrottleHintFeaturesSEC(const safe_VkPhysicalDeviceThrottleHintFeaturesSEC& copy_src); + safe_VkPhysicalDeviceThrottleHintFeaturesSEC& operator=(const safe_VkPhysicalDeviceThrottleHintFeaturesSEC& copy_src); + safe_VkPhysicalDeviceThrottleHintFeaturesSEC(); + ~safe_VkPhysicalDeviceThrottleHintFeaturesSEC(); + void initialize(const VkPhysicalDeviceThrottleHintFeaturesSEC* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceThrottleHintFeaturesSEC* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDeviceThrottleHintFeaturesSEC* ptr() { return reinterpret_cast<VkPhysicalDeviceThrottleHintFeaturesSEC*>(this); } + VkPhysicalDeviceThrottleHintFeaturesSEC const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceThrottleHintFeaturesSEC const*>(this); + } +}; +struct safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM { + VkStructureType sType; + void* pNext{}; + VkBool32 dataGraphNeuralAcceleratorStatistics; + + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM( + const VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM( + const safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM& copy_src); + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM& operator=( + const safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM& copy_src); + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM(); + ~safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM(); + void initialize(const VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* in_struct, + PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* copy_src, + PNextCopyState* copy_state = {}); + VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* ptr() { + return reinterpret_cast<VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM*>(this); + } + VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM const* ptr() const { + return reinterpret_cast<VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkBool32 allowNeuralStatistics; + + safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM(const VkDataGraphPipelineNeuralStatisticsCreateInfoARM* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM(const safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM& copy_src); + safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM& operator=( + const safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM& copy_src); + safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM(); + ~safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM(); + void initialize(const VkDataGraphPipelineNeuralStatisticsCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineNeuralStatisticsCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineNeuralStatisticsCreateInfoARM*>(this); + } + VkDataGraphPipelineNeuralStatisticsCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineNeuralStatisticsCreateInfoARM const*>(this); + } +}; +struct safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM { + VkStructureType sType; + const void* pNext{}; + VkNeuralAcceleratorStatisticsModeARM mode; + + safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM( + const VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* in_struct, PNextCopyState* copy_state = {}, + bool copy_pnext = true); + safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM( + const safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM& copy_src); + safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM& operator=( + const safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM& copy_src); + safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM(); + ~safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM(); + void initialize(const VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* copy_src, PNextCopyState* copy_state = {}); + VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* ptr() { + return reinterpret_cast<VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM*>(this); + } + VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM const* ptr() const { + return reinterpret_cast<VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM const*>(this); + } +}; +struct safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT { + VkStructureType sType; + void* pNext{}; + VkBool32 primitiveRestartIndex; + + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, + PNextCopyState* copy_state = {}, bool copy_pnext = true); + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src); + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& operator=( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src); + safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(); + ~safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(); + void initialize(const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, PNextCopyState* copy_state = {}); + void initialize(const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* copy_src, PNextCopyState* copy_state = {}); + VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* ptr() { + return reinterpret_cast<VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT*>(this); + } + VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT const* ptr() const { + return reinterpret_cast<VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT const*>(this); + } +}; struct safe_VkAccelerationStructureGeometryTrianglesDataKHR { VkStructureType sType; const void* pNext{}; @@ -19857,26 +25085,6 @@ return reinterpret_cast<VkCopyAccelerationStructureInfoKHR const*>(this); } }; -struct safe_VkAccelerationStructureBuildSizesInfoKHR { - VkStructureType sType; - const void* pNext{}; - VkDeviceSize accelerationStructureSize; - VkDeviceSize updateScratchSize; - VkDeviceSize buildScratchSize; - - safe_VkAccelerationStructureBuildSizesInfoKHR(const VkAccelerationStructureBuildSizesInfoKHR* in_struct, - PNextCopyState* copy_state = {}, bool copy_pnext = true); - safe_VkAccelerationStructureBuildSizesInfoKHR(const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src); - safe_VkAccelerationStructureBuildSizesInfoKHR& operator=(const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src); - safe_VkAccelerationStructureBuildSizesInfoKHR(); - ~safe_VkAccelerationStructureBuildSizesInfoKHR(); - void initialize(const VkAccelerationStructureBuildSizesInfoKHR* in_struct, PNextCopyState* copy_state = {}); - void initialize(const safe_VkAccelerationStructureBuildSizesInfoKHR* copy_src, PNextCopyState* copy_state = {}); - VkAccelerationStructureBuildSizesInfoKHR* ptr() { return reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR*>(this); } - VkAccelerationStructureBuildSizesInfoKHR const* ptr() const { - return reinterpret_cast<VkAccelerationStructureBuildSizesInfoKHR const*>(this); - } -}; struct safe_VkRayTracingShaderGroupCreateInfoKHR { VkStructureType sType; const void* pNext{};
diff --git a/include/vulkan/utility/vk_safe_struct_utils.hpp b/include/vulkan/utility/vk_safe_struct_utils.hpp index a770298..ff87859 100644 --- a/include/vulkan/utility/vk_safe_struct_utils.hpp +++ b/include/vulkan/utility/vk_safe_struct_utils.hpp
@@ -83,7 +83,9 @@ return false; } char** exts = new char*[ci.enabledExtensionCount + 1]; - memcpy(exts, ci.ppEnabledExtensionNames, sizeof(char*) * ci.enabledExtensionCount); + if (ci.ppEnabledExtensionNames) { + memcpy(exts, ci.ppEnabledExtensionNames, sizeof(char*) * ci.enabledExtensionCount); + } exts[ci.enabledExtensionCount] = SafeStringCopy(extension_name); delete[] ci.ppEnabledExtensionNames; ci.ppEnabledExtensionNames = exts;
diff --git a/include/vulkan/utility/vk_struct_helper.hpp b/include/vulkan/utility/vk_struct_helper.hpp index ca9e0d9..73967a8 100644 --- a/include/vulkan/utility/vk_struct_helper.hpp +++ b/include/vulkan/utility/vk_struct_helper.hpp
@@ -18,9 +18,6 @@ static_assert(sizeof(T) == 0, "GetSType() is being used with an unsupported Type! Is the code-gen up to date?"); return VK_STRUCTURE_TYPE_APPLICATION_INFO; } -template <> inline VkStructureType GetSType<VkBufferMemoryBarrier>() { return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; } -template <> inline VkStructureType GetSType<VkImageMemoryBarrier>() { return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; } -template <> inline VkStructureType GetSType<VkMemoryBarrier>() { return VK_STRUCTURE_TYPE_MEMORY_BARRIER; } template <> inline VkStructureType GetSType<VkApplicationInfo>() { return VK_STRUCTURE_TYPE_APPLICATION_INFO; } template <> inline VkStructureType GetSType<VkInstanceCreateInfo>() { return VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkDeviceQueueCreateInfo>() { return VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO; } @@ -31,26 +28,23 @@ template <> inline VkStructureType GetSType<VkBindSparseInfo>() { return VK_STRUCTURE_TYPE_BIND_SPARSE_INFO; } template <> inline VkStructureType GetSType<VkFenceCreateInfo>() { return VK_STRUCTURE_TYPE_FENCE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkSemaphoreCreateInfo>() { return VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkEventCreateInfo>() { return VK_STRUCTURE_TYPE_EVENT_CREATE_INFO; } template <> inline VkStructureType GetSType<VkQueryPoolCreateInfo>() { return VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO; } template <> inline VkStructureType GetSType<VkBufferCreateInfo>() { return VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkBufferViewCreateInfo>() { return VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO; } template <> inline VkStructureType GetSType<VkImageCreateInfo>() { return VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkImageViewCreateInfo>() { return VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkCommandPoolCreateInfo>() { return VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkCommandBufferAllocateInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; } +template <> inline VkStructureType GetSType<VkCommandBufferInheritanceInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO; } +template <> inline VkStructureType GetSType<VkCommandBufferBeginInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; } +template <> inline VkStructureType GetSType<VkBufferMemoryBarrier>() { return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER; } +template <> inline VkStructureType GetSType<VkImageMemoryBarrier>() { return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER; } +template <> inline VkStructureType GetSType<VkMemoryBarrier>() { return VK_STRUCTURE_TYPE_MEMORY_BARRIER; } +template <> inline VkStructureType GetSType<VkEventCreateInfo>() { return VK_STRUCTURE_TYPE_EVENT_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkBufferViewCreateInfo>() { return VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO; } template <> inline VkStructureType GetSType<VkShaderModuleCreateInfo>() { return VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPipelineCacheCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPipelineShaderStageCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkComputePipelineCreateInfo>() { return VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineVertexInputStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineInputAssemblyStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineTessellationStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineViewportStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineRasterizationStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineMultisampleStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineDepthStencilStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineColorBlendStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineDynamicStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkGraphicsPipelineCreateInfo>() { return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPipelineLayoutCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO; } template <> inline VkStructureType GetSType<VkSamplerCreateInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO; } template <> inline VkStructureType GetSType<VkCopyDescriptorSet>() { return VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET; } @@ -58,21 +52,24 @@ template <> inline VkStructureType GetSType<VkDescriptorSetAllocateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO; } template <> inline VkStructureType GetSType<VkDescriptorSetLayoutCreateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO; } template <> inline VkStructureType GetSType<VkWriteDescriptorSet>() { return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET; } +template <> inline VkStructureType GetSType<VkPipelineColorBlendStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineDepthStencilStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineDynamicStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineInputAssemblyStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineMultisampleStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineRasterizationStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineTessellationStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineVertexInputStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineViewportStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkGraphicsPipelineCreateInfo>() { return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkFramebufferCreateInfo>() { return VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO; } template <> inline VkStructureType GetSType<VkRenderPassCreateInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkCommandPoolCreateInfo>() { return VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkCommandBufferAllocateInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO; } -template <> inline VkStructureType GetSType<VkCommandBufferInheritanceInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO; } -template <> inline VkStructureType GetSType<VkCommandBufferBeginInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO; } template <> inline VkStructureType GetSType<VkRenderPassBeginInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceSubgroupProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; } template <> inline VkStructureType GetSType<VkBindBufferMemoryInfo>() { return VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO; } template <> inline VkStructureType GetSType<VkBindImageMemoryInfo>() { return VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDevice16BitStorageFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES; } template <> inline VkStructureType GetSType<VkMemoryDedicatedRequirements>() { return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS; } template <> inline VkStructureType GetSType<VkMemoryDedicatedAllocateInfo>() { return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO; } template <> inline VkStructureType GetSType<VkMemoryAllocateFlagsInfo>() { return VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO; } -template <> inline VkStructureType GetSType<VkDeviceGroupRenderPassBeginInfo>() { return VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO; } template <> inline VkStructureType GetSType<VkDeviceGroupCommandBufferBeginInfo>() { return VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO; } template <> inline VkStructureType GetSType<VkDeviceGroupSubmitInfo>() { return VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO; } template <> inline VkStructureType GetSType<VkDeviceGroupBindSparseInfo>() { return VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO; } @@ -94,25 +91,13 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceMemoryProperties2>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2; } template <> inline VkStructureType GetSType<VkSparseImageFormatProperties2>() { return VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2; } template <> inline VkStructureType GetSType<VkPhysicalDeviceSparseImageFormatInfo2>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePointClippingProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES; } -template <> inline VkStructureType GetSType<VkRenderPassInputAttachmentAspectCreateInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO; } template <> inline VkStructureType GetSType<VkImageViewUsageCreateInfo>() { return VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPipelineTessellationDomainOriginStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkRenderPassMultiviewCreateInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiviewFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiviewProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceVariablePointersFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceProtectedMemoryFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceProtectedMemoryProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES; } template <> inline VkStructureType GetSType<VkDeviceQueueInfo2>() { return VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2; } template <> inline VkStructureType GetSType<VkProtectedSubmitInfo>() { return VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO; } -template <> inline VkStructureType GetSType<VkSamplerYcbcrConversionCreateInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkSamplerYcbcrConversionInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO; } template <> inline VkStructureType GetSType<VkBindImagePlaneMemoryInfo>() { return VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO; } template <> inline VkStructureType GetSType<VkImagePlaneMemoryRequirementsInfo>() { return VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES; } -template <> inline VkStructureType GetSType<VkSamplerYcbcrConversionImageFormatProperties>() { return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES; } -template <> inline VkStructureType GetSType<VkDescriptorUpdateTemplateCreateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExternalImageFormatInfo>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO; } template <> inline VkStructureType GetSType<VkExternalImageFormatProperties>() { return VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExternalBufferInfo>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO; } @@ -127,47 +112,31 @@ template <> inline VkStructureType GetSType<VkExportSemaphoreCreateInfo>() { return VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExternalSemaphoreInfo>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO; } template <> inline VkStructureType GetSType<VkExternalSemaphoreProperties>() { return VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceSubgroupProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPhysicalDevice16BitStorageFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVariablePointersFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES; } +template <> inline VkStructureType GetSType<VkDescriptorUpdateTemplateCreateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance3Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES; } template <> inline VkStructureType GetSType<VkDescriptorSetLayoutSupport>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT; } +template <> inline VkStructureType GetSType<VkSamplerYcbcrConversionCreateInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkSamplerYcbcrConversionInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceSamplerYcbcrConversionFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES; } +template <> inline VkStructureType GetSType<VkSamplerYcbcrConversionImageFormatProperties>() { return VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES; } +template <> inline VkStructureType GetSType<VkDeviceGroupRenderPassBeginInfo>() { return VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePointClippingProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES; } +template <> inline VkStructureType GetSType<VkRenderPassInputAttachmentAspectCreateInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPipelineTessellationDomainOriginStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkRenderPassMultiviewCreateInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiviewFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiviewProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderDrawParametersFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDriverProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan11Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan11Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan12Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan12Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES; } template <> inline VkStructureType GetSType<VkImageFormatListCreateInfo>() { return VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkAttachmentDescription2>() { return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2; } -template <> inline VkStructureType GetSType<VkAttachmentReference2>() { return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2; } -template <> inline VkStructureType GetSType<VkSubpassDescription2>() { return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2; } -template <> inline VkStructureType GetSType<VkSubpassDependency2>() { return VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2; } -template <> inline VkStructureType GetSType<VkRenderPassCreateInfo2>() { return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2; } -template <> inline VkStructureType GetSType<VkSubpassBeginInfo>() { return VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO; } -template <> inline VkStructureType GetSType<VkSubpassEndInfo>() { return VK_STRUCTURE_TYPE_SUBPASS_END_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDevice8BitStorageFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDriverProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderAtomicInt64Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderFloat16Int8Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceFloatControlsProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES; } -template <> inline VkStructureType GetSType<VkDescriptorSetLayoutBindingFlagsCreateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorIndexingFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorIndexingProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES; } -template <> inline VkStructureType GetSType<VkDescriptorSetVariableDescriptorCountAllocateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO; } -template <> inline VkStructureType GetSType<VkDescriptorSetVariableDescriptorCountLayoutSupport>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT; } -template <> inline VkStructureType GetSType<VkSubpassDescriptionDepthStencilResolve>() { return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDepthStencilResolveProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceScalarBlockLayoutFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES; } -template <> inline VkStructureType GetSType<VkImageStencilUsageCreateInfo>() { return VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkSamplerReductionModeCreateInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceSamplerFilterMinmaxProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkanMemoryModelFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceImagelessFramebufferFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES; } -template <> inline VkStructureType GetSType<VkFramebufferAttachmentImageInfo>() { return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO; } -template <> inline VkStructureType GetSType<VkFramebufferAttachmentsCreateInfo>() { return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkRenderPassAttachmentBeginInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES; } -template <> inline VkStructureType GetSType<VkAttachmentReferenceStencilLayout>() { return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT; } -template <> inline VkStructureType GetSType<VkAttachmentDescriptionStencilLayout>() { return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceHostQueryResetFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceTimelineSemaphoreFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceTimelineSemaphoreProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES; } @@ -180,16 +149,43 @@ template <> inline VkStructureType GetSType<VkBufferOpaqueCaptureAddressCreateInfo>() { return VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO; } template <> inline VkStructureType GetSType<VkMemoryOpaqueCaptureAddressAllocateInfo>() { return VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO; } template <> inline VkStructureType GetSType<VkDeviceMemoryOpaqueCaptureAddressInfo>() { return VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDevice8BitStorageFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderAtomicInt64Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderFloat16Int8Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFloatControlsProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES; } +template <> inline VkStructureType GetSType<VkDescriptorSetLayoutBindingFlagsCreateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorIndexingFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorIndexingProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES; } +template <> inline VkStructureType GetSType<VkDescriptorSetVariableDescriptorCountAllocateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO; } +template <> inline VkStructureType GetSType<VkDescriptorSetVariableDescriptorCountLayoutSupport>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceScalarBlockLayoutFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES; } +template <> inline VkStructureType GetSType<VkSamplerReductionModeCreateInfo>() { return VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceSamplerFilterMinmaxProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceUniformBufferStandardLayoutFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES; } +template <> inline VkStructureType GetSType<VkAttachmentDescription2>() { return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2; } +template <> inline VkStructureType GetSType<VkAttachmentReference2>() { return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2; } +template <> inline VkStructureType GetSType<VkSubpassDescription2>() { return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2; } +template <> inline VkStructureType GetSType<VkSubpassDependency2>() { return VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2; } +template <> inline VkStructureType GetSType<VkSubpassBeginInfo>() { return VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO; } +template <> inline VkStructureType GetSType<VkSubpassEndInfo>() { return VK_STRUCTURE_TYPE_SUBPASS_END_INFO; } +template <> inline VkStructureType GetSType<VkRenderPassCreateInfo2>() { return VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2; } +template <> inline VkStructureType GetSType<VkSubpassDescriptionDepthStencilResolve>() { return VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDepthStencilResolveProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES; } +template <> inline VkStructureType GetSType<VkImageStencilUsageCreateInfo>() { return VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceImagelessFramebufferFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES; } +template <> inline VkStructureType GetSType<VkFramebufferAttachmentImageInfo>() { return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO; } +template <> inline VkStructureType GetSType<VkRenderPassAttachmentBeginInfo>() { return VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO; } +template <> inline VkStructureType GetSType<VkFramebufferAttachmentsCreateInfo>() { return VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES; } +template <> inline VkStructureType GetSType<VkAttachmentReferenceStencilLayout>() { return VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT; } +template <> inline VkStructureType GetSType<VkAttachmentDescriptionStencilLayout>() { return VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan13Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan13Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPipelineCreationFeedbackCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderTerminateInvocationFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceToolProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDevicePrivateDataFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES; } template <> inline VkStructureType GetSType<VkDevicePrivateDataCreateInfo>() { return VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPrivateDataSlotCreateInfo>() { return VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineCreationCacheControlFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES; } template <> inline VkStructureType GetSType<VkMemoryBarrier2>() { return VK_STRUCTURE_TYPE_MEMORY_BARRIER_2; } template <> inline VkStructureType GetSType<VkBufferMemoryBarrier2>() { return VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2; } template <> inline VkStructureType GetSType<VkImageMemoryBarrier2>() { return VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2; } @@ -198,8 +194,6 @@ template <> inline VkStructureType GetSType<VkCommandBufferSubmitInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO; } template <> inline VkStructureType GetSType<VkSubmitInfo2>() { return VK_STRUCTURE_TYPE_SUBMIT_INFO_2; } template <> inline VkStructureType GetSType<VkPhysicalDeviceSynchronization2Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceImageRobustnessFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES; } template <> inline VkStructureType GetSType<VkBufferCopy2>() { return VK_STRUCTURE_TYPE_BUFFER_COPY_2; } template <> inline VkStructureType GetSType<VkCopyBufferInfo2>() { return VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2; } template <> inline VkStructureType GetSType<VkImageCopy2>() { return VK_STRUCTURE_TYPE_IMAGE_COPY_2; } @@ -207,10 +201,18 @@ template <> inline VkStructureType GetSType<VkBufferImageCopy2>() { return VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2; } template <> inline VkStructureType GetSType<VkCopyBufferToImageInfo2>() { return VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2; } template <> inline VkStructureType GetSType<VkCopyImageToBufferInfo2>() { return VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2; } -template <> inline VkStructureType GetSType<VkImageBlit2>() { return VK_STRUCTURE_TYPE_IMAGE_BLIT_2; } -template <> inline VkStructureType GetSType<VkBlitImageInfo2>() { return VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2; } -template <> inline VkStructureType GetSType<VkImageResolve2>() { return VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2; } -template <> inline VkStructureType GetSType<VkResolveImageInfo2>() { return VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES; } +template <> inline VkStructureType GetSType<VkFormatProperties3>() { return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance4Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance4Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES; } +template <> inline VkStructureType GetSType<VkDeviceBufferMemoryRequirements>() { return VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS; } +template <> inline VkStructureType GetSType<VkDeviceImageMemoryRequirements>() { return VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS; } +template <> inline VkStructureType GetSType<VkPipelineCreationFeedbackCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderTerminateInvocationFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineCreationCacheControlFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceImageRobustnessFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceSubgroupSizeControlFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceSubgroupSizeControlProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES; } template <> inline VkStructureType GetSType<VkPipelineShaderStageRequiredSubgroupSizeCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO; } @@ -218,60 +220,35 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceInlineUniformBlockProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES; } template <> inline VkStructureType GetSType<VkWriteDescriptorSetInlineUniformBlock>() { return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK; } template <> inline VkStructureType GetSType<VkDescriptorPoolInlineUniformBlockCreateInfo>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceTextureCompressionASTCHDRFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderIntegerDotProductFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderIntegerDotProductProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTexelBufferAlignmentProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES; } +template <> inline VkStructureType GetSType<VkImageBlit2>() { return VK_STRUCTURE_TYPE_IMAGE_BLIT_2; } +template <> inline VkStructureType GetSType<VkBlitImageInfo2>() { return VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2; } +template <> inline VkStructureType GetSType<VkImageResolve2>() { return VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2; } +template <> inline VkStructureType GetSType<VkResolveImageInfo2>() { return VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2; } template <> inline VkStructureType GetSType<VkRenderingAttachmentInfo>() { return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO; } template <> inline VkStructureType GetSType<VkRenderingInfo>() { return VK_STRUCTURE_TYPE_RENDERING_INFO; } template <> inline VkStructureType GetSType<VkPipelineRenderingCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDynamicRenderingFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES; } template <> inline VkStructureType GetSType<VkCommandBufferInheritanceRenderingInfo>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderIntegerDotProductFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderIntegerDotProductProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceTexelBufferAlignmentProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES; } -template <> inline VkStructureType GetSType<VkFormatProperties3>() { return VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance4Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance4Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES; } -template <> inline VkStructureType GetSType<VkDeviceBufferMemoryRequirements>() { return VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS; } -template <> inline VkStructureType GetSType<VkDeviceImageMemoryRequirements>() { return VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan14Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVulkan14Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES; } template <> inline VkStructureType GetSType<VkDeviceQueueGlobalPriorityCreateInfo>() { return VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceGlobalPriorityQueryFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES; } template <> inline VkStructureType GetSType<VkQueueFamilyGlobalPriorityProperties>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupRotateFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderFloatControls2Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderExpectAssumeFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceLineRasterizationFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceLineRasterizationProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPipelineRasterizationLineStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceVertexAttributeDivisorProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPipelineVertexInputDivisorStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceVertexAttributeDivisorFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceIndexTypeUint8Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES; } template <> inline VkStructureType GetSType<VkMemoryMapInfo>() { return VK_STRUCTURE_TYPE_MEMORY_MAP_INFO; } template <> inline VkStructureType GetSType<VkMemoryUnmapInfo>() { return VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance5Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance5Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES; } -template <> inline VkStructureType GetSType<VkRenderingAreaInfo>() { return VK_STRUCTURE_TYPE_RENDERING_AREA_INFO; } +template <> inline VkStructureType GetSType<VkSubresourceLayout2>() { return VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2; } template <> inline VkStructureType GetSType<VkImageSubresource2>() { return VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2; } template <> inline VkStructureType GetSType<VkDeviceImageSubresourceInfo>() { return VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO; } -template <> inline VkStructureType GetSType<VkSubresourceLayout2>() { return VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2; } -template <> inline VkStructureType GetSType<VkPipelineCreateFlags2CreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO; } template <> inline VkStructureType GetSType<VkBufferUsageFlags2CreateInfo>() { return VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePushDescriptorProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDynamicRenderingLocalReadFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES; } -template <> inline VkStructureType GetSType<VkRenderingAttachmentLocationInfo>() { return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO; } -template <> inline VkStructureType GetSType<VkRenderingInputAttachmentIndexInfo>() { return VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance6Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance6Properties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES; } template <> inline VkStructureType GetSType<VkBindMemoryStatus>() { return VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS; } -template <> inline VkStructureType GetSType<VkBindDescriptorSetsInfo>() { return VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO; } -template <> inline VkStructureType GetSType<VkPushConstantsInfo>() { return VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO; } -template <> inline VkStructureType GetSType<VkPushDescriptorSetInfo>() { return VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO; } -template <> inline VkStructureType GetSType<VkPushDescriptorSetWithTemplateInfo>() { return VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineProtectedAccessFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineRobustnessFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineRobustnessProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES; } -template <> inline VkStructureType GetSType<VkPipelineRobustnessCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO; } template <> inline VkStructureType GetSType<VkPhysicalDeviceHostImageCopyFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES; } template <> inline VkStructureType GetSType<VkPhysicalDeviceHostImageCopyProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES; } template <> inline VkStructureType GetSType<VkMemoryToImageCopy>() { return VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY; } @@ -282,6 +259,29 @@ template <> inline VkStructureType GetSType<VkHostImageLayoutTransitionInfo>() { return VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO; } template <> inline VkStructureType GetSType<VkSubresourceHostMemcpySize>() { return VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE; } template <> inline VkStructureType GetSType<VkHostImageCopyDevicePerformanceQuery>() { return VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupRotateFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderFloatControls2Features>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderExpectAssumeFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES; } +template <> inline VkStructureType GetSType<VkPipelineCreateFlags2CreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePushDescriptorProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES; } +template <> inline VkStructureType GetSType<VkBindDescriptorSetsInfo>() { return VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO; } +template <> inline VkStructureType GetSType<VkPushConstantsInfo>() { return VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO; } +template <> inline VkStructureType GetSType<VkPushDescriptorSetInfo>() { return VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO; } +template <> inline VkStructureType GetSType<VkPushDescriptorSetWithTemplateInfo>() { return VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineProtectedAccessFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineRobustnessFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineRobustnessProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPipelineRobustnessCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceLineRasterizationFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceLineRasterizationProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPipelineRasterizationLineStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVertexAttributeDivisorProperties>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES; } +template <> inline VkStructureType GetSType<VkPipelineVertexInputDivisorStateCreateInfo>() { return VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVertexAttributeDivisorFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES; } +template <> inline VkStructureType GetSType<VkRenderingAreaInfo>() { return VK_STRUCTURE_TYPE_RENDERING_AREA_INFO; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDynamicRenderingLocalReadFeatures>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES; } +template <> inline VkStructureType GetSType<VkRenderingAttachmentLocationInfo>() { return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO; } +template <> inline VkStructureType GetSType<VkRenderingInputAttachmentIndexInfo>() { return VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO; } template <> inline VkStructureType GetSType<VkSwapchainCreateInfoKHR>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; } template <> inline VkStructureType GetSType<VkPresentInfoKHR>() { return VK_STRUCTURE_TYPE_PRESENT_INFO_KHR; } template <> inline VkStructureType GetSType<VkImageSwapchainCreateInfoKHR>() { return VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR; } @@ -404,6 +404,7 @@ template <> inline VkStructureType GetSType<VkDisplayModeProperties2KHR>() { return VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR; } template <> inline VkStructureType GetSType<VkDisplayPlaneInfo2KHR>() { return VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR; } template <> inline VkStructureType GetSType<VkDisplayPlaneCapabilities2KHR>() { return VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderBfloat16FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR; } #ifdef VK_ENABLE_BETA_EXTENSIONS template <> inline VkStructureType GetSType<VkPhysicalDevicePortabilitySubsetFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDevicePortabilitySubsetPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR; } @@ -421,6 +422,10 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentShadingRateKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR; } template <> inline VkStructureType GetSType<VkRenderingFragmentShadingRateAttachmentInfoKHR>() { return VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderConstantDataFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderAbortFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkDeviceFaultShaderAbortMessageInfoKHR>() { return VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderAbortPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderQuadControlFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkSurfaceProtectedCapabilitiesKHR>() { return VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDevicePresentWaitFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR; } @@ -444,12 +449,35 @@ template <> inline VkStructureType GetSType<VkVideoEncodeQualityLevelInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR; } template <> inline VkStructureType GetSType<VkVideoEncodeSessionParametersGetInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR; } template <> inline VkStructureType GetSType<VkVideoEncodeSessionParametersFeedbackInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR; } +template <> inline VkStructureType GetSType<VkDeviceMemoryCopyKHR>() { return VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR; } +template <> inline VkStructureType GetSType<VkCopyDeviceMemoryInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR; } +template <> inline VkStructureType GetSType<VkDeviceMemoryImageCopyKHR>() { return VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR; } +template <> inline VkStructureType GetSType<VkCopyDeviceMemoryImageInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkMemoryRangeBarrierKHR>() { return VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR; } +template <> inline VkStructureType GetSType<VkMemoryRangeBarriersInfoKHR>() { return VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkBindIndexBuffer3InfoKHR>() { return VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR; } +template <> inline VkStructureType GetSType<VkBindVertexBuffer3InfoKHR>() { return VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR; } +template <> inline VkStructureType GetSType<VkDrawIndirect2InfoKHR>() { return VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR; } +template <> inline VkStructureType GetSType<VkDrawIndirectCount2InfoKHR>() { return VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR; } +template <> inline VkStructureType GetSType<VkDispatchIndirect2InfoKHR>() { return VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR; } +template <> inline VkStructureType GetSType<VkConditionalRenderingBeginInfo2EXT>() { return VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT; } +template <> inline VkStructureType GetSType<VkBindTransformFeedbackBuffer2InfoEXT>() { return VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT; } +template <> inline VkStructureType GetSType<VkMemoryMarkerInfoAMD>() { return VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD; } +template <> inline VkStructureType GetSType<VkAccelerationStructureCreateInfo2KHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderUntypedPointersFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkSurfaceCapabilitiesPresentId2KHR>() { return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR; } +template <> inline VkStructureType GetSType<VkPresentId2KHR>() { return VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePresentId2FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkSurfaceCapabilitiesPresentWait2KHR>() { return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePresentWait2FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPresentWait2InfoKHR>() { return VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineBinaryFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineBinaryPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR; } @@ -461,6 +489,16 @@ template <> inline VkStructureType GetSType<VkReleaseCapturedPipelineDataInfoKHR>() { return VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR; } template <> inline VkStructureType GetSType<VkPipelineBinaryDataInfoKHR>() { return VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR; } template <> inline VkStructureType GetSType<VkPipelineBinaryHandlesInfoKHR>() { return VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR; } +template <> inline VkStructureType GetSType<VkSurfacePresentModeKHR>() { return VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR; } +template <> inline VkStructureType GetSType<VkSurfacePresentScalingCapabilitiesKHR>() { return VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR; } +template <> inline VkStructureType GetSType<VkSurfacePresentModeCompatibilityKHR>() { return VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkSwapchainPresentFenceInfoKHR>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkSwapchainPresentModesCreateInfoKHR>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkSwapchainPresentModeInfoKHR>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkSwapchainPresentScalingCreateInfoKHR>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkReleaseSwapchainImagesInfoKHR>() { return VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkCooperativeMatrixPropertiesKHR>() { return VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeMatrixFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeMatrixPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR; } @@ -482,11 +520,26 @@ template <> inline VkStructureType GetSType<VkVideoEncodeAV1GopRemainingFrameInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR; } template <> inline VkStructureType GetSType<VkVideoEncodeAV1RateControlInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR; } template <> inline VkStructureType GetSType<VkVideoEncodeAV1RateControlLayerInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVideoDecodeVP9FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkVideoDecodeVP9ProfileInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkVideoDecodeVP9CapabilitiesKHR>() { return VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR; } +template <> inline VkStructureType GetSType<VkVideoDecodeVP9PictureInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVideoMaintenance1FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkVideoInlineQueryInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkAttachmentFeedbackLoopInfoEXT>() { return VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT; } template <> inline VkStructureType GetSType<VkCalibratedTimestampInfoKHR>() { return VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR; } template <> inline VkStructureType GetSType<VkSetDescriptorBufferOffsetsInfoEXT>() { return VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT; } template <> inline VkStructureType GetSType<VkBindDescriptorBufferEmbeddedSamplersInfoEXT>() { return VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT; } +template <> inline VkStructureType GetSType<VkCopyMemoryIndirectInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR; } +template <> inline VkStructureType GetSType<VkCopyMemoryToImageIndirectInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkVideoEncodeIntraRefreshCapabilitiesKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR; } +template <> inline VkStructureType GetSType<VkVideoEncodeSessionIntraRefreshCreateInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkVideoEncodeIntraRefreshInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR; } +template <> inline VkStructureType GetSType<VkVideoReferenceIntraRefreshInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR; } template <> inline VkStructureType GetSType<VkVideoEncodeQuantizationMapCapabilitiesKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR; } template <> inline VkStructureType GetSType<VkVideoFormatQuantizationMapPropertiesKHR>() { return VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkVideoEncodeQuantizationMapInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR; } @@ -503,6 +556,31 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceLayeredApiPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceLayeredApiPropertiesListKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR; } template <> inline VkStructureType GetSType<VkPhysicalDeviceLayeredApiVulkanPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFaultFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFaultPropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkDeviceFaultInfoKHR>() { return VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR; } +template <> inline VkStructureType GetSType<VkDeviceFaultDebugInfoKHR>() { return VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR; } +template <> inline VkStructureType GetSType<VkMemoryBarrierAccessFlags3KHR>() { return VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance8FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderFmaFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance9FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance9PropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkQueueFamilyOwnershipTransferPropertiesKHR>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVideoMaintenance2FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkVideoDecodeH264InlineSessionParametersInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR; } +template <> inline VkStructureType GetSType<VkVideoDecodeH265InlineSessionParametersInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR; } +template <> inline VkStructureType GetSType<VkVideoDecodeAV1InlineSessionParametersInfoKHR>() { return VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDepthClampZeroOneFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceRobustness2FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceRobustness2PropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance10FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance10PropertiesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR; } +template <> inline VkStructureType GetSType<VkRenderingEndInfoKHR>() { return VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR; } +template <> inline VkStructureType GetSType<VkRenderingAttachmentFlagsInfoKHR>() { return VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR; } +template <> inline VkStructureType GetSType<VkResolveImageModeInfoKHR>() { return VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMaintenance11FeaturesKHR>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR; } +template <> inline VkStructureType GetSType<VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR; } template <> inline VkStructureType GetSType<VkDebugReportCallbackCreateInfoEXT>() { return VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkPipelineRasterizationStateRasterizationOrderAMD>() { return VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD; } template <> inline VkStructureType GetSType<VkDebugMarkerObjectNameInfoEXT>() { return VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT; } @@ -586,6 +664,23 @@ template <> inline VkStructureType GetSType<VkExecutionGraphPipelineCreateInfoAMDX>() { return VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX; } template <> inline VkStructureType GetSType<VkPipelineShaderStageNodeCreateInfoAMDX>() { return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX; } #endif // VK_ENABLE_BETA_EXTENSIONS +template <> inline VkStructureType GetSType<VkTexelBufferDescriptorInfoEXT>() { return VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT; } +template <> inline VkStructureType GetSType<VkImageDescriptorInfoEXT>() { return VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT; } +template <> inline VkStructureType GetSType<VkTensorViewCreateInfoARM>() { return VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkResourceDescriptorInfoEXT>() { return VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT; } +template <> inline VkStructureType GetSType<VkBindHeapInfoEXT>() { return VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT; } +template <> inline VkStructureType GetSType<VkPushDataInfoEXT>() { return VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT; } +template <> inline VkStructureType GetSType<VkDescriptorSetAndBindingMappingEXT>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT; } +template <> inline VkStructureType GetSType<VkShaderDescriptorSetAndBindingMappingInfoEXT>() { return VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT; } +template <> inline VkStructureType GetSType<VkOpaqueCaptureDataCreateInfoEXT>() { return VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorHeapFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorHeapPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkCommandBufferInheritanceDescriptorHeapInfoEXT>() { return VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT; } +template <> inline VkStructureType GetSType<VkSamplerCustomBorderColorIndexCreateInfoEXT>() { return VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT; } +template <> inline VkStructureType GetSType<VkSamplerCustomBorderColorCreateInfoEXT>() { return VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT; } +template <> inline VkStructureType GetSType<VkIndirectCommandsLayoutPushDataTokenNV>() { return VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV; } +template <> inline VkStructureType GetSType<VkSubsampledImageFormatPropertiesEXT>() { return VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorHeapTensorPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM; } template <> inline VkStructureType GetSType<VkAttachmentSampleCountInfoAMD>() { return VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD; } template <> inline VkStructureType GetSType<VkSampleLocationsInfoEXT>() { return VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT; } template <> inline VkStructureType GetSType<VkRenderPassSampleLocationsBeginInfoEXT>() { return VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT; } @@ -626,6 +721,7 @@ template <> inline VkStructureType GetSType<VkPipelineRepresentativeFragmentTestStateCreateInfoNV>() { return VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceImageViewImageFormatInfoEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT; } template <> inline VkStructureType GetSType<VkFilterCubicImageViewImageFormatPropertiesEXT>() { return VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM; } template <> inline VkStructureType GetSType<VkImportMemoryHostPointerInfoEXT>() { return VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT; } template <> inline VkStructureType GetSType<VkMemoryHostPointerPropertiesEXT>() { return VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExternalMemoryHostPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT; } @@ -645,6 +741,16 @@ template <> inline VkStructureType GetSType<VkCheckpointDataNV>() { return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV; } template <> inline VkStructureType GetSType<VkQueueFamilyCheckpointProperties2NV>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV; } template <> inline VkStructureType GetSType<VkCheckpointData2NV>() { return VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePresentTimingFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPresentTimingSurfaceCapabilitiesEXT>() { return VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT; } +template <> inline VkStructureType GetSType<VkSwapchainCalibratedTimestampInfoEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT; } +template <> inline VkStructureType GetSType<VkSwapchainTimingPropertiesEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkSwapchainTimeDomainPropertiesEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkPastPresentationTimingInfoEXT>() { return VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT; } +template <> inline VkStructureType GetSType<VkPastPresentationTimingEXT>() { return VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT; } +template <> inline VkStructureType GetSType<VkPastPresentationTimingPropertiesEXT>() { return VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkPresentTimingInfoEXT>() { return VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT; } +template <> inline VkStructureType GetSType<VkPresentTimingsInfoEXT>() { return VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL; } template <> inline VkStructureType GetSType<VkInitializePerformanceApiInfoINTEL>() { return VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL; } template <> inline VkStructureType GetSType<VkQueryPoolPerformanceQueryCreateInfoINTEL>() { return VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL; } @@ -698,15 +804,6 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceMapMemoryPlacedPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkMemoryMapPlacedInfoEXT>() { return VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT; } -template <> inline VkStructureType GetSType<VkSurfacePresentModeEXT>() { return VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT; } -template <> inline VkStructureType GetSType<VkSurfacePresentScalingCapabilitiesEXT>() { return VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT; } -template <> inline VkStructureType GetSType<VkSurfacePresentModeCompatibilityEXT>() { return VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT; } -template <> inline VkStructureType GetSType<VkSwapchainPresentFenceInfoEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT; } -template <> inline VkStructureType GetSType<VkSwapchainPresentModesCreateInfoEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT; } -template <> inline VkStructureType GetSType<VkSwapchainPresentModeInfoEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT; } -template <> inline VkStructureType GetSType<VkSwapchainPresentScalingCreateInfoEXT>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT; } -template <> inline VkStructureType GetSType<VkReleaseSwapchainImagesInfoEXT>() { return VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV; } template <> inline VkStructureType GetSType<VkGraphicsShaderGroupCreateInfoNV>() { return VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV; } @@ -726,21 +823,30 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceMemoryReportFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkDeviceMemoryReportCallbackDataEXT>() { return VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT; } template <> inline VkStructureType GetSType<VkDeviceDeviceMemoryReportCreateInfoEXT>() { return VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceRobustness2FeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceRobustness2PropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT; } -template <> inline VkStructureType GetSType<VkSamplerCustomBorderColorCreateInfoEXT>() { return VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCustomBorderColorPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCustomBorderColorFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDevicePresentBarrierFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV; } template <> inline VkStructureType GetSType<VkSurfaceCapabilitiesPresentBarrierNV>() { return VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV; } template <> inline VkStructureType GetSType<VkSwapchainPresentBarrierCreateInfoNV>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDiagnosticsConfigFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV; } template <> inline VkStructureType GetSType<VkDeviceDiagnosticsConfigCreateInfoNV>() { return VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV; } +template <> inline VkStructureType GetSType<VkPerfHintInfoQCOM>() { return VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceQueuePerfHintFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceQueuePerfHintPropertiesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM; } +#ifdef VK_ENABLE_BETA_EXTENSIONS template <> inline VkStructureType GetSType<VkCudaModuleCreateInfoNV>() { return VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV; } template <> inline VkStructureType GetSType<VkCudaFunctionCreateInfoNV>() { return VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV; } template <> inline VkStructureType GetSType<VkCudaLaunchInfoNV>() { return VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCudaKernelLaunchFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCudaKernelLaunchPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV; } +#endif // VK_ENABLE_BETA_EXTENSIONS +template <> inline VkStructureType GetSType<VkPhysicalDeviceTileShadingFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTileShadingPropertiesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM; } +template <> inline VkStructureType GetSType<VkRenderPassTileShadingCreateInfoQCOM>() { return VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkPerTileBeginInfoQCOM>() { return VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkPerTileEndInfoQCOM>() { return VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkDispatchTileInfoQCOM>() { return VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM; } template <> inline VkStructureType GetSType<VkQueryLowLatencySupportNV>() { return VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV; } #ifdef VK_USE_PLATFORM_METAL_EXT template <> inline VkStructureType GetSType<VkExportMetalObjectCreateInfoEXT>() { return VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT; } @@ -757,7 +863,6 @@ template <> inline VkStructureType GetSType<VkImportMetalSharedEventInfoEXT>() { return VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT; } #endif // VK_USE_PLATFORM_METAL_EXT template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorBufferPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorBufferFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkDescriptorAddressInfoEXT>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT; } template <> inline VkStructureType GetSType<VkDescriptorBufferBindingInfoEXT>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT; } @@ -769,6 +874,7 @@ template <> inline VkStructureType GetSType<VkSamplerCaptureDescriptorDataInfoEXT>() { return VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT; } template <> inline VkStructureType GetSType<VkOpaqueCaptureDescriptorDataCreateInfoEXT>() { return VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkAccelerationStructureCaptureDescriptorDataInfoEXT>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkGraphicsPipelineLibraryCreateInfoEXT>() { return VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT; } @@ -807,7 +913,6 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceDepthClipControlFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPipelineViewportDepthClipControlCreateInfoEXT>() { return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT; } -template <> inline VkStructureType GetSType<VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT; } #ifdef VK_USE_PLATFORM_FUCHSIA template <> inline VkStructureType GetSType<VkImportMemoryZirconHandleInfoFUCHSIA>() { return VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA; } template <> inline VkStructureType GetSType<VkMemoryZirconHandlePropertiesFUCHSIA>() { return VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA; } @@ -845,6 +950,10 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceColorWriteEnableFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPipelineColorWriteCreateInfoEXT>() { return VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE; } +template <> inline VkStructureType GetSType<VkVideoEncodeRgbConversionCapabilitiesVALVE>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE; } +template <> inline VkStructureType GetSType<VkVideoEncodeProfileRgbConversionInfoVALVE>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE; } +template <> inline VkStructureType GetSType<VkVideoEncodeSessionRgbConversionCreateInfoVALVE>() { return VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE; } template <> inline VkStructureType GetSType<VkPhysicalDeviceImageViewMinLodFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkImageViewMinLodCreateInfoEXT>() { return VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiDrawFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT; } @@ -877,28 +986,31 @@ template <> inline VkStructureType GetSType<VkDeviceQueueShaderCoreControlCreateInfoARM>() { return VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceSchedulingControlsFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceSchedulingControlsPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkDispatchParametersARM>() { return VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkImageViewSlicedCreateInfoEXT>() { return VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE; } template <> inline VkStructureType GetSType<VkDescriptorSetBindingReferenceVALVE>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE; } template <> inline VkStructureType GetSType<VkDescriptorSetLayoutHostMappingInfoVALVE>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceDepthClampZeroOneFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRenderPassStripedFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRenderPassStripedPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM; } template <> inline VkStructureType GetSType<VkRenderPassStripeInfoARM>() { return VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM; } template <> inline VkStructureType GetSType<VkRenderPassStripeBeginInfoARM>() { return VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM; } template <> inline VkStructureType GetSType<VkRenderPassStripeSubmitInfoARM>() { return VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM; } -template <> inline VkStructureType GetSType<VkSubpassFragmentDensityMapOffsetEndInfoQCOM>() { return VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkRenderPassFragmentDensityMapOffsetEndInfoEXT>() { return VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCopyMemoryIndirectFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceCopyMemoryIndirectPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceMemoryDecompressionFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV; } -template <> inline VkStructureType GetSType<VkPhysicalDeviceMemoryDecompressionPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMemoryDecompressionFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceMemoryDecompressionPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV; } template <> inline VkStructureType GetSType<VkComputePipelineIndirectBufferInfoNV>() { return VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV; } template <> inline VkStructureType GetSType<VkPipelineIndirectDeviceAddressInfoNV>() { return VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryLinearSweptSpheresDataNV>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV; } +template <> inline VkStructureType GetSType<VkAccelerationStructureGeometrySpheresDataNV>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceLinearColorAttachmentFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkImageViewSampleWeightCreateInfoQCOM>() { return VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM; } @@ -906,6 +1018,14 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceImageProcessingPropertiesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceNestedCommandBufferFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceNestedCommandBufferPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT; } +#ifdef VK_USE_PLATFORM_OHOS +template <> inline VkStructureType GetSType<VkNativeBufferUsageOHOS>() { return VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS; } +template <> inline VkStructureType GetSType<VkNativeBufferPropertiesOHOS>() { return VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS; } +template <> inline VkStructureType GetSType<VkNativeBufferFormatPropertiesOHOS>() { return VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS; } +template <> inline VkStructureType GetSType<VkImportNativeBufferInfoOHOS>() { return VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS; } +template <> inline VkStructureType GetSType<VkMemoryGetNativeBufferInfoOHOS>() { return VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS; } +template <> inline VkStructureType GetSType<VkExternalFormatOHOS>() { return VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS; } +#endif // VK_USE_PLATFORM_OHOS template <> inline VkStructureType GetSType<VkExternalMemoryAcquireUnmodifiedEXT>() { return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExtendedDynamicState3FeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExtendedDynamicState3PropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT; } @@ -915,6 +1035,29 @@ template <> inline VkStructureType GetSType<VkRenderPassSubpassFeedbackCreateInfoEXT>() { return VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT; } template <> inline VkStructureType GetSType<VkDirectDriverLoadingInfoLUNARG>() { return VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG; } template <> inline VkStructureType GetSType<VkDirectDriverLoadingListLUNARG>() { return VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG; } +template <> inline VkStructureType GetSType<VkTensorDescriptionARM>() { return VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM; } +template <> inline VkStructureType GetSType<VkTensorCreateInfoARM>() { return VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkTensorMemoryRequirementsInfoARM>() { return VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM; } +template <> inline VkStructureType GetSType<VkBindTensorMemoryInfoARM>() { return VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM; } +template <> inline VkStructureType GetSType<VkWriteDescriptorSetTensorARM>() { return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM; } +template <> inline VkStructureType GetSType<VkTensorFormatPropertiesARM>() { return VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTensorPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkTensorMemoryBarrierARM>() { return VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM; } +template <> inline VkStructureType GetSType<VkTensorDependencyInfoARM>() { return VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTensorFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkDeviceTensorMemoryRequirementsARM>() { return VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM; } +template <> inline VkStructureType GetSType<VkTensorCopyARM>() { return VK_STRUCTURE_TYPE_TENSOR_COPY_ARM; } +template <> inline VkStructureType GetSType<VkCopyTensorInfoARM>() { return VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM; } +template <> inline VkStructureType GetSType<VkMemoryDedicatedAllocateInfoTensorARM>() { return VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceExternalTensorInfoARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM; } +template <> inline VkStructureType GetSType<VkExternalTensorPropertiesARM>() { return VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkExternalMemoryTensorCreateInfoARM>() { return VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorBufferTensorFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorBufferTensorPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkDescriptorGetTensorInfoARM>() { return VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM; } +template <> inline VkStructureType GetSType<VkTensorCaptureDescriptorDataInfoARM>() { return VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM; } +template <> inline VkStructureType GetSType<VkTensorViewCaptureDescriptorDataInfoARM>() { return VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM; } +template <> inline VkStructureType GetSType<VkFrameBoundaryTensorsARM>() { return VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkPipelineShaderStageModuleIdentifierCreateInfoEXT>() { return VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT; } @@ -935,6 +1078,10 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceAntiLagFeaturesAMD>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD; } template <> inline VkStructureType GetSType<VkAntiLagPresentationInfoAMD>() { return VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD; } template <> inline VkStructureType GetSType<VkAntiLagDataAMD>() { return VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD; } +#ifdef VK_ENABLE_BETA_EXTENSIONS +template <> inline VkStructureType GetSType<VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX; } +template <> inline VkStructureType GetSType<VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX; } +#endif // VK_ENABLE_BETA_EXTENSIONS template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderObjectFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderObjectPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkShaderCreateInfoEXT>() { return VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT; } @@ -945,6 +1092,10 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeVectorPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeVectorFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkCooperativeVectorPropertiesNV>() { return VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkConvertCooperativeVectorMatrixInfoNV>() { return VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT; } @@ -963,6 +1114,27 @@ template <> inline VkStructureType GetSType<VkSwapchainLatencyCreateInfoNV>() { return VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV; } template <> inline VkStructureType GetSType<VkOutOfBandQueueTypeInfoNV>() { return VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV; } template <> inline VkStructureType GetSType<VkLatencySurfaceCapabilitiesNV>() { return VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineConstantARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineResourceInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineCompilerControlCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineShaderModuleCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSessionCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSessionBindPointRequirementsInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSessionBindPointRequirementARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSessionMemoryRequirementsInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM; } +template <> inline VkStructureType GetSType<VkBindDataGraphPipelineSessionMemoryInfoARM>() { return VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelinePropertyQueryResultARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineIdentifierCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineDispatchInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM; } +template <> inline VkStructureType GetSType<VkQueueFamilyDataGraphPropertiesARM>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphProcessingEngineCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkQueueFamilyDataGraphProcessingEnginePropertiesARM>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM; } +template <> inline VkStructureType GetSType<VkQueueFamilyDataGraphTOSAPropertiesARM>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM; } template <> inline VkStructureType GetSType<VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM>() { return VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM; } template <> inline VkStructureType GetSType<VkPhysicalDevicePerStageDescriptorSetFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV; } @@ -985,13 +1157,39 @@ #endif // VK_USE_PLATFORM_SCREEN_QNX template <> inline VkStructureType GetSType<VkPhysicalDeviceLayeredDriverPropertiesMSFT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTileMemoryHeapFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceTileMemoryHeapPropertiesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM; } +template <> inline VkStructureType GetSType<VkTileMemoryRequirementsQCOM>() { return VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM; } +template <> inline VkStructureType GetSType<VkTileMemoryBindInfoQCOM>() { return VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkTileMemorySizeInfoQCOM>() { return VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkDecompressMemoryInfoEXT>() { return VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT; } template <> inline VkStructureType GetSType<VkDisplaySurfaceStereoCreateInfoNV>() { return VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV; } template <> inline VkStructureType GetSType<VkDisplayModeStereoPropertiesNV>() { return VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRawAccessChainsFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkExternalComputeQueueDeviceCreateInfoNV>() { return VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV; } +template <> inline VkStructureType GetSType<VkExternalComputeQueueCreateInfoNV>() { return VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV; } +template <> inline VkStructureType GetSType<VkExternalComputeQueueDataParamsNV>() { return VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceExternalComputeQueuePropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCommandBufferInheritanceFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderFloat8FeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingValidationFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceClusterAccelerationStructureFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceClusterAccelerationStructurePropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkClusterAccelerationStructureClustersBottomLevelInputNV>() { return VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV; } +template <> inline VkStructureType GetSType<VkClusterAccelerationStructureTriangleClusterInputNV>() { return VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV; } +template <> inline VkStructureType GetSType<VkClusterAccelerationStructureMoveObjectsInputNV>() { return VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV; } +template <> inline VkStructureType GetSType<VkClusterAccelerationStructureInputInfoNV>() { return VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV; } +template <> inline VkStructureType GetSType<VkClusterAccelerationStructureCommandsInfoNV>() { return VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV; } +template <> inline VkStructureType GetSType<VkAccelerationStructureBuildSizesInfoKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR; } +template <> inline VkStructureType GetSType<VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV>() { return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkPartitionedAccelerationStructureFlagsNV>() { return VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV; } +template <> inline VkStructureType GetSType<VkWriteDescriptorSetPartitionedAccelerationStructureNV>() { return VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV; } +template <> inline VkStructureType GetSType<VkPartitionedAccelerationStructureInstancesInputNV>() { return VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV; } +template <> inline VkStructureType GetSType<VkBuildPartitionedAccelerationStructureInfoNV>() { return VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT; } template <> inline VkStructureType GetSType<VkGeneratedCommandsMemoryRequirementsInfoEXT>() { return VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT; } @@ -1009,14 +1207,76 @@ template <> inline VkStructureType GetSType<VkPhysicalDeviceImageAlignmentControlFeaturesMESA>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA; } template <> inline VkStructureType GetSType<VkPhysicalDeviceImageAlignmentControlPropertiesMESA>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA; } template <> inline VkStructureType GetSType<VkImageAlignmentControlCreateInfoMESA>() { return VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA; } +template <> inline VkStructureType GetSType<VkPushConstantBankInfoNV>() { return VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePushConstantBankFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePushConstantBankPropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPhysicalDeviceDepthClampControlFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkPipelineViewportDepthClampControlCreateInfoEXT>() { return VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT; } +#ifdef VK_USE_PLATFORM_OHOS +template <> inline VkStructureType GetSType<VkSurfaceCreateInfoOHOS>() { return VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS; } +#endif // VK_USE_PLATFORM_OHOS template <> inline VkStructureType GetSType<VkPhysicalDeviceHdrVividFeaturesHUAWEI>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI; } template <> inline VkStructureType GetSType<VkHdrVividDynamicMetadataHUAWEI>() { return VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI; } template <> inline VkStructureType GetSType<VkCooperativeMatrixFlexibleDimensionsPropertiesNV>() { return VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeMatrix2FeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV; } template <> inline VkStructureType GetSType<VkPhysicalDeviceCooperativeMatrix2PropertiesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineOpacityMicromapFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM; } +#ifdef VK_USE_PLATFORM_METAL_EXT +template <> inline VkStructureType GetSType<VkImportMemoryMetalHandleInfoEXT>() { return VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT; } +template <> inline VkStructureType GetSType<VkMemoryMetalHandlePropertiesEXT>() { return VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkMemoryGetMetalHandleInfoEXT>() { return VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT; } +#endif // VK_USE_PLATFORM_METAL_EXT +template <> inline VkStructureType GetSType<VkPhysicalDevicePerformanceCountersByRegionFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePerformanceCountersByRegionPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkPerformanceCounterARM>() { return VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM; } +template <> inline VkStructureType GetSType<VkPerformanceCounterDescriptionARM>() { return VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM; } +template <> inline VkStructureType GetSType<VkRenderPassPerformanceCountersByRegionBeginInfoARM>() { return VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderInstrumentationFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderInstrumentationPropertiesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkShaderInstrumentationCreateInfoARM>() { return VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkShaderInstrumentationMetricDescriptionARM>() { return VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM; } template <> inline VkStructureType GetSType<VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFormatPackFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE; } +template <> inline VkStructureType GetSType<VkPipelineFragmentDensityMapLayeredCreateInfoVALVE>() { return VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE; } +template <> inline VkStructureType GetSType<VkSetPresentConfigNV>() { return VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePresentMeteringFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShader64BitIndexingFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceCustomResolveFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkBeginCustomResolveInfoEXT>() { return VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT; } +template <> inline VkStructureType GetSType<VkCustomResolveCreateInfoEXT>() { return VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineBuiltinModelCreateInfoQCOM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphModelFeaturesQCOM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkQueueFamilyDataGraphOpticalFlowPropertiesARM>() { return VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineOpticalFlowCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphOpticalFlowImageFormatPropertiesARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphOpticalFlowImageFormatInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineOpticalFlowDispatchInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineResourceInfoImageLayoutARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSingleNodeConnectionARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSingleNodeCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderLongVectorFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderLongVectorPropertiesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT; } +template <> inline VkStructureType GetSType<VkComputeOccupancyPriorityParametersNV>() { return VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT; } +#ifdef VK_USE_PLATFORM_UBM_SEC +template <> inline VkStructureType GetSType<VkUbmSurfaceCreateInfoSEC>() { return VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC; } +#endif // VK_USE_PLATFORM_UBM_SEC +template <> inline VkStructureType GetSType<VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE; } +template <> inline VkStructureType GetSType<VkThrottleHintSubmitInfoSEC>() { return VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceThrottleHintFeaturesSEC>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC; } +template <> inline VkStructureType GetSType<VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineNeuralStatisticsCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM>() { return VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM; } +template <> inline VkStructureType GetSType<VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT>() { return VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT; } template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryTrianglesDataKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; } template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryAabbsDataKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR; } template <> inline VkStructureType GetSType<VkAccelerationStructureGeometryInstancesDataKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR; } @@ -1031,7 +1291,6 @@ template <> inline VkStructureType GetSType<VkCopyAccelerationStructureToMemoryInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR; } template <> inline VkStructureType GetSType<VkCopyMemoryToAccelerationStructureInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR; } template <> inline VkStructureType GetSType<VkCopyAccelerationStructureInfoKHR>() { return VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR; } -template <> inline VkStructureType GetSType<VkAccelerationStructureBuildSizesInfoKHR>() { return VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR; } template <> inline VkStructureType GetSType<VkRayTracingShaderGroupCreateInfoKHR>() { return VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR; } template <> inline VkStructureType GetSType<VkRayTracingPipelineInterfaceCreateInfoKHR>() { return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR; } template <> inline VkStructureType GetSType<VkRayTracingPipelineCreateInfoKHR>() { return VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR; } @@ -1113,8 +1372,6 @@ return VK_OBJECT_TYPE_UNKNOWN; } -template<> inline VkObjectType GetObjectType<VkBuffer>() { return VK_OBJECT_TYPE_BUFFER; } -template<> inline VkObjectType GetObjectType<VkImage>() { return VK_OBJECT_TYPE_IMAGE; } template<> inline VkObjectType GetObjectType<VkInstance>() { return VK_OBJECT_TYPE_INSTANCE; } template<> inline VkObjectType GetObjectType<VkPhysicalDevice>() { return VK_OBJECT_TYPE_PHYSICAL_DEVICE; } template<> inline VkObjectType GetObjectType<VkDevice>() { return VK_OBJECT_TYPE_DEVICE; } @@ -1123,23 +1380,25 @@ template<> inline VkObjectType GetObjectType<VkCommandBuffer>() { return VK_OBJECT_TYPE_COMMAND_BUFFER; } template<> inline VkObjectType GetObjectType<VkFence>() { return VK_OBJECT_TYPE_FENCE; } template<> inline VkObjectType GetObjectType<VkDeviceMemory>() { return VK_OBJECT_TYPE_DEVICE_MEMORY; } -template<> inline VkObjectType GetObjectType<VkEvent>() { return VK_OBJECT_TYPE_EVENT; } +template<> inline VkObjectType GetObjectType<VkBuffer>() { return VK_OBJECT_TYPE_BUFFER; } +template<> inline VkObjectType GetObjectType<VkImage>() { return VK_OBJECT_TYPE_IMAGE; } template<> inline VkObjectType GetObjectType<VkQueryPool>() { return VK_OBJECT_TYPE_QUERY_POOL; } -template<> inline VkObjectType GetObjectType<VkBufferView>() { return VK_OBJECT_TYPE_BUFFER_VIEW; } template<> inline VkObjectType GetObjectType<VkImageView>() { return VK_OBJECT_TYPE_IMAGE_VIEW; } +template<> inline VkObjectType GetObjectType<VkCommandPool>() { return VK_OBJECT_TYPE_COMMAND_POOL; } +template<> inline VkObjectType GetObjectType<VkRenderPass>() { return VK_OBJECT_TYPE_RENDER_PASS; } +template<> inline VkObjectType GetObjectType<VkFramebuffer>() { return VK_OBJECT_TYPE_FRAMEBUFFER; } +template<> inline VkObjectType GetObjectType<VkEvent>() { return VK_OBJECT_TYPE_EVENT; } +template<> inline VkObjectType GetObjectType<VkBufferView>() { return VK_OBJECT_TYPE_BUFFER_VIEW; } template<> inline VkObjectType GetObjectType<VkShaderModule>() { return VK_OBJECT_TYPE_SHADER_MODULE; } template<> inline VkObjectType GetObjectType<VkPipelineCache>() { return VK_OBJECT_TYPE_PIPELINE_CACHE; } -template<> inline VkObjectType GetObjectType<VkPipelineLayout>() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } template<> inline VkObjectType GetObjectType<VkPipeline>() { return VK_OBJECT_TYPE_PIPELINE; } -template<> inline VkObjectType GetObjectType<VkRenderPass>() { return VK_OBJECT_TYPE_RENDER_PASS; } +template<> inline VkObjectType GetObjectType<VkPipelineLayout>() { return VK_OBJECT_TYPE_PIPELINE_LAYOUT; } template<> inline VkObjectType GetObjectType<VkDescriptorSetLayout>() { return VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT; } template<> inline VkObjectType GetObjectType<VkSampler>() { return VK_OBJECT_TYPE_SAMPLER; } template<> inline VkObjectType GetObjectType<VkDescriptorSet>() { return VK_OBJECT_TYPE_DESCRIPTOR_SET; } template<> inline VkObjectType GetObjectType<VkDescriptorPool>() { return VK_OBJECT_TYPE_DESCRIPTOR_POOL; } -template<> inline VkObjectType GetObjectType<VkFramebuffer>() { return VK_OBJECT_TYPE_FRAMEBUFFER; } -template<> inline VkObjectType GetObjectType<VkCommandPool>() { return VK_OBJECT_TYPE_COMMAND_POOL; } -template<> inline VkObjectType GetObjectType<VkSamplerYcbcrConversion>() { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; } template<> inline VkObjectType GetObjectType<VkDescriptorUpdateTemplate>() { return VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE; } +template<> inline VkObjectType GetObjectType<VkSamplerYcbcrConversion>() { return VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION; } template<> inline VkObjectType GetObjectType<VkPrivateDataSlot>() { return VK_OBJECT_TYPE_PRIVATE_DATA_SLOT; } template<> inline VkObjectType GetObjectType<VkSurfaceKHR>() { return VK_OBJECT_TYPE_SURFACE_KHR; } template<> inline VkObjectType GetObjectType<VkSwapchainKHR>() { return VK_OBJECT_TYPE_SWAPCHAIN_KHR; } @@ -1148,26 +1407,33 @@ template<> inline VkObjectType GetObjectType<VkVideoSessionKHR>() { return VK_OBJECT_TYPE_VIDEO_SESSION_KHR; } template<> inline VkObjectType GetObjectType<VkVideoSessionParametersKHR>() { return VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR; } template<> inline VkObjectType GetObjectType<VkDeferredOperationKHR>() { return VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR; } +template<> inline VkObjectType GetObjectType<VkAccelerationStructureKHR>() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR; } template<> inline VkObjectType GetObjectType<VkPipelineBinaryKHR>() { return VK_OBJECT_TYPE_PIPELINE_BINARY_KHR; } template<> inline VkObjectType GetObjectType<VkDebugReportCallbackEXT>() { return VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT; } template<> inline VkObjectType GetObjectType<VkCuModuleNVX>() { return VK_OBJECT_TYPE_CU_MODULE_NVX; } template<> inline VkObjectType GetObjectType<VkCuFunctionNVX>() { return VK_OBJECT_TYPE_CU_FUNCTION_NVX; } template<> inline VkObjectType GetObjectType<VkDebugUtilsMessengerEXT>() { return VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT; } +template<> inline VkObjectType GetObjectType<VkTensorARM>() { return VK_OBJECT_TYPE_TENSOR_ARM; } template<> inline VkObjectType GetObjectType<VkValidationCacheEXT>() { return VK_OBJECT_TYPE_VALIDATION_CACHE_EXT; } template<> inline VkObjectType GetObjectType<VkAccelerationStructureNV>() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV; } template<> inline VkObjectType GetObjectType<VkPerformanceConfigurationINTEL>() { return VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL; } template<> inline VkObjectType GetObjectType<VkIndirectCommandsLayoutNV>() { return VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV; } +#ifdef VK_ENABLE_BETA_EXTENSIONS template<> inline VkObjectType GetObjectType<VkCudaModuleNV>() { return VK_OBJECT_TYPE_CUDA_MODULE_NV; } template<> inline VkObjectType GetObjectType<VkCudaFunctionNV>() { return VK_OBJECT_TYPE_CUDA_FUNCTION_NV; } -template<> inline VkObjectType GetObjectType<VkAccelerationStructureKHR>() { return VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR; } +#endif // VK_ENABLE_BETA_EXTENSIONS #ifdef VK_USE_PLATFORM_FUCHSIA template<> inline VkObjectType GetObjectType<VkBufferCollectionFUCHSIA>() { return VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA; } #endif // VK_USE_PLATFORM_FUCHSIA template<> inline VkObjectType GetObjectType<VkMicromapEXT>() { return VK_OBJECT_TYPE_MICROMAP_EXT; } +template<> inline VkObjectType GetObjectType<VkTensorViewARM>() { return VK_OBJECT_TYPE_TENSOR_VIEW_ARM; } template<> inline VkObjectType GetObjectType<VkOpticalFlowSessionNV>() { return VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV; } template<> inline VkObjectType GetObjectType<VkShaderEXT>() { return VK_OBJECT_TYPE_SHADER_EXT; } +template<> inline VkObjectType GetObjectType<VkDataGraphPipelineSessionARM>() { return VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM; } +template<> inline VkObjectType GetObjectType<VkExternalComputeQueueNV>() { return VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV; } template<> inline VkObjectType GetObjectType<VkIndirectExecutionSetEXT>() { return VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT; } template<> inline VkObjectType GetObjectType<VkIndirectCommandsLayoutEXT>() { return VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT; } +template<> inline VkObjectType GetObjectType<VkShaderInstrumentationARM>() { return VK_OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM; } # else // 32 bit template<typename T> VkObjectType GetObjectType() {
diff --git a/include/vulkan/vk_enum_string_helper.h b/include/vulkan/vk_enum_string_helper.h index cb5e9b9..9cd817e 100644 --- a/include/vulkan/vk_enum_string_helper.h +++ b/include/vulkan/vk_enum_string_helper.h
@@ -1,8 +1,8 @@ // *** THIS FILE IS GENERATED - DO NOT EDIT *** // See enum_string_helper_generator.py for modifications -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 @@ -54,14 +54,16 @@ return "VK_ERROR_FRAGMENTED_POOL"; case VK_ERROR_UNKNOWN: return "VK_ERROR_UNKNOWN"; + case VK_ERROR_VALIDATION_FAILED: + return "VK_ERROR_VALIDATION_FAILED"; case VK_ERROR_OUT_OF_POOL_MEMORY: return "VK_ERROR_OUT_OF_POOL_MEMORY"; case VK_ERROR_INVALID_EXTERNAL_HANDLE: return "VK_ERROR_INVALID_EXTERNAL_HANDLE"; - case VK_ERROR_FRAGMENTATION: - return "VK_ERROR_FRAGMENTATION"; case VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS: return "VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS"; + case VK_ERROR_FRAGMENTATION: + return "VK_ERROR_FRAGMENTATION"; case VK_PIPELINE_COMPILE_REQUIRED: return "VK_PIPELINE_COMPILE_REQUIRED"; case VK_ERROR_NOT_PERMITTED: @@ -76,8 +78,6 @@ return "VK_ERROR_OUT_OF_DATE_KHR"; case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR: return "VK_ERROR_INCOMPATIBLE_DISPLAY_KHR"; - case VK_ERROR_VALIDATION_FAILED_EXT: - return "VK_ERROR_VALIDATION_FAILED_EXT"; case VK_ERROR_INVALID_SHADER_NV: return "VK_ERROR_INVALID_SHADER_NV"; case VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR: @@ -94,6 +94,8 @@ return "VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR"; case VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT: return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT"; + case VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT: + return "VK_ERROR_PRESENT_TIMING_QUEUE_FULL_EXT"; case VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT: return "VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT"; case VK_THREAD_IDLE_KHR: @@ -218,22 +220,16 @@ return "VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO"; case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO: return "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"; case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO"; case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: return "VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"; case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS"; case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO"; case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: return "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO"; - case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: - return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"; case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: return "VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO"; case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: @@ -276,22 +272,8 @@ return "VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"; - case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: - return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO"; case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: - return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"; - case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: - return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"; case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: return "VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: @@ -300,20 +282,6 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES"; case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: return "VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2"; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: - return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: - return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"; - case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: - return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO"; - case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: - return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: - return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"; - case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: - return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO"; case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: @@ -342,12 +310,48 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO"; case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: return "VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: + return "VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES"; case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: + return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: + return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: + return "VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO"; + case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: + return "VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: + return "VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: + return "VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES"; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: + return "VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: + return "VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: + return "VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: @@ -358,72 +362,8 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES"; case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO"; - case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: - return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2"; - case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: - return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2"; - case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: - return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2"; - case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: - return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2"; - case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: - return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2"; - case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: - return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO"; - case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: - return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: - return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: - return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO"; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: - return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"; - case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: - return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES"; - case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: - return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"; - case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: - return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"; - case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: - return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"; - case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: - return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO"; - case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: - return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES"; - case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: - return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT"; - case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: - return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: @@ -448,26 +388,80 @@ return "VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO"; case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: + return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: + return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: + return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES"; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: + return "VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES"; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: + return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2"; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: + return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2"; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: + return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2"; + case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: + return "VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: + return "VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2"; + case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: + return "VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: + return "VK_STRUCTURE_TYPE_SUBPASS_END_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES"; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: + return "VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE"; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: + return "VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: + return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: + return "VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO"; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: + return "VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES"; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: + return "VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT"; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: + return "VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES"; - case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: - return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES"; case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO"; case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO: return "VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES"; case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_2"; case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2: @@ -484,10 +478,6 @@ return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES"; case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2: return "VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2"; case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2: @@ -496,20 +486,36 @@ return "VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2"; case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2: return "VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2"; - case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2: - return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2"; - case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2: - return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2"; case VK_STRUCTURE_TYPE_BUFFER_COPY_2: return "VK_STRUCTURE_TYPE_BUFFER_COPY_2"; case VK_STRUCTURE_TYPE_IMAGE_COPY_2: return "VK_STRUCTURE_TYPE_IMAGE_COPY_2"; - case VK_STRUCTURE_TYPE_IMAGE_BLIT_2: - return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2"; case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2: return "VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2"; - case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2: - return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES"; + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: + return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES"; + case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: + return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS"; + case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: + return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS"; + case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: + return "VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES"; case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: @@ -524,8 +530,20 @@ return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK"; case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: return "VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES"; + case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2: + return "VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2"; + case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2: + return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2"; + case VK_STRUCTURE_TYPE_IMAGE_BLIT_2: + return "VK_STRUCTURE_TYPE_IMAGE_BLIT_2"; + case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2: + return "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2"; case VK_STRUCTURE_TYPE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_RENDERING_INFO"; case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO: @@ -536,22 +554,6 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES"; case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES"; - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: - return "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES"; - case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: - return "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS"; - case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: - return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: @@ -562,24 +564,6 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES"; case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES"; - case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: - return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES"; - case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: - return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES"; case VK_STRUCTURE_TYPE_MEMORY_MAP_INFO: @@ -590,48 +574,20 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES"; - case VK_STRUCTURE_TYPE_RENDERING_AREA_INFO: - return "VK_STRUCTURE_TYPE_RENDERING_AREA_INFO"; case VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO: return "VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO"; case VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2: return "VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2"; case VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2: return "VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2"; - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: - return "VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO"; case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: return "VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES"; - case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: - return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO"; - case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: - return "VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES"; case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: return "VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS"; - case VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO: - return "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO"; - case VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO: - return "VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO"; - case VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO: - return "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO"; - case VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO: - return "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES"; - case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: - return "VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: @@ -652,6 +608,52 @@ return "VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE"; case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: return "VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES"; + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: + return "VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES"; + case VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO: + return "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO"; + case VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO: + return "VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO"; + case VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO: + return "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO"; + case VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO: + return "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES"; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + return "VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: + return "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES"; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: + return "VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES"; + case VK_STRUCTURE_TYPE_RENDERING_AREA_INFO: + return "VK_STRUCTURE_TYPE_RENDERING_AREA_INFO"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES"; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: + return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO"; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: + return "VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO"; case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR"; case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: @@ -1004,8 +1006,40 @@ case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX: return "VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX"; #endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT: + return "VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT"; + case VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT: + return "VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT"; + case VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT: + return "VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT"; + case VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT: + return "VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT"; + case VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT: + return "VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT: + return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT"; + case VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT: + return "VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT"; + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT: + return "VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT: + return "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT"; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT: + return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV: + return "VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV"; + case VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM"; case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: return "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR"; case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT"; case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: @@ -1132,6 +1166,8 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT"; case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM"; case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT"; case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: @@ -1180,6 +1216,26 @@ return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV"; case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: return "VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT: + return "VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT: + return "VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT"; + case VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT: + return "VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT"; + case VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT: + return "VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT: + return "VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL"; case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: @@ -1228,6 +1284,14 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR: + return "VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: @@ -1304,24 +1368,6 @@ return "VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: - return "VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT"; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: - return "VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT"; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: - return "VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: - return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT"; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: - return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: - return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT"; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: - return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT"; - case VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT: - return "VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV"; case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: @@ -1360,16 +1406,14 @@ return "VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT"; case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: return "VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: @@ -1408,6 +1452,13 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV"; case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM: + return "VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM"; +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV"; case VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV: @@ -1418,6 +1469,19 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM: + return "VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM: + return "VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM: + return "VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM"; + case VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM: + return "VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM"; case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: return "VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV"; case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: @@ -1470,6 +1534,38 @@ return "VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT"; case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR: + return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR"; + case VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR: + return "VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR: + return "VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR"; + case VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR: + return "VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR: + return "VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR: + return "VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR: + return "VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR"; + case VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR: + return "VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR"; + case VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR: + return "VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR"; + case VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR: + return "VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR"; + case VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR: + return "VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR"; + case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT: + return "VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT"; + case VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT: + return "VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT"; + case VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD: + return "VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR: + return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: @@ -1548,8 +1644,6 @@ return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT"; case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"; case VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA: @@ -1618,6 +1712,16 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE: + return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE: + return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE: + return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT"; case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: @@ -1680,6 +1784,10 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM: + return "VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT"; case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: @@ -1690,8 +1798,6 @@ return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE"; case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE: return "VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM: @@ -1704,26 +1810,20 @@ return "VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM"; case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM: return "VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM"; - case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: - return "VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV"; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: - return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV"; case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: return "VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV"; case VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV: return "VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV: + return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV: + return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: @@ -1740,6 +1840,18 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS: + return "VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS"; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS: + return "VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS"; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS: + return "VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS"; + case VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS: + return "VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS"; + case VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS: + return "VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS"; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS: + return "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS"; case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: @@ -1758,6 +1870,54 @@ return "VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG"; case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: return "VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG"; + case VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM: + return "VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM: + return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM: + return "VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM"; + case VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM: + return "VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_COPY_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_COPY_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM"; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM: + return "VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM"; + case VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM: + return "VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM"; + case VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM: + return "VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM"; + case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM: + return "VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: @@ -1796,6 +1956,24 @@ return "VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD"; case VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD: return "VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX: + return "VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR: + return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR"; + case VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR: + return "VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR: + return "VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR: + return "VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: @@ -1832,12 +2010,38 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC"; case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: return "VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC"; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR: + return "VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR"; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR: + return "VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR: + return "VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR: + return "VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR: + return "VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV: + return "VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV: + return "VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV: @@ -1860,6 +2064,8 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR"; case VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV: return "VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV"; case VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV: @@ -1884,6 +2090,48 @@ return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM"; + case VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM: + return "VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM"; case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: @@ -1924,6 +2172,14 @@ return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR"; case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR"; case VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR: @@ -1950,6 +2206,10 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT: + return "VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT"; case VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX: return "VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX"; case VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX: @@ -1970,10 +2230,44 @@ return "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM"; + case VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM: + return "VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM"; + case VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM: + return "VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM"; + case VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM: + return "VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR: + return "VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR: + return "VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT: + return "VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT"; case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV: return "VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV"; case VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR"; case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR: return "VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR"; case VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR: @@ -1996,6 +2290,14 @@ return "VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV"; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV: + return "VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV: + return "VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV: + return "VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV: @@ -2014,8 +2316,38 @@ return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV: + return "VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV: + return "VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV: + return "VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV: + return "VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV: + return "VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV: + return "VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV: + return "VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV"; + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV: + return "VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV"; + case VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV: + return "VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV"; + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV: + return "VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT: @@ -2044,16 +2376,56 @@ return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT"; case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT: return "VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR: + return "VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR: + return "VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + return "VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA"; case VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA: return "VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV: + return "VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT"; case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT: return "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR: + return "VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR"; + case VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS: + return "VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI"; case VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI: @@ -2064,86 +2436,140 @@ return "VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT: + return "VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT"; + case VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT: + return "VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM: + return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM: + return "VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM: + return "VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM: + return "VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM"; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT: return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE"; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE: + return "VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV: + return "VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT: + return "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT: + return "VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT"; + case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT: + return "VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR: + return "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR"; + case VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR: + return "VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR"; + case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR: + return "VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV: + return "VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: + return "VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT"; + case VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC: + return "VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC"; + case VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC: + return "VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM: + return "VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + return "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT"; default: return "Unhandled VkStructureType"; } } -static inline const char* string_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion input_value) { - switch (input_value) { - case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: - return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"; - default: - return "Unhandled VkPipelineCacheHeaderVersion"; - } -} -static inline const char* string_VkImageLayout(VkImageLayout input_value) { - switch (input_value) { - case VK_IMAGE_LAYOUT_UNDEFINED: - return "VK_IMAGE_LAYOUT_UNDEFINED"; - case VK_IMAGE_LAYOUT_GENERAL: - return "VK_IMAGE_LAYOUT_GENERAL"; - case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: - return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"; - case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: - return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"; - case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: - return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"; - case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: - return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"; - case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: - return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"; - case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: - return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"; - case VK_IMAGE_LAYOUT_PREINITIALIZED: - return "VK_IMAGE_LAYOUT_PREINITIALIZED"; - case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: - return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL"; - case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: - return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL"; - case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: - return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL"; - case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: - return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL"; - case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: - return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL"; - case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: - return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL"; - case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL: - return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL"; - case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL: - return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL"; - case VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ: - return "VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ"; - case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: - return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"; - case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR"; - case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR"; - case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR"; - case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: - return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"; - case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: - return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT"; - case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR: - return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR"; - case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR"; - case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR"; - case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR"; - case VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT: - return "VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT"; - case VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR: - return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR"; - default: - return "Unhandled VkImageLayout"; - } -} static inline const char* string_VkObjectType(VkObjectType input_value) { switch (input_value) { case VK_OBJECT_TYPE_UNKNOWN: @@ -2198,10 +2624,10 @@ return "VK_OBJECT_TYPE_FRAMEBUFFER"; case VK_OBJECT_TYPE_COMMAND_POOL: return "VK_OBJECT_TYPE_COMMAND_POOL"; - case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: - return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"; case VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE: return "VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE"; + case VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION: + return "VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"; case VK_OBJECT_TYPE_PRIVATE_DATA_SLOT: return "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT"; case VK_OBJECT_TYPE_SURFACE_KHR: @@ -2236,24 +2662,36 @@ return "VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR"; case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV: return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"; +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_OBJECT_TYPE_CUDA_MODULE_NV: return "VK_OBJECT_TYPE_CUDA_MODULE_NV"; case VK_OBJECT_TYPE_CUDA_FUNCTION_NV: return "VK_OBJECT_TYPE_CUDA_FUNCTION_NV"; +#endif // VK_ENABLE_BETA_EXTENSIONS case VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA: return "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"; case VK_OBJECT_TYPE_MICROMAP_EXT: return "VK_OBJECT_TYPE_MICROMAP_EXT"; + case VK_OBJECT_TYPE_TENSOR_ARM: + return "VK_OBJECT_TYPE_TENSOR_ARM"; + case VK_OBJECT_TYPE_TENSOR_VIEW_ARM: + return "VK_OBJECT_TYPE_TENSOR_VIEW_ARM"; case VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV: return "VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV"; case VK_OBJECT_TYPE_SHADER_EXT: return "VK_OBJECT_TYPE_SHADER_EXT"; case VK_OBJECT_TYPE_PIPELINE_BINARY_KHR: return "VK_OBJECT_TYPE_PIPELINE_BINARY_KHR"; + case VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM: + return "VK_OBJECT_TYPE_DATA_GRAPH_PIPELINE_SESSION_ARM"; + case VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV: + return "VK_OBJECT_TYPE_EXTERNAL_COMPUTE_QUEUE_NV"; case VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT: return "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_EXT"; case VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT: return "VK_OBJECT_TYPE_INDIRECT_EXECUTION_SET_EXT"; + case VK_OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM: + return "VK_OBJECT_TYPE_SHADER_INSTRUMENTATION_ARM"; default: return "Unhandled VkObjectType"; } @@ -2804,8 +3242,104 @@ return "VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG"; case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG: return "VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG"; + case VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_3x3x3_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT"; + case VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT: + return "VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT"; + case VK_FORMAT_R8_BOOL_ARM: + return "VK_FORMAT_R8_BOOL_ARM"; + case VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM: + return "VK_FORMAT_R16_SFLOAT_FPENCODING_BFLOAT16_ARM"; + case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM: + return "VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E4M3_ARM"; + case VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM: + return "VK_FORMAT_R8_SFLOAT_FPENCODING_FLOAT8E5M2_ARM"; case VK_FORMAT_R16G16_SFIXED5_NV: return "VK_FORMAT_R16G16_SFIXED5_NV"; + case VK_FORMAT_R10X6_UINT_PACK16_ARM: + return "VK_FORMAT_R10X6_UINT_PACK16_ARM"; + case VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM: + return "VK_FORMAT_R10X6G10X6_UINT_2PACK16_ARM"; + case VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM: + return "VK_FORMAT_R10X6G10X6B10X6A10X6_UINT_4PACK16_ARM"; + case VK_FORMAT_R12X4_UINT_PACK16_ARM: + return "VK_FORMAT_R12X4_UINT_PACK16_ARM"; + case VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM: + return "VK_FORMAT_R12X4G12X4_UINT_2PACK16_ARM"; + case VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM: + return "VK_FORMAT_R12X4G12X4B12X4A12X4_UINT_4PACK16_ARM"; + case VK_FORMAT_R14X2_UINT_PACK16_ARM: + return "VK_FORMAT_R14X2_UINT_PACK16_ARM"; + case VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM: + return "VK_FORMAT_R14X2G14X2_UINT_2PACK16_ARM"; + case VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM: + return "VK_FORMAT_R14X2G14X2B14X2A14X2_UINT_4PACK16_ARM"; + case VK_FORMAT_R14X2_UNORM_PACK16_ARM: + return "VK_FORMAT_R14X2_UNORM_PACK16_ARM"; + case VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM: + return "VK_FORMAT_R14X2G14X2_UNORM_2PACK16_ARM"; + case VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM: + return "VK_FORMAT_R14X2G14X2B14X2A14X2_UNORM_4PACK16_ARM"; + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM: + return "VK_FORMAT_G14X2_B14X2R14X2_2PLANE_420_UNORM_3PACK16_ARM"; + case VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM: + return "VK_FORMAT_G14X2_B14X2R14X2_2PLANE_422_UNORM_3PACK16_ARM"; default: return "Unhandled VkFormat"; } @@ -2900,6 +3434,76 @@ return "Unhandled VkSharingMode"; } } +static inline const char* string_VkImageLayout(VkImageLayout input_value) { + switch (input_value) { + case VK_IMAGE_LAYOUT_UNDEFINED: + return "VK_IMAGE_LAYOUT_UNDEFINED"; + case VK_IMAGE_LAYOUT_GENERAL: + return "VK_IMAGE_LAYOUT_GENERAL"; + case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL: + return "VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL: + return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL: + return "VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL: + return "VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL: + return "VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL"; + case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL: + return "VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL"; + case VK_IMAGE_LAYOUT_PREINITIALIZED: + return "VK_IMAGE_LAYOUT_PREINITIALIZED"; + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL: + return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL: + return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL: + return "VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL: + return "VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL: + return "VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL: + return "VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL: + return "VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL"; + case VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL: + return "VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL"; + case VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ: + return "VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ"; + case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR: + return "VK_IMAGE_LAYOUT_PRESENT_SRC_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR"; + case VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR: + return "VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR"; + case VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT: + return "VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT"; + case VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR: + return "VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR"; + case VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT: + return "VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT"; + case VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM: + return "VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM"; + case VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR: + return "VK_IMAGE_LAYOUT_VIDEO_ENCODE_QUANTIZATION_MAP_KHR"; + case VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT: + return "VK_IMAGE_LAYOUT_ZERO_INITIALIZED_EXT"; + default: + return "Unhandled VkImageLayout"; + } +} static inline const char* string_VkComponentSwizzle(VkComponentSwizzle input_value) { switch (input_value) { case VK_COMPONENT_SWIZZLE_IDENTITY: @@ -2940,6 +3544,186 @@ return "Unhandled VkImageViewType"; } } +static inline const char* string_VkCommandBufferLevel(VkCommandBufferLevel input_value) { + switch (input_value) { + case VK_COMMAND_BUFFER_LEVEL_PRIMARY: + return "VK_COMMAND_BUFFER_LEVEL_PRIMARY"; + case VK_COMMAND_BUFFER_LEVEL_SECONDARY: + return "VK_COMMAND_BUFFER_LEVEL_SECONDARY"; + default: + return "Unhandled VkCommandBufferLevel"; + } +} +static inline const char* string_VkIndexType(VkIndexType input_value) { + switch (input_value) { + case VK_INDEX_TYPE_UINT16: + return "VK_INDEX_TYPE_UINT16"; + case VK_INDEX_TYPE_UINT32: + return "VK_INDEX_TYPE_UINT32"; + case VK_INDEX_TYPE_UINT8: + return "VK_INDEX_TYPE_UINT8"; + case VK_INDEX_TYPE_NONE_KHR: + return "VK_INDEX_TYPE_NONE_KHR"; + default: + return "Unhandled VkIndexType"; + } +} +static inline const char* string_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion input_value) { + switch (input_value) { + case VK_PIPELINE_CACHE_HEADER_VERSION_ONE: + return "VK_PIPELINE_CACHE_HEADER_VERSION_ONE"; + case VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM: + return "VK_PIPELINE_CACHE_HEADER_VERSION_DATA_GRAPH_QCOM"; + default: + return "Unhandled VkPipelineCacheHeaderVersion"; + } +} +static inline const char* string_VkBorderColor(VkBorderColor input_value) { + switch (input_value) { + case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: + return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"; + case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: + return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"; + case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: + return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"; + case VK_BORDER_COLOR_INT_OPAQUE_BLACK: + return "VK_BORDER_COLOR_INT_OPAQUE_BLACK"; + case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: + return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"; + case VK_BORDER_COLOR_INT_OPAQUE_WHITE: + return "VK_BORDER_COLOR_INT_OPAQUE_WHITE"; + case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT: + return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT"; + case VK_BORDER_COLOR_INT_CUSTOM_EXT: + return "VK_BORDER_COLOR_INT_CUSTOM_EXT"; + default: + return "Unhandled VkBorderColor"; + } +} +static inline const char* string_VkFilter(VkFilter input_value) { + switch (input_value) { + case VK_FILTER_NEAREST: + return "VK_FILTER_NEAREST"; + case VK_FILTER_LINEAR: + return "VK_FILTER_LINEAR"; + case VK_FILTER_CUBIC_EXT: + return "VK_FILTER_CUBIC_EXT"; + default: + return "Unhandled VkFilter"; + } +} +static inline const char* string_VkSamplerAddressMode(VkSamplerAddressMode input_value) { + switch (input_value) { + case VK_SAMPLER_ADDRESS_MODE_REPEAT: + return "VK_SAMPLER_ADDRESS_MODE_REPEAT"; + case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: + return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"; + case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: + return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"; + case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: + return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"; + case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: + return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"; + default: + return "Unhandled VkSamplerAddressMode"; + } +} +static inline const char* string_VkCompareOp(VkCompareOp input_value) { + switch (input_value) { + case VK_COMPARE_OP_NEVER: + return "VK_COMPARE_OP_NEVER"; + case VK_COMPARE_OP_LESS: + return "VK_COMPARE_OP_LESS"; + case VK_COMPARE_OP_EQUAL: + return "VK_COMPARE_OP_EQUAL"; + case VK_COMPARE_OP_LESS_OR_EQUAL: + return "VK_COMPARE_OP_LESS_OR_EQUAL"; + case VK_COMPARE_OP_GREATER: + return "VK_COMPARE_OP_GREATER"; + case VK_COMPARE_OP_NOT_EQUAL: + return "VK_COMPARE_OP_NOT_EQUAL"; + case VK_COMPARE_OP_GREATER_OR_EQUAL: + return "VK_COMPARE_OP_GREATER_OR_EQUAL"; + case VK_COMPARE_OP_ALWAYS: + return "VK_COMPARE_OP_ALWAYS"; + default: + return "Unhandled VkCompareOp"; + } +} +static inline const char* string_VkSamplerMipmapMode(VkSamplerMipmapMode input_value) { + switch (input_value) { + case VK_SAMPLER_MIPMAP_MODE_NEAREST: + return "VK_SAMPLER_MIPMAP_MODE_NEAREST"; + case VK_SAMPLER_MIPMAP_MODE_LINEAR: + return "VK_SAMPLER_MIPMAP_MODE_LINEAR"; + default: + return "Unhandled VkSamplerMipmapMode"; + } +} +static inline const char* string_VkDescriptorType(VkDescriptorType input_value) { + switch (input_value) { + case VK_DESCRIPTOR_TYPE_SAMPLER: + return "VK_DESCRIPTOR_TYPE_SAMPLER"; + case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: + return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"; + case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: + return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"; + case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: + return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"; + case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: + return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"; + case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: + return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"; + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: + return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"; + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: + return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"; + case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: + return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"; + case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: + return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"; + case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: + return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"; + case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: + return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK"; + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: + return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"; + case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: + return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"; + case VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM: + return "VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM"; + case VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM: + return "VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM"; + case VK_DESCRIPTOR_TYPE_TENSOR_ARM: + return "VK_DESCRIPTOR_TYPE_TENSOR_ARM"; + case VK_DESCRIPTOR_TYPE_MUTABLE_EXT: + return "VK_DESCRIPTOR_TYPE_MUTABLE_EXT"; + case VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV: + return "VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV"; + default: + return "Unhandled VkDescriptorType"; + } +} +static inline const char* string_VkPipelineBindPoint(VkPipelineBindPoint input_value) { + switch (input_value) { + case VK_PIPELINE_BIND_POINT_GRAPHICS: + return "VK_PIPELINE_BIND_POINT_GRAPHICS"; + case VK_PIPELINE_BIND_POINT_COMPUTE: + return "VK_PIPELINE_BIND_POINT_COMPUTE"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX: + return "VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR: + return "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"; + case VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI: + return "VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI"; + case VK_PIPELINE_BIND_POINT_DATA_GRAPH_ARM: + return "VK_PIPELINE_BIND_POINT_DATA_GRAPH_ARM"; + default: + return "Unhandled VkPipelineBindPoint"; + } +} static inline const char* string_VkBlendFactor(VkBlendFactor input_value) { switch (input_value) { case VK_BLEND_FACTOR_ZERO: @@ -3092,28 +3876,6 @@ return "Unhandled VkBlendOp"; } } -static inline const char* string_VkCompareOp(VkCompareOp input_value) { - switch (input_value) { - case VK_COMPARE_OP_NEVER: - return "VK_COMPARE_OP_NEVER"; - case VK_COMPARE_OP_LESS: - return "VK_COMPARE_OP_LESS"; - case VK_COMPARE_OP_EQUAL: - return "VK_COMPARE_OP_EQUAL"; - case VK_COMPARE_OP_LESS_OR_EQUAL: - return "VK_COMPARE_OP_LESS_OR_EQUAL"; - case VK_COMPARE_OP_GREATER: - return "VK_COMPARE_OP_GREATER"; - case VK_COMPARE_OP_NOT_EQUAL: - return "VK_COMPARE_OP_NOT_EQUAL"; - case VK_COMPARE_OP_GREATER_OR_EQUAL: - return "VK_COMPARE_OP_GREATER_OR_EQUAL"; - case VK_COMPARE_OP_ALWAYS: - return "VK_COMPARE_OP_ALWAYS"; - default: - return "Unhandled VkCompareOp"; - } -} static inline const char* string_VkDynamicState(VkDynamicState input_value) { switch (input_value) { case VK_DYNAMIC_STATE_VIEWPORT: @@ -3276,6 +4038,66 @@ return "Unhandled VkFrontFace"; } } +static inline const char* string_VkLogicOp(VkLogicOp input_value) { + switch (input_value) { + case VK_LOGIC_OP_CLEAR: + return "VK_LOGIC_OP_CLEAR"; + case VK_LOGIC_OP_AND: + return "VK_LOGIC_OP_AND"; + case VK_LOGIC_OP_AND_REVERSE: + return "VK_LOGIC_OP_AND_REVERSE"; + case VK_LOGIC_OP_COPY: + return "VK_LOGIC_OP_COPY"; + case VK_LOGIC_OP_AND_INVERTED: + return "VK_LOGIC_OP_AND_INVERTED"; + case VK_LOGIC_OP_NO_OP: + return "VK_LOGIC_OP_NO_OP"; + case VK_LOGIC_OP_XOR: + return "VK_LOGIC_OP_XOR"; + case VK_LOGIC_OP_OR: + return "VK_LOGIC_OP_OR"; + case VK_LOGIC_OP_NOR: + return "VK_LOGIC_OP_NOR"; + case VK_LOGIC_OP_EQUIVALENT: + return "VK_LOGIC_OP_EQUIVALENT"; + case VK_LOGIC_OP_INVERT: + return "VK_LOGIC_OP_INVERT"; + case VK_LOGIC_OP_OR_REVERSE: + return "VK_LOGIC_OP_OR_REVERSE"; + case VK_LOGIC_OP_COPY_INVERTED: + return "VK_LOGIC_OP_COPY_INVERTED"; + case VK_LOGIC_OP_OR_INVERTED: + return "VK_LOGIC_OP_OR_INVERTED"; + case VK_LOGIC_OP_NAND: + return "VK_LOGIC_OP_NAND"; + case VK_LOGIC_OP_SET: + return "VK_LOGIC_OP_SET"; + default: + return "Unhandled VkLogicOp"; + } +} +static inline const char* string_VkStencilOp(VkStencilOp input_value) { + switch (input_value) { + case VK_STENCIL_OP_KEEP: + return "VK_STENCIL_OP_KEEP"; + case VK_STENCIL_OP_ZERO: + return "VK_STENCIL_OP_ZERO"; + case VK_STENCIL_OP_REPLACE: + return "VK_STENCIL_OP_REPLACE"; + case VK_STENCIL_OP_INCREMENT_AND_CLAMP: + return "VK_STENCIL_OP_INCREMENT_AND_CLAMP"; + case VK_STENCIL_OP_DECREMENT_AND_CLAMP: + return "VK_STENCIL_OP_DECREMENT_AND_CLAMP"; + case VK_STENCIL_OP_INVERT: + return "VK_STENCIL_OP_INVERT"; + case VK_STENCIL_OP_INCREMENT_AND_WRAP: + return "VK_STENCIL_OP_INCREMENT_AND_WRAP"; + case VK_STENCIL_OP_DECREMENT_AND_WRAP: + return "VK_STENCIL_OP_DECREMENT_AND_WRAP"; + default: + return "Unhandled VkStencilOp"; + } +} static inline const char* string_VkVertexInputRate(VkVertexInputRate input_value) { switch (input_value) { case VK_VERTEX_INPUT_RATE_VERTEX: @@ -3328,166 +4150,6 @@ return "Unhandled VkPolygonMode"; } } -static inline const char* string_VkStencilOp(VkStencilOp input_value) { - switch (input_value) { - case VK_STENCIL_OP_KEEP: - return "VK_STENCIL_OP_KEEP"; - case VK_STENCIL_OP_ZERO: - return "VK_STENCIL_OP_ZERO"; - case VK_STENCIL_OP_REPLACE: - return "VK_STENCIL_OP_REPLACE"; - case VK_STENCIL_OP_INCREMENT_AND_CLAMP: - return "VK_STENCIL_OP_INCREMENT_AND_CLAMP"; - case VK_STENCIL_OP_DECREMENT_AND_CLAMP: - return "VK_STENCIL_OP_DECREMENT_AND_CLAMP"; - case VK_STENCIL_OP_INVERT: - return "VK_STENCIL_OP_INVERT"; - case VK_STENCIL_OP_INCREMENT_AND_WRAP: - return "VK_STENCIL_OP_INCREMENT_AND_WRAP"; - case VK_STENCIL_OP_DECREMENT_AND_WRAP: - return "VK_STENCIL_OP_DECREMENT_AND_WRAP"; - default: - return "Unhandled VkStencilOp"; - } -} -static inline const char* string_VkLogicOp(VkLogicOp input_value) { - switch (input_value) { - case VK_LOGIC_OP_CLEAR: - return "VK_LOGIC_OP_CLEAR"; - case VK_LOGIC_OP_AND: - return "VK_LOGIC_OP_AND"; - case VK_LOGIC_OP_AND_REVERSE: - return "VK_LOGIC_OP_AND_REVERSE"; - case VK_LOGIC_OP_COPY: - return "VK_LOGIC_OP_COPY"; - case VK_LOGIC_OP_AND_INVERTED: - return "VK_LOGIC_OP_AND_INVERTED"; - case VK_LOGIC_OP_NO_OP: - return "VK_LOGIC_OP_NO_OP"; - case VK_LOGIC_OP_XOR: - return "VK_LOGIC_OP_XOR"; - case VK_LOGIC_OP_OR: - return "VK_LOGIC_OP_OR"; - case VK_LOGIC_OP_NOR: - return "VK_LOGIC_OP_NOR"; - case VK_LOGIC_OP_EQUIVALENT: - return "VK_LOGIC_OP_EQUIVALENT"; - case VK_LOGIC_OP_INVERT: - return "VK_LOGIC_OP_INVERT"; - case VK_LOGIC_OP_OR_REVERSE: - return "VK_LOGIC_OP_OR_REVERSE"; - case VK_LOGIC_OP_COPY_INVERTED: - return "VK_LOGIC_OP_COPY_INVERTED"; - case VK_LOGIC_OP_OR_INVERTED: - return "VK_LOGIC_OP_OR_INVERTED"; - case VK_LOGIC_OP_NAND: - return "VK_LOGIC_OP_NAND"; - case VK_LOGIC_OP_SET: - return "VK_LOGIC_OP_SET"; - default: - return "Unhandled VkLogicOp"; - } -} -static inline const char* string_VkBorderColor(VkBorderColor input_value) { - switch (input_value) { - case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK: - return "VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK"; - case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK: - return "VK_BORDER_COLOR_INT_TRANSPARENT_BLACK"; - case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK: - return "VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK"; - case VK_BORDER_COLOR_INT_OPAQUE_BLACK: - return "VK_BORDER_COLOR_INT_OPAQUE_BLACK"; - case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE: - return "VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE"; - case VK_BORDER_COLOR_INT_OPAQUE_WHITE: - return "VK_BORDER_COLOR_INT_OPAQUE_WHITE"; - case VK_BORDER_COLOR_FLOAT_CUSTOM_EXT: - return "VK_BORDER_COLOR_FLOAT_CUSTOM_EXT"; - case VK_BORDER_COLOR_INT_CUSTOM_EXT: - return "VK_BORDER_COLOR_INT_CUSTOM_EXT"; - default: - return "Unhandled VkBorderColor"; - } -} -static inline const char* string_VkFilter(VkFilter input_value) { - switch (input_value) { - case VK_FILTER_NEAREST: - return "VK_FILTER_NEAREST"; - case VK_FILTER_LINEAR: - return "VK_FILTER_LINEAR"; - case VK_FILTER_CUBIC_EXT: - return "VK_FILTER_CUBIC_EXT"; - default: - return "Unhandled VkFilter"; - } -} -static inline const char* string_VkSamplerAddressMode(VkSamplerAddressMode input_value) { - switch (input_value) { - case VK_SAMPLER_ADDRESS_MODE_REPEAT: - return "VK_SAMPLER_ADDRESS_MODE_REPEAT"; - case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT: - return "VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT"; - case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE: - return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE"; - case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER: - return "VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER"; - case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE: - return "VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE"; - default: - return "Unhandled VkSamplerAddressMode"; - } -} -static inline const char* string_VkSamplerMipmapMode(VkSamplerMipmapMode input_value) { - switch (input_value) { - case VK_SAMPLER_MIPMAP_MODE_NEAREST: - return "VK_SAMPLER_MIPMAP_MODE_NEAREST"; - case VK_SAMPLER_MIPMAP_MODE_LINEAR: - return "VK_SAMPLER_MIPMAP_MODE_LINEAR"; - default: - return "Unhandled VkSamplerMipmapMode"; - } -} -static inline const char* string_VkDescriptorType(VkDescriptorType input_value) { - switch (input_value) { - case VK_DESCRIPTOR_TYPE_SAMPLER: - return "VK_DESCRIPTOR_TYPE_SAMPLER"; - case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER: - return "VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER"; - case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE: - return "VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE"; - case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE: - return "VK_DESCRIPTOR_TYPE_STORAGE_IMAGE"; - case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER: - return "VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER"; - case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER: - return "VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER"; - case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER: - return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER"; - case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER: - return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER"; - case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC: - return "VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC"; - case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC: - return "VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC"; - case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT: - return "VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT"; - case VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK: - return "VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK"; - case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR: - return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR"; - case VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV: - return "VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV"; - case VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM: - return "VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM"; - case VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM: - return "VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM"; - case VK_DESCRIPTOR_TYPE_MUTABLE_EXT: - return "VK_DESCRIPTOR_TYPE_MUTABLE_EXT"; - default: - return "Unhandled VkDescriptorType"; - } -} static inline const char* string_VkAttachmentLoadOp(VkAttachmentLoadOp input_value) { switch (input_value) { case VK_ATTACHMENT_LOAD_OP_LOAD: @@ -3514,48 +4176,6 @@ return "Unhandled VkAttachmentStoreOp"; } } -static inline const char* string_VkPipelineBindPoint(VkPipelineBindPoint input_value) { - switch (input_value) { - case VK_PIPELINE_BIND_POINT_GRAPHICS: - return "VK_PIPELINE_BIND_POINT_GRAPHICS"; - case VK_PIPELINE_BIND_POINT_COMPUTE: - return "VK_PIPELINE_BIND_POINT_COMPUTE"; -#ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX: - return "VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX"; -#endif // VK_ENABLE_BETA_EXTENSIONS - case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR: - return "VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR"; - case VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI: - return "VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI"; - default: - return "Unhandled VkPipelineBindPoint"; - } -} -static inline const char* string_VkCommandBufferLevel(VkCommandBufferLevel input_value) { - switch (input_value) { - case VK_COMMAND_BUFFER_LEVEL_PRIMARY: - return "VK_COMMAND_BUFFER_LEVEL_PRIMARY"; - case VK_COMMAND_BUFFER_LEVEL_SECONDARY: - return "VK_COMMAND_BUFFER_LEVEL_SECONDARY"; - default: - return "Unhandled VkCommandBufferLevel"; - } -} -static inline const char* string_VkIndexType(VkIndexType input_value) { - switch (input_value) { - case VK_INDEX_TYPE_UINT16: - return "VK_INDEX_TYPE_UINT16"; - case VK_INDEX_TYPE_UINT32: - return "VK_INDEX_TYPE_UINT32"; - case VK_INDEX_TYPE_UINT8: - return "VK_INDEX_TYPE_UINT8"; - case VK_INDEX_TYPE_NONE_KHR: - return "VK_INDEX_TYPE_NONE_KHR"; - default: - return "Unhandled VkIndexType"; - } -} static inline const char* string_VkSubpassContents(VkSubpassContents input_value) { switch (input_value) { case VK_SUBPASS_CONTENTS_INLINE: @@ -3578,14 +4198,14 @@ return "Unhandled VkPointClippingBehavior"; } } -static inline const char* string_VkTessellationDomainOrigin(VkTessellationDomainOrigin input_value) { +static inline const char* string_VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType input_value) { switch (input_value) { - case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: - return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"; - case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: - return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"; + case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: + return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"; + case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS: + return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS"; default: - return "Unhandled VkTessellationDomainOrigin"; + return "Unhandled VkDescriptorUpdateTemplateType"; } } static inline const char* string_VkSamplerYcbcrModelConversion(VkSamplerYcbcrModelConversion input_value) { @@ -3624,14 +4244,14 @@ return "Unhandled VkChromaLocation"; } } -static inline const char* string_VkDescriptorUpdateTemplateType(VkDescriptorUpdateTemplateType input_value) { +static inline const char* string_VkTessellationDomainOrigin(VkTessellationDomainOrigin input_value) { switch (input_value) { - case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET: - return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET"; - case VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS: - return "VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS"; + case VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT: + return "VK_TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT"; + case VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT: + return "VK_TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT"; default: - return "Unhandled VkDescriptorUpdateTemplateType"; + return "Unhandled VkTessellationDomainOrigin"; } } static inline const char* string_VkDriverId(VkDriverId input_value) { @@ -3690,6 +4310,8 @@ return "VK_DRIVER_ID_MESA_HONEYKRISP"; case VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN: return "VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN"; + case VK_DRIVER_ID_MESA_KOSMICKRISP: + return "VK_DRIVER_ID_MESA_KOSMICKRISP"; default: return "Unhandled VkDriverId"; } @@ -3706,6 +4328,16 @@ return "Unhandled VkShaderFloatControlsIndependence"; } } +static inline const char* string_VkSemaphoreType(VkSemaphoreType input_value) { + switch (input_value) { + case VK_SEMAPHORE_TYPE_BINARY: + return "VK_SEMAPHORE_TYPE_BINARY"; + case VK_SEMAPHORE_TYPE_TIMELINE: + return "VK_SEMAPHORE_TYPE_TIMELINE"; + default: + return "Unhandled VkSemaphoreType"; + } +} static inline const char* string_VkSamplerReductionMode(VkSamplerReductionMode input_value) { switch (input_value) { case VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE: @@ -3720,16 +4352,6 @@ return "Unhandled VkSamplerReductionMode"; } } -static inline const char* string_VkSemaphoreType(VkSemaphoreType input_value) { - switch (input_value) { - case VK_SEMAPHORE_TYPE_BINARY: - return "VK_SEMAPHORE_TYPE_BINARY"; - case VK_SEMAPHORE_TYPE_TIMELINE: - return "VK_SEMAPHORE_TYPE_TIMELINE"; - default: - return "Unhandled VkSemaphoreType"; - } -} static inline const char* string_VkPipelineRobustnessBufferBehavior(VkPipelineRobustnessBufferBehavior input_value) { switch (input_value) { case VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DEVICE_DEFAULT: @@ -3800,8 +4422,8 @@ return "VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR"; case VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR: return "VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR"; - case VK_PRESENT_MODE_FIFO_LATEST_READY_EXT: - return "VK_PRESENT_MODE_FIFO_LATEST_READY_EXT"; + case VK_PRESENT_MODE_FIFO_LATEST_READY_KHR: + return "VK_PRESENT_MODE_FIFO_LATEST_READY_KHR"; default: return "Unhandled VkPresentModeKHR"; } @@ -3962,6 +4584,18 @@ return "Unhandled VkVideoEncodeTuningModeKHR"; } } +static inline const char* string_VkAccelerationStructureTypeKHR(VkAccelerationStructureTypeKHR input_value) { + switch (input_value) { + case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR: + return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR"; + case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR: + return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR"; + case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR: + return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR"; + default: + return "Unhandled VkAccelerationStructureTypeKHR"; + } +} static inline const char* string_VkComponentTypeKHR(VkComponentTypeKHR input_value) { switch (input_value) { case VK_COMPONENT_TYPE_FLOAT16_KHR: @@ -3986,6 +4620,16 @@ return "VK_COMPONENT_TYPE_UINT32_KHR"; case VK_COMPONENT_TYPE_UINT64_KHR: return "VK_COMPONENT_TYPE_UINT64_KHR"; + case VK_COMPONENT_TYPE_BFLOAT16_KHR: + return "VK_COMPONENT_TYPE_BFLOAT16_KHR"; + case VK_COMPONENT_TYPE_SINT8_PACKED_NV: + return "VK_COMPONENT_TYPE_SINT8_PACKED_NV"; + case VK_COMPONENT_TYPE_UINT8_PACKED_NV: + return "VK_COMPONENT_TYPE_UINT8_PACKED_NV"; + case VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT: + return "VK_COMPONENT_TYPE_FLOAT8_E4M3_EXT"; + case VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT: + return "VK_COMPONENT_TYPE_FLOAT8_E5M2_EXT"; default: return "Unhandled VkComponentTypeKHR"; } @@ -4040,6 +4684,10 @@ return "VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR"; case VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR: return "VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR"; + case VK_TIME_DOMAIN_PRESENT_STAGE_LOCAL_EXT: + return "VK_TIME_DOMAIN_PRESENT_STAGE_LOCAL_EXT"; + case VK_TIME_DOMAIN_SWAPCHAIN_LOCAL_EXT: + return "VK_TIME_DOMAIN_SWAPCHAIN_LOCAL_EXT"; default: return "Unhandled VkTimeDomainKHR"; } @@ -4060,6 +4708,44 @@ return "Unhandled VkPhysicalDeviceLayeredApiKHR"; } } +static inline const char* string_VkDeviceFaultAddressTypeKHR(VkDeviceFaultAddressTypeKHR input_value) { + switch (input_value) { + case VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_KHR"; + case VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_KHR"; + case VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_KHR"; + case VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_KHR"; + case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_KHR"; + case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_KHR"; + case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR: + return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_KHR"; + default: + return "Unhandled VkDeviceFaultAddressTypeKHR"; + } +} +static inline const char* string_VkDeviceFaultVendorBinaryHeaderVersionKHR(VkDeviceFaultVendorBinaryHeaderVersionKHR input_value) { + switch (input_value) { + case VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_KHR: + return "VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_KHR"; + default: + return "Unhandled VkDeviceFaultVendorBinaryHeaderVersionKHR"; + } +} +static inline const char* string_VkDefaultVertexAttributeValueKHR(VkDefaultVertexAttributeValueKHR input_value) { + switch (input_value) { + case VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR: + return "VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ZERO_KHR"; + case VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ONE_KHR: + return "VK_DEFAULT_VERTEX_ATTRIBUTE_VALUE_ZERO_ZERO_ZERO_ONE_KHR"; + default: + return "Unhandled VkDefaultVertexAttributeValueKHR"; + } +} static inline const char* string_VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT input_value) { switch (input_value) { case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT: @@ -4252,6 +4938,34 @@ return "Unhandled VkConservativeRasterizationModeEXT"; } } +static inline const char* string_VkDescriptorMappingSourceEXT(VkDescriptorMappingSourceEXT input_value) { + switch (input_value) { + case VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_CONSTANT_OFFSET_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_PUSH_INDEX_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_PUSH_INDEX_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_ARRAY_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_INDIRECT_INDEX_ARRAY_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_RESOURCE_HEAP_DATA_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_RESOURCE_HEAP_DATA_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_DATA_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_DATA_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_ADDRESS_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_ADDRESS_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_INDIRECT_ADDRESS_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_INDIRECT_ADDRESS_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_SHADER_RECORD_INDEX_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_HEAP_WITH_SHADER_RECORD_INDEX_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_DATA_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_DATA_EXT"; + case VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_ADDRESS_EXT: + return "VK_DESCRIPTOR_MAPPING_SOURCE_SHADER_RECORD_ADDRESS_EXT"; + default: + return "Unhandled VkDescriptorMappingSourceEXT"; + } +} static inline const char* string_VkBlendOverlapEXT(VkBlendOverlapEXT input_value) { switch (input_value) { case VK_BLEND_OVERLAP_UNCORRELATED_EXT: @@ -4350,22 +5064,18 @@ return "VK_GEOMETRY_TYPE_AABBS_KHR"; case VK_GEOMETRY_TYPE_INSTANCES_KHR: return "VK_GEOMETRY_TYPE_INSTANCES_KHR"; + case VK_GEOMETRY_TYPE_SPHERES_NV: + return "VK_GEOMETRY_TYPE_SPHERES_NV"; + case VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV: + return "VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX: + return "VK_GEOMETRY_TYPE_DENSE_GEOMETRY_FORMAT_TRIANGLES_AMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS default: return "Unhandled VkGeometryTypeKHR"; } } -static inline const char* string_VkAccelerationStructureTypeKHR(VkAccelerationStructureTypeKHR input_value) { - switch (input_value) { - case VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR: - return "VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR"; - case VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR: - return "VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_KHR"; - case VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR: - return "VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR"; - default: - return "Unhandled VkAccelerationStructureTypeKHR"; - } -} static inline const char* string_VkCopyAccelerationStructureModeKHR(VkCopyAccelerationStructureModeKHR input_value) { switch (input_value) { case VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR: @@ -4548,6 +5258,8 @@ return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV"; case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_NV: + return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_NV"; case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV"; case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV: @@ -4586,6 +5298,20 @@ return "Unhandled VkDeviceMemoryReportEventTypeEXT"; } } +static inline const char* string_VkPerfHintTypeQCOM(VkPerfHintTypeQCOM input_value) { + switch (input_value) { + case VK_PERF_HINT_TYPE_DEFAULT_QCOM: + return "VK_PERF_HINT_TYPE_DEFAULT_QCOM"; + case VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM: + return "VK_PERF_HINT_TYPE_FREQUENCY_MIN_QCOM"; + case VK_PERF_HINT_TYPE_FREQUENCY_MAX_QCOM: + return "VK_PERF_HINT_TYPE_FREQUENCY_MAX_QCOM"; + case VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM: + return "VK_PERF_HINT_TYPE_FREQUENCY_SCALED_QCOM"; + default: + return "Unhandled VkPerfHintTypeQCOM"; + } +} static inline const char* string_VkFragmentShadingRateTypeNV(VkFragmentShadingRateTypeNV input_value) { switch (input_value) { case VK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV: @@ -4638,34 +5364,6 @@ return "Unhandled VkAccelerationStructureMotionInstanceTypeNV"; } } -static inline const char* string_VkDeviceFaultAddressTypeEXT(VkDeviceFaultAddressTypeEXT input_value) { - switch (input_value) { - case VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT"; - case VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT"; - case VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT"; - case VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT"; - case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT"; - case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT"; - case VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT: - return "VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT"; - default: - return "Unhandled VkDeviceFaultAddressTypeEXT"; - } -} -static inline const char* string_VkDeviceFaultVendorBinaryHeaderVersionEXT(VkDeviceFaultVendorBinaryHeaderVersionEXT input_value) { - switch (input_value) { - case VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT: - return "VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT"; - default: - return "Unhandled VkDeviceFaultVendorBinaryHeaderVersionEXT"; - } -} static inline const char* string_VkDeviceAddressBindingTypeEXT(VkDeviceAddressBindingTypeEXT input_value) { switch (input_value) { case VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT: @@ -4730,6 +5428,8 @@ return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT"; case VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT: return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT"; + case VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV: + return "VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV"; default: return "Unhandled VkOpacityMicromapSpecialIndexEXT"; } @@ -4770,6 +5470,26 @@ } } #endif // VK_ENABLE_BETA_EXTENSIONS +static inline const char* string_VkRayTracingLssIndexingModeNV(VkRayTracingLssIndexingModeNV input_value) { + switch (input_value) { + case VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV: + return "VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV"; + case VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV: + return "VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV"; + default: + return "Unhandled VkRayTracingLssIndexingModeNV"; + } +} +static inline const char* string_VkRayTracingLssPrimitiveEndCapsModeNV(VkRayTracingLssPrimitiveEndCapsModeNV input_value) { + switch (input_value) { + case VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV: + return "VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV"; + case VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV: + return "VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV"; + default: + return "Unhandled VkRayTracingLssPrimitiveEndCapsModeNV"; + } +} static inline const char* string_VkSubpassMergeStatusEXT(VkSubpassMergeStatusEXT input_value) { switch (input_value) { case VK_SUBPASS_MERGE_STATUS_MERGED_EXT: @@ -4814,6 +5534,16 @@ return "Unhandled VkDirectDriverLoadingModeLUNARG"; } } +static inline const char* string_VkTensorTilingARM(VkTensorTilingARM input_value) { + switch (input_value) { + case VK_TENSOR_TILING_OPTIMAL_ARM: + return "VK_TENSOR_TILING_OPTIMAL_ARM"; + case VK_TENSOR_TILING_LINEAR_ARM: + return "VK_TENSOR_TILING_LINEAR_ARM"; + default: + return "Unhandled VkTensorTilingARM"; + } +} static inline const char* string_VkOpticalFlowPerformanceLevelNV(VkOpticalFlowPerformanceLevelNV input_value) { switch (input_value) { case VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV: @@ -4874,6 +5604,16 @@ return "Unhandled VkAntiLagStageAMD"; } } +#ifdef VK_ENABLE_BETA_EXTENSIONS +static inline const char* string_VkCompressedTriangleFormatAMDX(VkCompressedTriangleFormatAMDX input_value) { + switch (input_value) { + case VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX: + return "VK_COMPRESSED_TRIANGLE_FORMAT_DGF1_AMDX"; + default: + return "Unhandled VkCompressedTriangleFormatAMDX"; + } +} +#endif // VK_ENABLE_BETA_EXTENSIONS static inline const char* string_VkShaderCodeTypeEXT(VkShaderCodeTypeEXT input_value) { switch (input_value) { case VK_SHADER_CODE_TYPE_BINARY_EXT: @@ -4894,14 +5634,28 @@ return "Unhandled VkDepthClampModeEXT"; } } -static inline const char* string_VkRayTracingInvocationReorderModeNV(VkRayTracingInvocationReorderModeNV input_value) { +static inline const char* string_VkRayTracingInvocationReorderModeEXT(VkRayTracingInvocationReorderModeEXT input_value) { switch (input_value) { - case VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV: - return "VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV"; - case VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV: - return "VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV"; + case VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT: + return "VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_EXT"; + case VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT: + return "VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_EXT"; default: - return "Unhandled VkRayTracingInvocationReorderModeNV"; + return "Unhandled VkRayTracingInvocationReorderModeEXT"; + } +} +static inline const char* string_VkCooperativeVectorMatrixLayoutNV(VkCooperativeVectorMatrixLayoutNV input_value) { + switch (input_value) { + case VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV: + return "VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV"; + case VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV: + return "VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV"; + case VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV: + return "VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV"; + case VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV: + return "VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV"; + default: + return "Unhandled VkCooperativeVectorMatrixLayoutNV"; } } static inline const char* string_VkLayerSettingTypeEXT(VkLayerSettingTypeEXT input_value) { @@ -4966,6 +5720,76 @@ return "Unhandled VkOutOfBandQueueTypeNV"; } } +static inline const char* string_VkDataGraphPipelineSessionBindPointARM(VkDataGraphPipelineSessionBindPointARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM: + return "VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TRANSIENT_ARM"; + case VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_OPTICAL_FLOW_CACHE_ARM: + return "VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_OPTICAL_FLOW_CACHE_ARM"; + case VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_NEURAL_ACCELERATOR_STATISTICS_ARM: + return "VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_NEURAL_ACCELERATOR_STATISTICS_ARM"; + default: + return "Unhandled VkDataGraphPipelineSessionBindPointARM"; + } +} +static inline const char* string_VkDataGraphPipelineSessionBindPointTypeARM(VkDataGraphPipelineSessionBindPointTypeARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM: + return "VK_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_TYPE_MEMORY_ARM"; + default: + return "Unhandled VkDataGraphPipelineSessionBindPointTypeARM"; + } +} +static inline const char* string_VkDataGraphPipelinePropertyARM(VkDataGraphPipelinePropertyARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM: + return "VK_DATA_GRAPH_PIPELINE_PROPERTY_CREATION_LOG_ARM"; + case VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM: + return "VK_DATA_GRAPH_PIPELINE_PROPERTY_IDENTIFIER_ARM"; + case VK_DATA_GRAPH_PIPELINE_PROPERTY_NEURAL_ACCELERATOR_DEBUG_DATABASE_ARM: + return "VK_DATA_GRAPH_PIPELINE_PROPERTY_NEURAL_ACCELERATOR_DEBUG_DATABASE_ARM"; + case VK_DATA_GRAPH_PIPELINE_PROPERTY_NEURAL_ACCELERATOR_STATISTICS_INFO_ARM: + return "VK_DATA_GRAPH_PIPELINE_PROPERTY_NEURAL_ACCELERATOR_STATISTICS_INFO_ARM"; + default: + return "Unhandled VkDataGraphPipelinePropertyARM"; + } +} +static inline const char* string_VkPhysicalDeviceDataGraphProcessingEngineTypeARM(VkPhysicalDeviceDataGraphProcessingEngineTypeARM input_value) { + switch (input_value) { + case VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_DEFAULT_ARM"; + case VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_NEURAL_QCOM"; + case VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_PROCESSING_ENGINE_TYPE_COMPUTE_QCOM"; + default: + return "Unhandled VkPhysicalDeviceDataGraphProcessingEngineTypeARM"; + } +} +static inline const char* string_VkPhysicalDeviceDataGraphOperationTypeARM(VkPhysicalDeviceDataGraphOperationTypeARM input_value) { + switch (input_value) { + case VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_SPIRV_EXTENDED_INSTRUCTION_SET_ARM"; + case VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_NEURAL_MODEL_QCOM"; + case VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_BUILTIN_MODEL_QCOM"; + case VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_OPTICAL_FLOW_ARM: + return "VK_PHYSICAL_DEVICE_DATA_GRAPH_OPERATION_TYPE_OPTICAL_FLOW_ARM"; + default: + return "Unhandled VkPhysicalDeviceDataGraphOperationTypeARM"; + } +} +static inline const char* string_VkDataGraphTOSALevelARM(VkDataGraphTOSALevelARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_TOSA_LEVEL_NONE_ARM: + return "VK_DATA_GRAPH_TOSA_LEVEL_NONE_ARM"; + case VK_DATA_GRAPH_TOSA_LEVEL_8K_ARM: + return "VK_DATA_GRAPH_TOSA_LEVEL_8K_ARM"; + default: + return "Unhandled VkDataGraphTOSALevelARM"; + } +} static inline const char* string_VkBlockMatchWindowCompareModeQCOM(VkBlockMatchWindowCompareModeQCOM input_value) { switch (input_value) { case VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM: @@ -5014,6 +5838,60 @@ return "Unhandled VkDisplaySurfaceStereoTypeNV"; } } +static inline const char* string_VkClusterAccelerationStructureTypeNV(VkClusterAccelerationStructureTypeNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV"; + default: + return "Unhandled VkClusterAccelerationStructureTypeNV"; + } +} +static inline const char* string_VkClusterAccelerationStructureOpTypeNV(VkClusterAccelerationStructureOpTypeNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_GET_CLUSTER_TEMPLATE_INDICES_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_GET_CLUSTER_TEMPLATE_INDICES_NV"; + default: + return "Unhandled VkClusterAccelerationStructureOpTypeNV"; + } +} +static inline const char* string_VkClusterAccelerationStructureOpModeNV(VkClusterAccelerationStructureOpModeNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV"; + default: + return "Unhandled VkClusterAccelerationStructureOpModeNV"; + } +} +static inline const char* string_VkPartitionedAccelerationStructureOpTypeNV(VkPartitionedAccelerationStructureOpTypeNV input_value) { + switch (input_value) { + case VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV"; + case VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV"; + case VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV"; + default: + return "Unhandled VkPartitionedAccelerationStructureOpTypeNV"; + } +} static inline const char* string_VkIndirectExecutionSetInfoTypeEXT(VkIndirectExecutionSetInfoTypeEXT input_value) { switch (input_value) { case VK_INDIRECT_EXECUTION_SET_INFO_TYPE_PIPELINES_EXT: @@ -5046,6 +5924,10 @@ return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT"; case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT: + return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT"; + case VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT: + return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT"; case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT: return "VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT"; case VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT: @@ -5060,6 +5942,76 @@ return "Unhandled VkIndirectCommandsTokenTypeEXT"; } } +static inline const char* string_VkDataGraphModelCacheTypeQCOM(VkDataGraphModelCacheTypeQCOM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM: + return "VK_DATA_GRAPH_MODEL_CACHE_TYPE_GENERIC_BINARY_QCOM"; + default: + return "Unhandled VkDataGraphModelCacheTypeQCOM"; + } +} +static inline const char* string_VkDataGraphOpticalFlowPerformanceLevelARM(VkDataGraphOpticalFlowPerformanceLevelARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_ARM"; + default: + return "Unhandled VkDataGraphOpticalFlowPerformanceLevelARM"; + } +} +static inline const char* string_VkDataGraphPipelineNodeTypeARM(VkDataGraphPipelineNodeTypeARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_PIPELINE_NODE_TYPE_OPTICAL_FLOW_ARM: + return "VK_DATA_GRAPH_PIPELINE_NODE_TYPE_OPTICAL_FLOW_ARM"; + default: + return "Unhandled VkDataGraphPipelineNodeTypeARM"; + } +} +static inline const char* string_VkDataGraphPipelineNodeConnectionTypeARM(VkDataGraphPipelineNodeConnectionTypeARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_INPUT_ARM: + return "VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_INPUT_ARM"; + case VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_REFERENCE_ARM: + return "VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_REFERENCE_ARM"; + case VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_HINT_ARM: + return "VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_HINT_ARM"; + case VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_FLOW_VECTOR_ARM: + return "VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_FLOW_VECTOR_ARM"; + case VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_COST_ARM: + return "VK_DATA_GRAPH_PIPELINE_NODE_CONNECTION_TYPE_OPTICAL_FLOW_COST_ARM"; + default: + return "Unhandled VkDataGraphPipelineNodeConnectionTypeARM"; + } +} +static inline const char* string_VkThrottleHintTypeSEC(VkThrottleHintTypeSEC input_value) { + switch (input_value) { + case VK_THROTTLE_HINT_TYPE_DEFAULT_SEC: + return "VK_THROTTLE_HINT_TYPE_DEFAULT_SEC"; + case VK_THROTTLE_HINT_TYPE_LOW_SEC: + return "VK_THROTTLE_HINT_TYPE_LOW_SEC"; + case VK_THROTTLE_HINT_TYPE_HIGH_SEC: + return "VK_THROTTLE_HINT_TYPE_HIGH_SEC"; + default: + return "Unhandled VkThrottleHintTypeSEC"; + } +} +static inline const char* string_VkNeuralAcceleratorStatisticsModeARM(VkNeuralAcceleratorStatisticsModeARM input_value) { + switch (input_value) { + case VK_NEURAL_ACCELERATOR_STATISTICS_MODE_DISABLED_ARM: + return "VK_NEURAL_ACCELERATOR_STATISTICS_MODE_DISABLED_ARM"; + case VK_NEURAL_ACCELERATOR_STATISTICS_MODE_STATISTICS0_ARM: + return "VK_NEURAL_ACCELERATOR_STATISTICS_MODE_STATISTICS0_ARM"; + case VK_NEURAL_ACCELERATOR_STATISTICS_MODE_STATISTICS1_ARM: + return "VK_NEURAL_ACCELERATOR_STATISTICS_MODE_STATISTICS1_ARM"; + default: + return "Unhandled VkNeuralAcceleratorStatisticsModeARM"; + } +} static inline const char* string_VkBuildAccelerationStructureModeKHR(VkBuildAccelerationStructureModeKHR input_value) { switch (input_value) { case VK_BUILD_ACCELERATION_STRUCTURE_MODE_BUILD_KHR: @@ -5085,134 +6037,6 @@ } } -static inline const char* string_VkAccessFlagBits(VkAccessFlagBits input_value) { - switch (input_value) { - case VK_ACCESS_INDIRECT_COMMAND_READ_BIT: - return "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"; - case VK_ACCESS_INDEX_READ_BIT: - return "VK_ACCESS_INDEX_READ_BIT"; - case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT: - return "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"; - case VK_ACCESS_UNIFORM_READ_BIT: - return "VK_ACCESS_UNIFORM_READ_BIT"; - case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT: - return "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"; - case VK_ACCESS_SHADER_READ_BIT: - return "VK_ACCESS_SHADER_READ_BIT"; - case VK_ACCESS_SHADER_WRITE_BIT: - return "VK_ACCESS_SHADER_WRITE_BIT"; - case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT: - return "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"; - case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT: - return "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"; - case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: - return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"; - case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: - return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"; - case VK_ACCESS_TRANSFER_READ_BIT: - return "VK_ACCESS_TRANSFER_READ_BIT"; - case VK_ACCESS_TRANSFER_WRITE_BIT: - return "VK_ACCESS_TRANSFER_WRITE_BIT"; - case VK_ACCESS_HOST_READ_BIT: - return "VK_ACCESS_HOST_READ_BIT"; - case VK_ACCESS_HOST_WRITE_BIT: - return "VK_ACCESS_HOST_WRITE_BIT"; - case VK_ACCESS_MEMORY_READ_BIT: - return "VK_ACCESS_MEMORY_READ_BIT"; - case VK_ACCESS_MEMORY_WRITE_BIT: - return "VK_ACCESS_MEMORY_WRITE_BIT"; - case VK_ACCESS_NONE: - return "VK_ACCESS_NONE"; - case VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: - return "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"; - case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: - return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"; - case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: - return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"; - case VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT: - return "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"; - case VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: - return "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"; - case VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR: - return "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"; - case VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR: - return "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"; - case VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: - return "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"; - case VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR: - return "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"; - case VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV: - return "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_NV"; - case VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV: - return "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_NV"; - default: - return "Unhandled VkAccessFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkAccessFlags(VkAccessFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkAccessFlagBits(static_cast<VkAccessFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkAccessFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkImageAspectFlagBits(VkImageAspectFlagBits input_value) { - switch (input_value) { - case VK_IMAGE_ASPECT_COLOR_BIT: - return "VK_IMAGE_ASPECT_COLOR_BIT"; - case VK_IMAGE_ASPECT_DEPTH_BIT: - return "VK_IMAGE_ASPECT_DEPTH_BIT"; - case VK_IMAGE_ASPECT_STENCIL_BIT: - return "VK_IMAGE_ASPECT_STENCIL_BIT"; - case VK_IMAGE_ASPECT_METADATA_BIT: - return "VK_IMAGE_ASPECT_METADATA_BIT"; - case VK_IMAGE_ASPECT_PLANE_0_BIT: - return "VK_IMAGE_ASPECT_PLANE_0_BIT"; - case VK_IMAGE_ASPECT_PLANE_1_BIT: - return "VK_IMAGE_ASPECT_PLANE_1_BIT"; - case VK_IMAGE_ASPECT_PLANE_2_BIT: - return "VK_IMAGE_ASPECT_PLANE_2_BIT"; - case VK_IMAGE_ASPECT_NONE: - return "VK_IMAGE_ASPECT_NONE"; - case VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: - return "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"; - case VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: - return "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"; - case VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: - return "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"; - case VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: - return "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"; - default: - return "Unhandled VkImageAspectFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkImageAspectFlags(VkImageAspectFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkImageAspectFlagBits(static_cast<VkImageAspectFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkImageAspectFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits input_value) { switch (input_value) { case VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT: @@ -5326,20 +6150,22 @@ return "VK_IMAGE_CREATE_DISJOINT_BIT"; case VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV: return "VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV"; + case VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT: + return "VK_IMAGE_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_EXT"; case VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT: return "VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT"; case VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT: return "VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT"; - case VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT: - return "VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"; case VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT: return "VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT"; case VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT: return "VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT"; - case VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM: - return "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM"; case VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR: return "VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR"; + case VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT: + return "VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_EXT"; + case VK_IMAGE_CREATE_ALIAS_SINGLE_LAYER_DESCRIPTOR_BIT_KHR: + return "VK_IMAGE_CREATE_ALIAS_SINGLE_LAYER_DESCRIPTOR_BIT_KHR"; default: return "Unhandled VkImageCreateFlagBits"; } @@ -5442,6 +6268,10 @@ return "VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM"; case VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM: return "VK_IMAGE_USAGE_SAMPLE_BLOCK_MATCH_BIT_QCOM"; + case VK_IMAGE_USAGE_TENSOR_ALIASING_BIT_ARM: + return "VK_IMAGE_USAGE_TENSOR_ALIASING_BIT_ARM"; + case VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM: + return "VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM"; case VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR: return "VK_IMAGE_USAGE_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR"; case VK_IMAGE_USAGE_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR: @@ -5498,6 +6328,8 @@ return "VK_MEMORY_HEAP_DEVICE_LOCAL_BIT"; case VK_MEMORY_HEAP_MULTI_INSTANCE_BIT: return "VK_MEMORY_HEAP_MULTI_INSTANCE_BIT"; + case VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM: + return "VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM"; default: return "Unhandled VkMemoryHeapFlagBits"; } @@ -5578,6 +6410,8 @@ return "VK_QUEUE_VIDEO_ENCODE_BIT_KHR"; case VK_QUEUE_OPTICAL_FLOW_BIT_NV: return "VK_QUEUE_OPTICAL_FLOW_BIT_NV"; + case VK_QUEUE_DATA_GRAPH_BIT_ARM: + return "VK_QUEUE_DATA_GRAPH_BIT_ARM"; default: return "Unhandled VkQueueFlagBits"; } @@ -5599,10 +6433,69 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkShaderStageFlagBits(VkShaderStageFlagBits input_value) { + switch (input_value) { + case VK_SHADER_STAGE_VERTEX_BIT: + return "VK_SHADER_STAGE_VERTEX_BIT"; + case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: + return "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"; + case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: + return "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"; + case VK_SHADER_STAGE_GEOMETRY_BIT: + return "VK_SHADER_STAGE_GEOMETRY_BIT"; + case VK_SHADER_STAGE_FRAGMENT_BIT: + return "VK_SHADER_STAGE_FRAGMENT_BIT"; + case VK_SHADER_STAGE_COMPUTE_BIT: + return "VK_SHADER_STAGE_COMPUTE_BIT"; + case VK_SHADER_STAGE_RAYGEN_BIT_KHR: + return "VK_SHADER_STAGE_RAYGEN_BIT_KHR"; + case VK_SHADER_STAGE_ANY_HIT_BIT_KHR: + return "VK_SHADER_STAGE_ANY_HIT_BIT_KHR"; + case VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR: + return "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"; + case VK_SHADER_STAGE_MISS_BIT_KHR: + return "VK_SHADER_STAGE_MISS_BIT_KHR"; + case VK_SHADER_STAGE_INTERSECTION_BIT_KHR: + return "VK_SHADER_STAGE_INTERSECTION_BIT_KHR"; + case VK_SHADER_STAGE_CALLABLE_BIT_KHR: + return "VK_SHADER_STAGE_CALLABLE_BIT_KHR"; + case VK_SHADER_STAGE_TASK_BIT_EXT: + return "VK_SHADER_STAGE_TASK_BIT_EXT"; + case VK_SHADER_STAGE_MESH_BIT_EXT: + return "VK_SHADER_STAGE_MESH_BIT_EXT"; + case VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI: + return "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"; + case VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI: + return "VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI"; + default: + return "Unhandled VkShaderStageFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkShaderStageFlags(VkShaderStageFlags input_value) { + if (input_value == VK_SHADER_STAGE_ALL_GRAPHICS) { return "VK_SHADER_STAGE_ALL_GRAPHICS"; } + if (input_value == VK_SHADER_STAGE_ALL) { return "VK_SHADER_STAGE_ALL"; } + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkShaderStageFlagBits(static_cast<VkShaderStageFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkShaderStageFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkDeviceQueueCreateFlagBits(VkDeviceQueueCreateFlagBits input_value) { switch (input_value) { case VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT: return "VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT"; + case VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR: + return "VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR"; default: return "Unhandled VkDeviceQueueCreateFlagBits"; } @@ -5674,12 +6567,12 @@ return "VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT"; case VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR: return "VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"; - case VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV: - return "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_NV"; case VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT: return "VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT"; case VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT: return "VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT"; + case VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT: + return "VK_PIPELINE_STAGE_COMMAND_PREPROCESS_BIT_EXT"; default: return "Unhandled VkPipelineStageFlagBits"; } @@ -5726,28 +6619,50 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkSparseMemoryBindFlagBits(VkSparseMemoryBindFlagBits input_value) { +static inline const char* string_VkImageAspectFlagBits(VkImageAspectFlagBits input_value) { switch (input_value) { - case VK_SPARSE_MEMORY_BIND_METADATA_BIT: - return "VK_SPARSE_MEMORY_BIND_METADATA_BIT"; + case VK_IMAGE_ASPECT_COLOR_BIT: + return "VK_IMAGE_ASPECT_COLOR_BIT"; + case VK_IMAGE_ASPECT_DEPTH_BIT: + return "VK_IMAGE_ASPECT_DEPTH_BIT"; + case VK_IMAGE_ASPECT_STENCIL_BIT: + return "VK_IMAGE_ASPECT_STENCIL_BIT"; + case VK_IMAGE_ASPECT_METADATA_BIT: + return "VK_IMAGE_ASPECT_METADATA_BIT"; + case VK_IMAGE_ASPECT_PLANE_0_BIT: + return "VK_IMAGE_ASPECT_PLANE_0_BIT"; + case VK_IMAGE_ASPECT_PLANE_1_BIT: + return "VK_IMAGE_ASPECT_PLANE_1_BIT"; + case VK_IMAGE_ASPECT_PLANE_2_BIT: + return "VK_IMAGE_ASPECT_PLANE_2_BIT"; + case VK_IMAGE_ASPECT_NONE: + return "VK_IMAGE_ASPECT_NONE"; + case VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT: + return "VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"; + case VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT: + return "VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"; + case VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT: + return "VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"; + case VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT: + return "VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"; default: - return "Unhandled VkSparseMemoryBindFlagBits"; + return "Unhandled VkImageAspectFlagBits"; } } #ifdef __cplusplus -static inline std::string string_VkSparseMemoryBindFlags(VkSparseMemoryBindFlags input_value) { +static inline std::string string_VkImageAspectFlags(VkImageAspectFlags input_value) { std::string ret; int index = 0; while(input_value) { if (input_value & 1) { if( !ret.empty()) ret.append("|"); - ret.append(string_VkSparseMemoryBindFlagBits(static_cast<VkSparseMemoryBindFlagBits>(1U << index))); + ret.append(string_VkImageAspectFlagBits(static_cast<VkImageAspectFlagBits>(1U << index))); } ++index; input_value >>= 1; } - if (ret.empty()) ret.append("VkSparseMemoryBindFlags(0)"); + if (ret.empty()) ret.append("VkImageAspectFlags(0)"); return ret; } #endif // __cplusplus @@ -5780,6 +6695,31 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkSparseMemoryBindFlagBits(VkSparseMemoryBindFlagBits input_value) { + switch (input_value) { + case VK_SPARSE_MEMORY_BIND_METADATA_BIT: + return "VK_SPARSE_MEMORY_BIND_METADATA_BIT"; + default: + return "Unhandled VkSparseMemoryBindFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkSparseMemoryBindFlags(VkSparseMemoryBindFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkSparseMemoryBindFlagBits(static_cast<VkSparseMemoryBindFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkSparseMemoryBindFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkFenceCreateFlagBits(VkFenceCreateFlagBits input_value) { switch (input_value) { case VK_FENCE_CREATE_SIGNALED_BIT: @@ -5805,28 +6745,28 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkEventCreateFlagBits(VkEventCreateFlagBits input_value) { +static inline const char* string_VkQueryPoolCreateFlagBits(VkQueryPoolCreateFlagBits input_value) { switch (input_value) { - case VK_EVENT_CREATE_DEVICE_ONLY_BIT: - return "VK_EVENT_CREATE_DEVICE_ONLY_BIT"; + case VK_QUERY_POOL_CREATE_RESET_BIT_KHR: + return "VK_QUERY_POOL_CREATE_RESET_BIT_KHR"; default: - return "Unhandled VkEventCreateFlagBits"; + return "Unhandled VkQueryPoolCreateFlagBits"; } } #ifdef __cplusplus -static inline std::string string_VkEventCreateFlags(VkEventCreateFlags input_value) { +static inline std::string string_VkQueryPoolCreateFlags(VkQueryPoolCreateFlags input_value) { std::string ret; int index = 0; while(input_value) { if (input_value & 1) { if( !ret.empty()) ret.append("|"); - ret.append(string_VkEventCreateFlagBits(static_cast<VkEventCreateFlagBits>(1U << index))); + ret.append(string_VkQueryPoolCreateFlagBits(static_cast<VkQueryPoolCreateFlagBits>(1U << index))); } ++index; input_value >>= 1; } - if (ret.empty()) ret.append("VkEventCreateFlags(0)"); + if (ret.empty()) ret.append("VkQueryPoolCreateFlags(0)"); return ret; } #endif // __cplusplus @@ -5987,6 +6927,8 @@ case VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX: return "VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX"; #endif // VK_ENABLE_BETA_EXTENSIONS + case VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT: + return "VK_BUFFER_USAGE_DESCRIPTOR_HEAP_BIT_EXT"; case VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR: return "VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR"; case VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR: @@ -6007,6 +6949,8 @@ return "VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT"; case VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT: return "VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT"; + case VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM: + return "VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM"; default: return "Unhandled VkBufferUsageFlagBits"; } @@ -6057,10 +7001,286 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkAccessFlagBits(VkAccessFlagBits input_value) { + switch (input_value) { + case VK_ACCESS_INDIRECT_COMMAND_READ_BIT: + return "VK_ACCESS_INDIRECT_COMMAND_READ_BIT"; + case VK_ACCESS_INDEX_READ_BIT: + return "VK_ACCESS_INDEX_READ_BIT"; + case VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT: + return "VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT"; + case VK_ACCESS_UNIFORM_READ_BIT: + return "VK_ACCESS_UNIFORM_READ_BIT"; + case VK_ACCESS_INPUT_ATTACHMENT_READ_BIT: + return "VK_ACCESS_INPUT_ATTACHMENT_READ_BIT"; + case VK_ACCESS_SHADER_READ_BIT: + return "VK_ACCESS_SHADER_READ_BIT"; + case VK_ACCESS_SHADER_WRITE_BIT: + return "VK_ACCESS_SHADER_WRITE_BIT"; + case VK_ACCESS_COLOR_ATTACHMENT_READ_BIT: + return "VK_ACCESS_COLOR_ATTACHMENT_READ_BIT"; + case VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT: + return "VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT"; + case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT: + return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT"; + case VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT: + return "VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT"; + case VK_ACCESS_TRANSFER_READ_BIT: + return "VK_ACCESS_TRANSFER_READ_BIT"; + case VK_ACCESS_TRANSFER_WRITE_BIT: + return "VK_ACCESS_TRANSFER_WRITE_BIT"; + case VK_ACCESS_HOST_READ_BIT: + return "VK_ACCESS_HOST_READ_BIT"; + case VK_ACCESS_HOST_WRITE_BIT: + return "VK_ACCESS_HOST_WRITE_BIT"; + case VK_ACCESS_MEMORY_READ_BIT: + return "VK_ACCESS_MEMORY_READ_BIT"; + case VK_ACCESS_MEMORY_WRITE_BIT: + return "VK_ACCESS_MEMORY_WRITE_BIT"; + case VK_ACCESS_NONE: + return "VK_ACCESS_NONE"; + case VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT: + return "VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"; + case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT: + return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"; + case VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT: + return "VK_ACCESS_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"; + case VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT: + return "VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT"; + case VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT: + return "VK_ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT"; + case VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR: + return "VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR"; + case VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR: + return "VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"; + case VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT: + return "VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT"; + case VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR: + return "VK_ACCESS_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"; + case VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT: + return "VK_ACCESS_COMMAND_PREPROCESS_READ_BIT_EXT"; + case VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT: + return "VK_ACCESS_COMMAND_PREPROCESS_WRITE_BIT_EXT"; + default: + return "Unhandled VkAccessFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkAccessFlags(VkAccessFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkAccessFlagBits(static_cast<VkAccessFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkAccessFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkDependencyFlagBits(VkDependencyFlagBits input_value) { + switch (input_value) { + case VK_DEPENDENCY_BY_REGION_BIT: + return "VK_DEPENDENCY_BY_REGION_BIT"; + case VK_DEPENDENCY_DEVICE_GROUP_BIT: + return "VK_DEPENDENCY_DEVICE_GROUP_BIT"; + case VK_DEPENDENCY_VIEW_LOCAL_BIT: + return "VK_DEPENDENCY_VIEW_LOCAL_BIT"; + case VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT: + return "VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT"; + case VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR: + return "VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR"; + case VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR: + return "VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR"; + default: + return "Unhandled VkDependencyFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDependencyFlags(VkDependencyFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDependencyFlagBits(static_cast<VkDependencyFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDependencyFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits input_value) { + switch (input_value) { + case VK_COMMAND_POOL_CREATE_TRANSIENT_BIT: + return "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"; + case VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT: + return "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"; + case VK_COMMAND_POOL_CREATE_PROTECTED_BIT: + return "VK_COMMAND_POOL_CREATE_PROTECTED_BIT"; + default: + return "Unhandled VkCommandPoolCreateFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkCommandPoolCreateFlags(VkCommandPoolCreateFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkCommandPoolCreateFlagBits(static_cast<VkCommandPoolCreateFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkCommandPoolCreateFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits input_value) { + switch (input_value) { + case VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT: + return "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"; + default: + return "Unhandled VkCommandPoolResetFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkCommandPoolResetFlags(VkCommandPoolResetFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkCommandPoolResetFlagBits(static_cast<VkCommandPoolResetFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkCommandPoolResetFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkQueryControlFlagBits(VkQueryControlFlagBits input_value) { + switch (input_value) { + case VK_QUERY_CONTROL_PRECISE_BIT: + return "VK_QUERY_CONTROL_PRECISE_BIT"; + default: + return "Unhandled VkQueryControlFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkQueryControlFlags(VkQueryControlFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkQueryControlFlagBits(static_cast<VkQueryControlFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkQueryControlFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits input_value) { + switch (input_value) { + case VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT: + return "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"; + case VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT: + return "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"; + case VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT: + return "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"; + default: + return "Unhandled VkCommandBufferUsageFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkCommandBufferUsageFlags(VkCommandBufferUsageFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkCommandBufferUsageFlagBits(static_cast<VkCommandBufferUsageFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkCommandBufferUsageFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits input_value) { + switch (input_value) { + case VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT: + return "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"; + default: + return "Unhandled VkCommandBufferResetFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkCommandBufferResetFlags(VkCommandBufferResetFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkCommandBufferResetFlagBits(static_cast<VkCommandBufferResetFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkCommandBufferResetFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkEventCreateFlagBits(VkEventCreateFlagBits input_value) { + switch (input_value) { + case VK_EVENT_CREATE_DEVICE_ONLY_BIT: + return "VK_EVENT_CREATE_DEVICE_ONLY_BIT"; + default: + return "Unhandled VkEventCreateFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkEventCreateFlags(VkEventCreateFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkEventCreateFlagBits(static_cast<VkEventCreateFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkEventCreateFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkPipelineCacheCreateFlagBits(VkPipelineCacheCreateFlagBits input_value) { switch (input_value) { case VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT: return "VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT"; + case VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR: + return "VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR"; default: return "Unhandled VkPipelineCacheCreateFlagBits"; } @@ -6082,37 +7302,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkColorComponentFlagBits(VkColorComponentFlagBits input_value) { - switch (input_value) { - case VK_COLOR_COMPONENT_R_BIT: - return "VK_COLOR_COMPONENT_R_BIT"; - case VK_COLOR_COMPONENT_G_BIT: - return "VK_COLOR_COMPONENT_G_BIT"; - case VK_COLOR_COMPONENT_B_BIT: - return "VK_COLOR_COMPONENT_B_BIT"; - case VK_COLOR_COMPONENT_A_BIT: - return "VK_COLOR_COMPONENT_A_BIT"; - default: - return "Unhandled VkColorComponentFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkColorComponentFlags(VkColorComponentFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkColorComponentFlagBits(static_cast<VkColorComponentFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkColorComponentFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits input_value) { switch (input_value) { case VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT: @@ -6121,10 +7310,10 @@ return "VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT"; case VK_PIPELINE_CREATE_DERIVATIVE_BIT: return "VK_PIPELINE_CREATE_DERIVATIVE_BIT"; - case VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT: - return "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"; case VK_PIPELINE_CREATE_DISPATCH_BASE_BIT: return "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"; + case VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT: + return "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"; case VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT: return "VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"; case VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT: @@ -6200,6 +7389,33 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkPipelineLayoutCreateFlagBits(VkPipelineLayoutCreateFlagBits input_value) { + switch (input_value) { + case VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT: + return "VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT"; + case VK_PIPELINE_LAYOUT_CREATE_NO_TASK_SHADER_BIT_KHR: + return "VK_PIPELINE_LAYOUT_CREATE_NO_TASK_SHADER_BIT_KHR"; + default: + return "Unhandled VkPipelineLayoutCreateFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPipelineLayoutCreateFlags(VkPipelineLayoutCreateFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPipelineLayoutCreateFlagBits(static_cast<VkPipelineLayoutCreateFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPipelineLayoutCreateFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkPipelineShaderStageCreateFlagBits(VkPipelineShaderStageCreateFlagBits input_value) { switch (input_value) { case VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT: @@ -6227,170 +7443,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkShaderStageFlagBits(VkShaderStageFlagBits input_value) { - switch (input_value) { - case VK_SHADER_STAGE_VERTEX_BIT: - return "VK_SHADER_STAGE_VERTEX_BIT"; - case VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT: - return "VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT"; - case VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT: - return "VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT"; - case VK_SHADER_STAGE_GEOMETRY_BIT: - return "VK_SHADER_STAGE_GEOMETRY_BIT"; - case VK_SHADER_STAGE_FRAGMENT_BIT: - return "VK_SHADER_STAGE_FRAGMENT_BIT"; - case VK_SHADER_STAGE_COMPUTE_BIT: - return "VK_SHADER_STAGE_COMPUTE_BIT"; - case VK_SHADER_STAGE_RAYGEN_BIT_KHR: - return "VK_SHADER_STAGE_RAYGEN_BIT_KHR"; - case VK_SHADER_STAGE_ANY_HIT_BIT_KHR: - return "VK_SHADER_STAGE_ANY_HIT_BIT_KHR"; - case VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR: - return "VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR"; - case VK_SHADER_STAGE_MISS_BIT_KHR: - return "VK_SHADER_STAGE_MISS_BIT_KHR"; - case VK_SHADER_STAGE_INTERSECTION_BIT_KHR: - return "VK_SHADER_STAGE_INTERSECTION_BIT_KHR"; - case VK_SHADER_STAGE_CALLABLE_BIT_KHR: - return "VK_SHADER_STAGE_CALLABLE_BIT_KHR"; - case VK_SHADER_STAGE_TASK_BIT_EXT: - return "VK_SHADER_STAGE_TASK_BIT_EXT"; - case VK_SHADER_STAGE_MESH_BIT_EXT: - return "VK_SHADER_STAGE_MESH_BIT_EXT"; - case VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI: - return "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"; - case VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI: - return "VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI"; - default: - return "Unhandled VkShaderStageFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkShaderStageFlags(VkShaderStageFlags input_value) { - if (input_value == VK_SHADER_STAGE_ALL_GRAPHICS) { return "VK_SHADER_STAGE_ALL_GRAPHICS"; } - if (input_value == VK_SHADER_STAGE_ALL) { return "VK_SHADER_STAGE_ALL"; } - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkShaderStageFlagBits(static_cast<VkShaderStageFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkShaderStageFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkCullModeFlagBits(VkCullModeFlagBits input_value) { - switch (input_value) { - case VK_CULL_MODE_NONE: - return "VK_CULL_MODE_NONE"; - case VK_CULL_MODE_FRONT_BIT: - return "VK_CULL_MODE_FRONT_BIT"; - case VK_CULL_MODE_BACK_BIT: - return "VK_CULL_MODE_BACK_BIT"; - default: - return "Unhandled VkCullModeFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkCullModeFlags(VkCullModeFlags input_value) { - if (input_value == VK_CULL_MODE_FRONT_AND_BACK) { return "VK_CULL_MODE_FRONT_AND_BACK"; } - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkCullModeFlagBits(static_cast<VkCullModeFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkCullModeFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkPipelineDepthStencilStateCreateFlagBits(VkPipelineDepthStencilStateCreateFlagBits input_value) { - switch (input_value) { - case VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT: - return "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT"; - case VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT: - return "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT"; - default: - return "Unhandled VkPipelineDepthStencilStateCreateFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkPipelineDepthStencilStateCreateFlags(VkPipelineDepthStencilStateCreateFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkPipelineDepthStencilStateCreateFlagBits(static_cast<VkPipelineDepthStencilStateCreateFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkPipelineDepthStencilStateCreateFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkPipelineColorBlendStateCreateFlagBits(VkPipelineColorBlendStateCreateFlagBits input_value) { - switch (input_value) { - case VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT: - return "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT"; - default: - return "Unhandled VkPipelineColorBlendStateCreateFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkPipelineColorBlendStateCreateFlags(VkPipelineColorBlendStateCreateFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkPipelineColorBlendStateCreateFlagBits(static_cast<VkPipelineColorBlendStateCreateFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkPipelineColorBlendStateCreateFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkPipelineLayoutCreateFlagBits(VkPipelineLayoutCreateFlagBits input_value) { - switch (input_value) { - case VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT: - return "VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT"; - default: - return "Unhandled VkPipelineLayoutCreateFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkPipelineLayoutCreateFlags(VkPipelineLayoutCreateFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkPipelineLayoutCreateFlagBits(static_cast<VkPipelineLayoutCreateFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkPipelineLayoutCreateFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkSamplerCreateFlagBits(VkSamplerCreateFlagBits input_value) { switch (input_value) { case VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT: @@ -6494,10 +7546,127 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkColorComponentFlagBits(VkColorComponentFlagBits input_value) { + switch (input_value) { + case VK_COLOR_COMPONENT_R_BIT: + return "VK_COLOR_COMPONENT_R_BIT"; + case VK_COLOR_COMPONENT_G_BIT: + return "VK_COLOR_COMPONENT_G_BIT"; + case VK_COLOR_COMPONENT_B_BIT: + return "VK_COLOR_COMPONENT_B_BIT"; + case VK_COLOR_COMPONENT_A_BIT: + return "VK_COLOR_COMPONENT_A_BIT"; + default: + return "Unhandled VkColorComponentFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkColorComponentFlags(VkColorComponentFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkColorComponentFlagBits(static_cast<VkColorComponentFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkColorComponentFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkCullModeFlagBits(VkCullModeFlagBits input_value) { + switch (input_value) { + case VK_CULL_MODE_NONE: + return "VK_CULL_MODE_NONE"; + case VK_CULL_MODE_FRONT_BIT: + return "VK_CULL_MODE_FRONT_BIT"; + case VK_CULL_MODE_BACK_BIT: + return "VK_CULL_MODE_BACK_BIT"; + default: + return "Unhandled VkCullModeFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkCullModeFlags(VkCullModeFlags input_value) { + if (input_value == VK_CULL_MODE_FRONT_AND_BACK) { return "VK_CULL_MODE_FRONT_AND_BACK"; } + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkCullModeFlagBits(static_cast<VkCullModeFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkCullModeFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkPipelineColorBlendStateCreateFlagBits(VkPipelineColorBlendStateCreateFlagBits input_value) { + switch (input_value) { + case VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT: + return "VK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT"; + default: + return "Unhandled VkPipelineColorBlendStateCreateFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPipelineColorBlendStateCreateFlags(VkPipelineColorBlendStateCreateFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPipelineColorBlendStateCreateFlagBits(static_cast<VkPipelineColorBlendStateCreateFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPipelineColorBlendStateCreateFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkPipelineDepthStencilStateCreateFlagBits(VkPipelineDepthStencilStateCreateFlagBits input_value) { + switch (input_value) { + case VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT: + return "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT"; + case VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT: + return "VK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT"; + default: + return "Unhandled VkPipelineDepthStencilStateCreateFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPipelineDepthStencilStateCreateFlags(VkPipelineDepthStencilStateCreateFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPipelineDepthStencilStateCreateFlagBits(static_cast<VkPipelineDepthStencilStateCreateFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPipelineDepthStencilStateCreateFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits input_value) { switch (input_value) { case VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT: return "VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT"; + case VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR: + return "VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR"; + case VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR: + return "VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR"; default: return "Unhandled VkAttachmentDescriptionFlagBits"; } @@ -6519,37 +7688,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkDependencyFlagBits(VkDependencyFlagBits input_value) { - switch (input_value) { - case VK_DEPENDENCY_BY_REGION_BIT: - return "VK_DEPENDENCY_BY_REGION_BIT"; - case VK_DEPENDENCY_DEVICE_GROUP_BIT: - return "VK_DEPENDENCY_DEVICE_GROUP_BIT"; - case VK_DEPENDENCY_VIEW_LOCAL_BIT: - return "VK_DEPENDENCY_VIEW_LOCAL_BIT"; - case VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT: - return "VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT"; - default: - return "Unhandled VkDependencyFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkDependencyFlags(VkDependencyFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkDependencyFlagBits(static_cast<VkDependencyFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkDependencyFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkFramebufferCreateFlagBits(VkFramebufferCreateFlagBits input_value) { switch (input_value) { case VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT: @@ -6579,6 +7717,8 @@ switch (input_value) { case VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM: return "VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM"; + case VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE: + return "VK_RENDER_PASS_CREATE_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE"; default: return "Unhandled VkRenderPassCreateFlagBits"; } @@ -6606,10 +7746,8 @@ return "VK_SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX"; case VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX: return "VK_SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX"; - case VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM: - return "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM"; - case VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM: - return "VK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM"; + case VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM: + return "VK_SUBPASS_DESCRIPTION_TILE_SHADING_APRON_BIT_QCOM"; case VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT: return "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT"; case VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT: @@ -6618,6 +7756,10 @@ return "VK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT"; case VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT: return "VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT"; + case VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT: + return "VK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_EXT"; + case VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT: + return "VK_SUBPASS_DESCRIPTION_CUSTOM_RESOLVE_BIT_EXT"; default: return "Unhandled VkSubpassDescriptionFlagBits"; } @@ -6639,139 +7781,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits input_value) { - switch (input_value) { - case VK_COMMAND_POOL_CREATE_TRANSIENT_BIT: - return "VK_COMMAND_POOL_CREATE_TRANSIENT_BIT"; - case VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT: - return "VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT"; - case VK_COMMAND_POOL_CREATE_PROTECTED_BIT: - return "VK_COMMAND_POOL_CREATE_PROTECTED_BIT"; - default: - return "Unhandled VkCommandPoolCreateFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkCommandPoolCreateFlags(VkCommandPoolCreateFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkCommandPoolCreateFlagBits(static_cast<VkCommandPoolCreateFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkCommandPoolCreateFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits input_value) { - switch (input_value) { - case VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT: - return "VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT"; - default: - return "Unhandled VkCommandPoolResetFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkCommandPoolResetFlags(VkCommandPoolResetFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkCommandPoolResetFlagBits(static_cast<VkCommandPoolResetFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkCommandPoolResetFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits input_value) { - switch (input_value) { - case VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT: - return "VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT"; - case VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT: - return "VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT"; - case VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT: - return "VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT"; - default: - return "Unhandled VkCommandBufferUsageFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkCommandBufferUsageFlags(VkCommandBufferUsageFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkCommandBufferUsageFlagBits(static_cast<VkCommandBufferUsageFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkCommandBufferUsageFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkQueryControlFlagBits(VkQueryControlFlagBits input_value) { - switch (input_value) { - case VK_QUERY_CONTROL_PRECISE_BIT: - return "VK_QUERY_CONTROL_PRECISE_BIT"; - default: - return "Unhandled VkQueryControlFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkQueryControlFlags(VkQueryControlFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkQueryControlFlagBits(static_cast<VkQueryControlFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkQueryControlFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits input_value) { - switch (input_value) { - case VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT: - return "VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT"; - default: - return "Unhandled VkCommandBufferResetFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkCommandBufferResetFlags(VkCommandBufferResetFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkCommandBufferResetFlagBits(static_cast<VkCommandBufferResetFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkCommandBufferResetFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkStencilFaceFlagBits(VkStencilFaceFlagBits input_value) { switch (input_value) { case VK_STENCIL_FACE_FRONT_BIT: @@ -6822,8 +7831,8 @@ return "VK_SUBGROUP_FEATURE_ROTATE_BIT"; case VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT: return "VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT"; - case VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV: - return "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV"; + case VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT: + return "VK_SUBGROUP_FEATURE_PARTITIONED_BIT_EXT"; default: return "Unhandled VkSubgroupFeatureFlagBits"; } @@ -6884,6 +7893,8 @@ return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT"; case VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT: return "VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT"; + case VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT: + return "VK_MEMORY_ALLOCATE_ZERO_INITIALIZE_BIT_EXT"; default: return "Unhandled VkMemoryAllocateFlagBits"; } @@ -6933,8 +7944,16 @@ return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA"; case VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV: return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV"; + case VK_EXTERNAL_MEMORY_HANDLE_TYPE_OH_NATIVE_BUFFER_BIT_OHOS: + return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_OH_NATIVE_BUFFER_BIT_OHOS"; case VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX: return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX"; + case VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT: + return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT"; + case VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT: + return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT"; + case VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT: + return "VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT"; default: return "Unhandled VkExternalMemoryHandleTypeFlagBits"; } @@ -7167,8 +8186,10 @@ return "VK_RESOLVE_MODE_MIN_BIT"; case VK_RESOLVE_MODE_MAX_BIT: return "VK_RESOLVE_MODE_MAX_BIT"; - case VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID: - return "VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID"; + case VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID: + return "VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_BIT_ANDROID"; + case VK_RESOLVE_MODE_CUSTOM_BIT_EXT: + return "VK_RESOLVE_MODE_CUSTOM_BIT_EXT"; default: return "Unhandled VkResolveModeFlagBits"; } @@ -7190,6 +8211,31 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkSemaphoreWaitFlagBits(VkSemaphoreWaitFlagBits input_value) { + switch (input_value) { + case VK_SEMAPHORE_WAIT_ANY_BIT: + return "VK_SEMAPHORE_WAIT_ANY_BIT"; + default: + return "Unhandled VkSemaphoreWaitFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkSemaphoreWaitFlags(VkSemaphoreWaitFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkSemaphoreWaitFlagBits(static_cast<VkSemaphoreWaitFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkSemaphoreWaitFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkDescriptorBindingFlagBits(VkDescriptorBindingFlagBits input_value) { switch (input_value) { case VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT: @@ -7221,60 +8267,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkSemaphoreWaitFlagBits(VkSemaphoreWaitFlagBits input_value) { - switch (input_value) { - case VK_SEMAPHORE_WAIT_ANY_BIT: - return "VK_SEMAPHORE_WAIT_ANY_BIT"; - default: - return "Unhandled VkSemaphoreWaitFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkSemaphoreWaitFlags(VkSemaphoreWaitFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkSemaphoreWaitFlagBits(static_cast<VkSemaphoreWaitFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkSemaphoreWaitFlags(0)"); - return ret; -} -#endif // __cplusplus -static inline const char* string_VkPipelineCreationFeedbackFlagBits(VkPipelineCreationFeedbackFlagBits input_value) { - switch (input_value) { - case VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT: - return "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT"; - case VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT: - return "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT"; - case VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT: - return "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT"; - default: - return "Unhandled VkPipelineCreationFeedbackFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkPipelineCreationFeedbackFlags(VkPipelineCreationFeedbackFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkPipelineCreationFeedbackFlagBits(static_cast<VkPipelineCreationFeedbackFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkPipelineCreationFeedbackFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkToolPurposeFlagBits(VkToolPurposeFlagBits input_value) { switch (input_value) { case VK_TOOL_PURPOSE_VALIDATION_BIT: @@ -7342,7 +8334,7 @@ if (input_value == VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR) return "VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR"; if (input_value == VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT) return "VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT"; if (input_value == VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT) return "VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT"; - if (input_value == VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV) return "VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV"; + if (input_value == VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT) return "VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_EXT"; if (input_value == VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR) return "VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"; if (input_value == VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR) return "VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR"; if (input_value == VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR) return "VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR"; @@ -7355,6 +8347,10 @@ if (input_value == VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT) return "VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT"; if (input_value == VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI) return "VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI"; if (input_value == VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV) return "VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV"; + if (input_value == VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV) return "VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV"; + if (input_value == VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM) return "VK_PIPELINE_STAGE_2_DATA_GRAPH_BIT_ARM"; + if (input_value == VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR) return "VK_PIPELINE_STAGE_2_COPY_INDIRECT_BIT_KHR"; + if (input_value == VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT) return "VK_PIPELINE_STAGE_2_MEMORY_DECOMPRESSION_BIT_EXT"; return "Unhandled VkPipelineStageFlagBits2"; } @@ -7398,14 +8394,18 @@ if (input_value == VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT) return "VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT"; if (input_value == VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR) return "VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR"; if (input_value == VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR) return "VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR"; + if (input_value == VK_ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT) return "VK_ACCESS_2_SAMPLER_HEAP_READ_BIT_EXT"; + if (input_value == VK_ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT) return "VK_ACCESS_2_RESOURCE_HEAP_READ_BIT_EXT"; if (input_value == VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR) return "VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR"; if (input_value == VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR) return "VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR"; + if (input_value == VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM) return "VK_ACCESS_2_SHADER_TILE_ATTACHMENT_READ_BIT_QCOM"; + if (input_value == VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM) return "VK_ACCESS_2_SHADER_TILE_ATTACHMENT_WRITE_BIT_QCOM"; if (input_value == VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT) return "VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT"; if (input_value == VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT) return "VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT"; if (input_value == VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT) return "VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT"; if (input_value == VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT) return "VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT"; - if (input_value == VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV) return "VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV"; - if (input_value == VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV) return "VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV"; + if (input_value == VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT) return "VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_EXT"; + if (input_value == VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT) return "VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_EXT"; if (input_value == VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR) return "VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR"; if (input_value == VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR) return "VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR"; if (input_value == VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR) return "VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR"; @@ -7418,6 +8418,10 @@ if (input_value == VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT) return "VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT"; if (input_value == VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV) return "VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV"; if (input_value == VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV) return "VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV"; + if (input_value == VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM) return "VK_ACCESS_2_DATA_GRAPH_READ_BIT_ARM"; + if (input_value == VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM) return "VK_ACCESS_2_DATA_GRAPH_WRITE_BIT_ARM"; + if (input_value == VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT) return "VK_ACCESS_2_MEMORY_DECOMPRESSION_READ_BIT_EXT"; + if (input_value == VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT) return "VK_ACCESS_2_MEMORY_DECOMPRESSION_WRITE_BIT_EXT"; return "Unhandled VkAccessFlagBits2"; } @@ -7462,39 +8466,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkRenderingFlagBits(VkRenderingFlagBits input_value) { - switch (input_value) { - case VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT: - return "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT"; - case VK_RENDERING_SUSPENDING_BIT: - return "VK_RENDERING_SUSPENDING_BIT"; - case VK_RENDERING_RESUMING_BIT: - return "VK_RENDERING_RESUMING_BIT"; - case VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT: - return "VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT"; - case VK_RENDERING_CONTENTS_INLINE_BIT_KHR: - return "VK_RENDERING_CONTENTS_INLINE_BIT_KHR"; - default: - return "Unhandled VkRenderingFlagBits"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkRenderingFlags(VkRenderingFlags input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkRenderingFlagBits(static_cast<VkRenderingFlagBits>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkRenderingFlags(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkFormatFeatureFlagBits2(uint64_t input_value) { if (input_value == VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT) return "VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT"; if (input_value == VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT) return "VK_FORMAT_FEATURE_2_STORAGE_IMAGE_BIT"; @@ -7531,16 +8502,28 @@ if (input_value == VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR) return "VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"; if (input_value == VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR) return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR"; if (input_value == VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR) return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR"; + if (input_value == VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV) return "VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV"; if (input_value == VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV) return "VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV"; if (input_value == VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM) return "VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM"; if (input_value == VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM) return "VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM"; if (input_value == VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM) return "VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM"; if (input_value == VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM) return "VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM"; + if (input_value == VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM) return "VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM"; + if (input_value == VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM) return "VK_FORMAT_FEATURE_2_TENSOR_IMAGE_ALIASING_BIT_ARM"; if (input_value == VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV) return "VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV"; if (input_value == VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV) return "VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV"; if (input_value == VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV) return "VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV"; + if (input_value == VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM) return "VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM"; + if (input_value == VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR) return "VK_FORMAT_FEATURE_2_COPY_IMAGE_INDIRECT_DST_BIT_KHR"; if (input_value == VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR) return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR"; if (input_value == VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR) return "VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR"; + if (input_value == VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR) return "VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR"; + if (input_value == VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR) return "VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR"; + if (input_value == VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR) return "VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR"; + if (input_value == VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR) return "VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR"; + if (input_value == VK_FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_IMAGE_BIT_ARM) return "VK_FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_IMAGE_BIT_ARM"; + if (input_value == VK_FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_VECTOR_BIT_ARM) return "VK_FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_VECTOR_BIT_ARM"; + if (input_value == VK_FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_COST_BIT_ARM) return "VK_FORMAT_FEATURE_2_DATA_GRAPH_OPTICAL_FLOW_COST_BIT_ARM"; return "Unhandled VkFormatFeatureFlagBits2"; } @@ -7560,6 +8543,76 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkPipelineCreationFeedbackFlagBits(VkPipelineCreationFeedbackFlagBits input_value) { + switch (input_value) { + case VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT: + return "VK_PIPELINE_CREATION_FEEDBACK_VALID_BIT"; + case VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT: + return "VK_PIPELINE_CREATION_FEEDBACK_APPLICATION_PIPELINE_CACHE_HIT_BIT"; + case VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT: + return "VK_PIPELINE_CREATION_FEEDBACK_BASE_PIPELINE_ACCELERATION_BIT"; + default: + return "Unhandled VkPipelineCreationFeedbackFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPipelineCreationFeedbackFlags(VkPipelineCreationFeedbackFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPipelineCreationFeedbackFlagBits(static_cast<VkPipelineCreationFeedbackFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPipelineCreationFeedbackFlags(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkRenderingFlagBits(VkRenderingFlagBits input_value) { + switch (input_value) { + case VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT: + return "VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT"; + case VK_RENDERING_SUSPENDING_BIT: + return "VK_RENDERING_SUSPENDING_BIT"; + case VK_RENDERING_RESUMING_BIT: + return "VK_RENDERING_RESUMING_BIT"; + case VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT: + return "VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT"; + case VK_RENDERING_CONTENTS_INLINE_BIT_KHR: + return "VK_RENDERING_CONTENTS_INLINE_BIT_KHR"; + case VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE: + return "VK_RENDERING_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE"; + case VK_RENDERING_FRAGMENT_REGION_BIT_EXT: + return "VK_RENDERING_FRAGMENT_REGION_BIT_EXT"; + case VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT: + return "VK_RENDERING_CUSTOM_RESOLVE_BIT_EXT"; + case VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR: + return "VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR"; + default: + return "Unhandled VkRenderingFlagBits"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkRenderingFlags(VkRenderingFlags input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkRenderingFlagBits(static_cast<VkRenderingFlagBits>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkRenderingFlags(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkMemoryUnmapFlagBits(VkMemoryUnmapFlagBits input_value) { switch (input_value) { case VK_MEMORY_UNMAP_RESERVE_BIT_EXT: @@ -7585,63 +8638,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkPipelineCreateFlagBits2(uint64_t input_value) { - if (input_value == VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT) return "VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT) return "VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_DERIVATIVE_BIT) return "VK_PIPELINE_CREATE_2_DERIVATIVE_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT) return "VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT) return "VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT) return "VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT) return "VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT) return "VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT"; - if (input_value == VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT) return "VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT"; -#ifdef VK_ENABLE_BETA_EXTENSIONS - if (input_value == VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX) return "VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX"; -#endif // VK_ENABLE_BETA_EXTENSIONS - if (input_value == VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT) return "VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV) return "VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV"; - if (input_value == VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR) return "VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR) return "VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT) return "VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT) return "VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR) return "VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV) return "VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV) return "VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV"; - if (input_value == VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR) return "VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT) return "VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT) return "VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT) return "VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT) return "VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV) return "VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV"; - if (input_value == VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT) return "VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT"; - if (input_value == VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR) return "VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR"; - if (input_value == VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT) return "VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT"; - return "Unhandled VkPipelineCreateFlagBits2"; -} - -#ifdef __cplusplus -static inline std::string string_VkPipelineCreateFlags2(VkPipelineCreateFlags2 input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkPipelineCreateFlagBits2(static_cast<uint64_t>(1ULL << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkPipelineCreateFlags2(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkBufferUsageFlagBits2(uint64_t input_value) { if (input_value == VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT) return "VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT"; if (input_value == VK_BUFFER_USAGE_2_TRANSFER_DST_BIT) return "VK_BUFFER_USAGE_2_TRANSFER_DST_BIT"; @@ -7656,6 +8652,7 @@ #ifdef VK_ENABLE_BETA_EXTENSIONS if (input_value == VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX) return "VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX"; #endif // VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT) return "VK_BUFFER_USAGE_2_DESCRIPTOR_HEAP_BIT_EXT"; if (input_value == VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT) return "VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT"; if (input_value == VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR) return "VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR"; if (input_value == VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT) return "VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT"; @@ -7671,6 +8668,12 @@ if (input_value == VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT) return "VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT"; if (input_value == VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT) return "VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT"; if (input_value == VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT) return "VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX) return "VK_BUFFER_USAGE_2_COMPRESSED_DATA_DGF1_BIT_AMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_BUFFER_USAGE_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM) return "VK_BUFFER_USAGE_2_DATA_GRAPH_FOREIGN_DESCRIPTOR_BIT_ARM"; + if (input_value == VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM) return "VK_BUFFER_USAGE_2_TILE_MEMORY_BIT_QCOM"; + if (input_value == VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT) return "VK_BUFFER_USAGE_2_MEMORY_DECOMPRESSION_BIT_EXT"; if (input_value == VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT) return "VK_BUFFER_USAGE_2_PREPROCESS_BUFFER_BIT_EXT"; return "Unhandled VkBufferUsageFlagBits2"; } @@ -7693,8 +8696,8 @@ #endif // __cplusplus static inline const char* string_VkHostImageCopyFlagBits(VkHostImageCopyFlagBits input_value) { switch (input_value) { - case VK_HOST_IMAGE_COPY_MEMCPY: - return "VK_HOST_IMAGE_COPY_MEMCPY"; + case VK_HOST_IMAGE_COPY_MEMCPY_BIT: + return "VK_HOST_IMAGE_COPY_MEMCPY_BIT"; default: return "Unhandled VkHostImageCopyFlagBits"; } @@ -7716,6 +8719,71 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkPipelineCreateFlagBits2(uint64_t input_value) { + if (input_value == VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT) return "VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT) return "VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_DERIVATIVE_BIT) return "VK_PIPELINE_CREATE_2_DERIVATIVE_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT) return "VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT) return "VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT) return "VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT) return "VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT) return "VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT"; + if (input_value == VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT) return "VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX) return "VK_PIPELINE_CREATE_2_EXECUTION_GRAPH_BIT_AMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_PIPELINE_CREATE_2_DESCRIPTOR_HEAP_BIT_EXT) return "VK_PIPELINE_CREATE_2_DESCRIPTOR_HEAP_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV) return "VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV"; + if (input_value == VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT) return "VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV) return "VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV"; + if (input_value == VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR) return "VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR) return "VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT) return "VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT) return "VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR) return "VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR) return "VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV) return "VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV) return "VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV"; + if (input_value == VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR) return "VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT) return "VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT) return "VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT) return "VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT) return "VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV) return "VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV"; +#endif // VK_ENABLE_BETA_EXTENSIONS + if (input_value == VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT) return "VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM) return "VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM"; + if (input_value == VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM) return "VK_PIPELINE_CREATE_2_INSTRUMENT_SHADERS_BIT_ARM"; + if (input_value == VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR) return "VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR"; + if (input_value == VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT) return "VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT"; + if (input_value == VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE) return "VK_PIPELINE_CREATE_2_PER_LAYER_FRAGMENT_DENSITY_BIT_VALVE"; + if (input_value == VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT) return "VK_PIPELINE_CREATE_2_64_BIT_INDEXING_BIT_EXT"; + return "Unhandled VkPipelineCreateFlagBits2"; +} + +#ifdef __cplusplus +static inline std::string string_VkPipelineCreateFlags2(VkPipelineCreateFlags2 input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPipelineCreateFlagBits2(static_cast<uint64_t>(1ULL << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPipelineCreateFlags2(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkSurfaceTransformFlagBitsKHR(VkSurfaceTransformFlagBitsKHR input_value) { switch (input_value) { case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR: @@ -7796,8 +8864,14 @@ return "VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR"; case VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR: return "VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR"; - case VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT: - return "VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT"; + case VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT: + return "VK_SWAPCHAIN_CREATE_PRESENT_TIMING_BIT_EXT"; + case VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR: + return "VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR"; + case VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR: + return "VK_SWAPCHAIN_CREATE_PRESENT_WAIT_2_BIT_KHR"; + case VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR: + return "VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR"; default: return "Unhandled VkSwapchainCreateFlagBitsKHR"; } @@ -7897,6 +8971,8 @@ return "VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR"; case VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR: return "VK_VIDEO_CODEC_OPERATION_ENCODE_AV1_BIT_KHR"; + case VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR: + return "VK_VIDEO_CODEC_OPERATION_DECODE_VP9_BIT_KHR"; default: return "Unhandled VkVideoCodecOperationFlagBitsKHR"; } @@ -8021,6 +9097,8 @@ return "VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR"; case VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR: return "VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR"; + case VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR: + return "VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR"; default: return "Unhandled VkVideoSessionCreateFlagBitsKHR"; } @@ -8174,6 +9252,8 @@ return "VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR"; case VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR: return "VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR"; + case VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR: + return "VK_VIDEO_ENCODE_H264_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR"; case VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR: return "VK_VIDEO_ENCODE_H264_CAPABILITY_MB_QP_DIFF_WRAPAROUND_BIT_KHR"; default: @@ -8315,6 +9395,8 @@ return "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR"; case VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR: return "VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR"; + case VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR: + return "VK_VIDEO_ENCODE_H265_CAPABILITY_B_PICTURE_INTRA_REFRESH_BIT_KHR"; case VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR: return "VK_VIDEO_ENCODE_H265_CAPABILITY_CU_QP_DIFF_WRAPAROUND_BIT_KHR"; default: @@ -8554,6 +9636,8 @@ #endif // __cplusplus static inline const char* string_VkVideoEncodeFlagBitsKHR(VkVideoEncodeFlagBitsKHR input_value) { switch (input_value) { + case VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR: + return "VK_VIDEO_ENCODE_INTRA_REFRESH_BIT_KHR"; case VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR: return "VK_VIDEO_ENCODE_WITH_QUANTIZATION_DELTA_MAP_BIT_KHR"; case VK_VIDEO_ENCODE_WITH_EMPHASIS_MAP_BIT_KHR: @@ -8734,6 +9818,153 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkAddressCommandFlagBitsKHR(VkAddressCommandFlagBitsKHR input_value) { + switch (input_value) { + case VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR: + return "VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR"; + case VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR: + return "VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR"; + case VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR: + return "VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR"; + case VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR: + return "VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR"; + case VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR: + return "VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR"; + case VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR: + return "VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR"; + default: + return "Unhandled VkAddressCommandFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkAddressCommandFlagsKHR(VkAddressCommandFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkAddressCommandFlagBitsKHR(static_cast<VkAddressCommandFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkAddressCommandFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkConditionalRenderingFlagBitsEXT(VkConditionalRenderingFlagBitsEXT input_value) { + switch (input_value) { + case VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT: + return "VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"; + default: + return "Unhandled VkConditionalRenderingFlagBitsEXT"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkConditionalRenderingFlagsEXT(VkConditionalRenderingFlagsEXT input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkConditionalRenderingFlagBitsEXT(static_cast<VkConditionalRenderingFlagBitsEXT>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkConditionalRenderingFlagsEXT(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkAccelerationStructureCreateFlagBitsKHR(VkAccelerationStructureCreateFlagBitsKHR input_value) { + switch (input_value) { + case VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR: + return "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"; + case VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT: + return "VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"; + case VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV: + return "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV"; + default: + return "Unhandled VkAccelerationStructureCreateFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkAccelerationStructureCreateFlagsKHR(VkAccelerationStructureCreateFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkAccelerationStructureCreateFlagBitsKHR(static_cast<VkAccelerationStructureCreateFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkAccelerationStructureCreateFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkPresentScalingFlagBitsKHR(VkPresentScalingFlagBitsKHR input_value) { + switch (input_value) { + case VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR: + return "VK_PRESENT_SCALING_ONE_TO_ONE_BIT_KHR"; + case VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR: + return "VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_KHR"; + case VK_PRESENT_SCALING_STRETCH_BIT_KHR: + return "VK_PRESENT_SCALING_STRETCH_BIT_KHR"; + default: + return "Unhandled VkPresentScalingFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPresentScalingFlagsKHR(VkPresentScalingFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPresentScalingFlagBitsKHR(static_cast<VkPresentScalingFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPresentScalingFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkPresentGravityFlagBitsKHR(VkPresentGravityFlagBitsKHR input_value) { + switch (input_value) { + case VK_PRESENT_GRAVITY_MIN_BIT_KHR: + return "VK_PRESENT_GRAVITY_MIN_BIT_KHR"; + case VK_PRESENT_GRAVITY_MAX_BIT_KHR: + return "VK_PRESENT_GRAVITY_MAX_BIT_KHR"; + case VK_PRESENT_GRAVITY_CENTERED_BIT_KHR: + return "VK_PRESENT_GRAVITY_CENTERED_BIT_KHR"; + default: + return "Unhandled VkPresentGravityFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPresentGravityFlagsKHR(VkPresentGravityFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPresentGravityFlagBitsKHR(static_cast<VkPresentGravityFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPresentGravityFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkVideoEncodeAV1CapabilityFlagBitsKHR(VkVideoEncodeAV1CapabilityFlagBitsKHR input_value) { switch (input_value) { case VK_VIDEO_ENCODE_AV1_CAPABILITY_PER_RATE_CONTROL_GROUP_MIN_MAX_Q_INDEX_BIT_KHR: @@ -8746,6 +9977,8 @@ return "VK_VIDEO_ENCODE_AV1_CAPABILITY_FRAME_SIZE_OVERRIDE_BIT_KHR"; case VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR: return "VK_VIDEO_ENCODE_AV1_CAPABILITY_MOTION_VECTOR_SCALING_BIT_KHR"; + case VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR: + return "VK_VIDEO_ENCODE_AV1_CAPABILITY_COMPOUND_PREDICTION_INTRA_REFRESH_BIT_KHR"; default: return "Unhandled VkVideoEncodeAV1CapabilityFlagBitsKHR"; } @@ -8856,6 +10089,180 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkAddressCopyFlagBitsKHR(VkAddressCopyFlagBitsKHR input_value) { + switch (input_value) { + case VK_ADDRESS_COPY_DEVICE_LOCAL_BIT_KHR: + return "VK_ADDRESS_COPY_DEVICE_LOCAL_BIT_KHR"; + case VK_ADDRESS_COPY_SPARSE_BIT_KHR: + return "VK_ADDRESS_COPY_SPARSE_BIT_KHR"; + case VK_ADDRESS_COPY_PROTECTED_BIT_KHR: + return "VK_ADDRESS_COPY_PROTECTED_BIT_KHR"; + default: + return "Unhandled VkAddressCopyFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkAddressCopyFlagsKHR(VkAddressCopyFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkAddressCopyFlagBitsKHR(static_cast<VkAddressCopyFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkAddressCopyFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkVideoEncodeIntraRefreshModeFlagBitsKHR(VkVideoEncodeIntraRefreshModeFlagBitsKHR input_value) { + switch (input_value) { + case VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR: + return "VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_NONE_KHR"; + case VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR: + return "VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_PER_PICTURE_PARTITION_BIT_KHR"; + case VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR: + return "VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_BASED_BIT_KHR"; + case VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR: + return "VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_ROW_BASED_BIT_KHR"; + case VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR: + return "VK_VIDEO_ENCODE_INTRA_REFRESH_MODE_BLOCK_COLUMN_BASED_BIT_KHR"; + default: + return "Unhandled VkVideoEncodeIntraRefreshModeFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkVideoEncodeIntraRefreshModeFlagsKHR(VkVideoEncodeIntraRefreshModeFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkVideoEncodeIntraRefreshModeFlagBitsKHR(static_cast<VkVideoEncodeIntraRefreshModeFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkVideoEncodeIntraRefreshModeFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkDeviceFaultFlagBitsKHR(VkDeviceFaultFlagBitsKHR input_value) { + switch (input_value) { + case VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR: + return "VK_DEVICE_FAULT_FLAG_DEVICE_LOST_KHR"; + case VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR: + return "VK_DEVICE_FAULT_FLAG_MEMORY_ADDRESS_KHR"; + case VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR: + return "VK_DEVICE_FAULT_FLAG_INSTRUCTION_ADDRESS_KHR"; + case VK_DEVICE_FAULT_FLAG_VENDOR_KHR: + return "VK_DEVICE_FAULT_FLAG_VENDOR_KHR"; + case VK_DEVICE_FAULT_FLAG_WATCHDOG_TIMEOUT_KHR: + return "VK_DEVICE_FAULT_FLAG_WATCHDOG_TIMEOUT_KHR"; + case VK_DEVICE_FAULT_FLAG_OVERFLOW_KHR: + return "VK_DEVICE_FAULT_FLAG_OVERFLOW_KHR"; + default: + return "Unhandled VkDeviceFaultFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDeviceFaultFlagsKHR(VkDeviceFaultFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDeviceFaultFlagBitsKHR(static_cast<VkDeviceFaultFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDeviceFaultFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkAccessFlagBits3KHR(uint64_t input_value) { + if (input_value == VK_ACCESS_3_NONE_KHR) return "VK_ACCESS_3_NONE_KHR"; + return "Unhandled VkAccessFlagBits3KHR"; +} + +#ifdef __cplusplus +static inline std::string string_VkAccessFlags3KHR(VkAccessFlags3KHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkAccessFlagBits3KHR(static_cast<uint64_t>(1ULL << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkAccessFlags3KHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkRenderingAttachmentFlagBitsKHR(VkRenderingAttachmentFlagBitsKHR input_value) { + switch (input_value) { + case VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR: + return "VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR"; + case VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR: + return "VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR"; + case VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR: + return "VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR"; + default: + return "Unhandled VkRenderingAttachmentFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkRenderingAttachmentFlagsKHR(VkRenderingAttachmentFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkRenderingAttachmentFlagBitsKHR(static_cast<VkRenderingAttachmentFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkRenderingAttachmentFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkResolveImageFlagBitsKHR(VkResolveImageFlagBitsKHR input_value) { + switch (input_value) { + case VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR: + return "VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR"; + case VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR: + return "VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR"; + default: + return "Unhandled VkResolveImageFlagBitsKHR"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkResolveImageFlagsKHR(VkResolveImageFlagsKHR input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkResolveImageFlagBitsKHR(static_cast<VkResolveImageFlagBitsKHR>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkResolveImageFlagsKHR(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkDebugReportFlagBitsEXT(VkDebugReportFlagBitsEXT input_value) { switch (input_value) { case VK_DEBUG_REPORT_INFORMATION_BIT_EXT: @@ -8949,31 +10356,6 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkConditionalRenderingFlagBitsEXT(VkConditionalRenderingFlagBitsEXT input_value) { - switch (input_value) { - case VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT: - return "VK_CONDITIONAL_RENDERING_INVERTED_BIT_EXT"; - default: - return "Unhandled VkConditionalRenderingFlagBitsEXT"; - } -} - -#ifdef __cplusplus -static inline std::string string_VkConditionalRenderingFlagsEXT(VkConditionalRenderingFlagsEXT input_value) { - std::string ret; - int index = 0; - while(input_value) { - if (input_value & 1) { - if( !ret.empty()) ret.append("|"); - ret.append(string_VkConditionalRenderingFlagBitsEXT(static_cast<VkConditionalRenderingFlagBitsEXT>(1U << index))); - } - ++index; - input_value >>= 1; - } - if (ret.empty()) ret.append("VkConditionalRenderingFlagsEXT(0)"); - return ret; -} -#endif // __cplusplus static inline const char* string_VkSurfaceCounterFlagBitsEXT(VkSurfaceCounterFlagBitsEXT input_value) { switch (input_value) { case VK_SURFACE_COUNTER_VBLANK_BIT_EXT: @@ -9061,6 +10443,71 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkTensorViewCreateFlagBitsARM(uint64_t input_value) { + if (input_value == VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM) return "VK_TENSOR_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM"; + return "Unhandled VkTensorViewCreateFlagBitsARM"; +} + +#ifdef __cplusplus +static inline std::string string_VkTensorViewCreateFlagsARM(VkTensorViewCreateFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkTensorViewCreateFlagBitsARM(static_cast<uint64_t>(1ULL << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkTensorViewCreateFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkSpirvResourceTypeFlagBitsEXT(VkSpirvResourceTypeFlagBitsEXT input_value) { + switch (input_value) { + case VK_SPIRV_RESOURCE_TYPE_SAMPLER_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_SAMPLER_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_SAMPLED_IMAGE_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_SAMPLED_IMAGE_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_READ_ONLY_IMAGE_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_READ_ONLY_IMAGE_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_READ_WRITE_IMAGE_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_READ_WRITE_IMAGE_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_COMBINED_SAMPLED_IMAGE_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_COMBINED_SAMPLED_IMAGE_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_UNIFORM_BUFFER_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_UNIFORM_BUFFER_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_READ_ONLY_STORAGE_BUFFER_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_READ_ONLY_STORAGE_BUFFER_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_READ_WRITE_STORAGE_BUFFER_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_READ_WRITE_STORAGE_BUFFER_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_ACCELERATION_STRUCTURE_BIT_EXT: + return "VK_SPIRV_RESOURCE_TYPE_ACCELERATION_STRUCTURE_BIT_EXT"; + case VK_SPIRV_RESOURCE_TYPE_TENSOR_BIT_ARM: + return "VK_SPIRV_RESOURCE_TYPE_TENSOR_BIT_ARM"; + default: + return "Unhandled VkSpirvResourceTypeFlagBitsEXT"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkSpirvResourceTypeFlagsEXT(VkSpirvResourceTypeFlagsEXT input_value) { + if (input_value == VK_SPIRV_RESOURCE_TYPE_ALL_EXT) { return "VK_SPIRV_RESOURCE_TYPE_ALL_EXT"; } + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkSpirvResourceTypeFlagBitsEXT(static_cast<VkSpirvResourceTypeFlagBitsEXT>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkSpirvResourceTypeFlagsEXT(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkGeometryFlagBitsKHR(VkGeometryFlagBitsKHR input_value) { switch (input_value) { case VK_GEOMETRY_OPAQUE_BIT_KHR: @@ -9098,10 +10545,10 @@ return "VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR"; case VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR: return "VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR"; - case VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT: - return "VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT"; - case VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT: - return "VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT"; + case VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT: + return "VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT"; + case VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT: + return "VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT"; default: return "Unhandled VkGeometryInstanceFlagBitsKHR"; } @@ -9137,18 +10584,20 @@ return "VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR"; case VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV: return "VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV"; - case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT: - return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT"; - case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT: - return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT"; - case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT: - return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT"; + case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT: + return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT"; + case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT: + return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT"; + case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT: + return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT"; #ifdef VK_ENABLE_BETA_EXTENSIONS - case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV: - return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV"; + case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV: + return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV"; #endif // VK_ENABLE_BETA_EXTENSIONS - case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR: - return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR"; + case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR: + return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR"; + case VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV: + return "VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV"; default: return "Unhandled VkBuildAccelerationStructureFlagBitsKHR"; } @@ -9170,61 +10619,88 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkPresentScalingFlagBitsEXT(VkPresentScalingFlagBitsEXT input_value) { +static inline const char* string_VkPresentStageFlagBitsEXT(VkPresentStageFlagBitsEXT input_value) { switch (input_value) { - case VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT: - return "VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT"; - case VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT: - return "VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT"; - case VK_PRESENT_SCALING_STRETCH_BIT_EXT: - return "VK_PRESENT_SCALING_STRETCH_BIT_EXT"; + case VK_PRESENT_STAGE_QUEUE_OPERATIONS_END_BIT_EXT: + return "VK_PRESENT_STAGE_QUEUE_OPERATIONS_END_BIT_EXT"; + case VK_PRESENT_STAGE_REQUEST_DEQUEUED_BIT_EXT: + return "VK_PRESENT_STAGE_REQUEST_DEQUEUED_BIT_EXT"; + case VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_OUT_BIT_EXT: + return "VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_OUT_BIT_EXT"; + case VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT: + return "VK_PRESENT_STAGE_IMAGE_FIRST_PIXEL_VISIBLE_BIT_EXT"; default: - return "Unhandled VkPresentScalingFlagBitsEXT"; + return "Unhandled VkPresentStageFlagBitsEXT"; } } #ifdef __cplusplus -static inline std::string string_VkPresentScalingFlagsEXT(VkPresentScalingFlagsEXT input_value) { +static inline std::string string_VkPresentStageFlagsEXT(VkPresentStageFlagsEXT input_value) { std::string ret; int index = 0; while(input_value) { if (input_value & 1) { if( !ret.empty()) ret.append("|"); - ret.append(string_VkPresentScalingFlagBitsEXT(static_cast<VkPresentScalingFlagBitsEXT>(1U << index))); + ret.append(string_VkPresentStageFlagBitsEXT(static_cast<VkPresentStageFlagBitsEXT>(1U << index))); } ++index; input_value >>= 1; } - if (ret.empty()) ret.append("VkPresentScalingFlagsEXT(0)"); + if (ret.empty()) ret.append("VkPresentStageFlagsEXT(0)"); return ret; } #endif // __cplusplus -static inline const char* string_VkPresentGravityFlagBitsEXT(VkPresentGravityFlagBitsEXT input_value) { +static inline const char* string_VkPastPresentationTimingFlagBitsEXT(VkPastPresentationTimingFlagBitsEXT input_value) { switch (input_value) { - case VK_PRESENT_GRAVITY_MIN_BIT_EXT: - return "VK_PRESENT_GRAVITY_MIN_BIT_EXT"; - case VK_PRESENT_GRAVITY_MAX_BIT_EXT: - return "VK_PRESENT_GRAVITY_MAX_BIT_EXT"; - case VK_PRESENT_GRAVITY_CENTERED_BIT_EXT: - return "VK_PRESENT_GRAVITY_CENTERED_BIT_EXT"; + case VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT: + return "VK_PAST_PRESENTATION_TIMING_ALLOW_PARTIAL_RESULTS_BIT_EXT"; + case VK_PAST_PRESENTATION_TIMING_ALLOW_OUT_OF_ORDER_RESULTS_BIT_EXT: + return "VK_PAST_PRESENTATION_TIMING_ALLOW_OUT_OF_ORDER_RESULTS_BIT_EXT"; default: - return "Unhandled VkPresentGravityFlagBitsEXT"; + return "Unhandled VkPastPresentationTimingFlagBitsEXT"; } } #ifdef __cplusplus -static inline std::string string_VkPresentGravityFlagsEXT(VkPresentGravityFlagsEXT input_value) { +static inline std::string string_VkPastPresentationTimingFlagsEXT(VkPastPresentationTimingFlagsEXT input_value) { std::string ret; int index = 0; while(input_value) { if (input_value & 1) { if( !ret.empty()) ret.append("|"); - ret.append(string_VkPresentGravityFlagBitsEXT(static_cast<VkPresentGravityFlagBitsEXT>(1U << index))); + ret.append(string_VkPastPresentationTimingFlagBitsEXT(static_cast<VkPastPresentationTimingFlagBitsEXT>(1U << index))); } ++index; input_value >>= 1; } - if (ret.empty()) ret.append("VkPresentGravityFlagsEXT(0)"); + if (ret.empty()) ret.append("VkPastPresentationTimingFlagsEXT(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkPresentTimingInfoFlagBitsEXT(VkPresentTimingInfoFlagBitsEXT input_value) { + switch (input_value) { + case VK_PRESENT_TIMING_INFO_PRESENT_AT_RELATIVE_TIME_BIT_EXT: + return "VK_PRESENT_TIMING_INFO_PRESENT_AT_RELATIVE_TIME_BIT_EXT"; + case VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT: + return "VK_PRESENT_TIMING_INFO_PRESENT_AT_NEAREST_REFRESH_CYCLE_BIT_EXT"; + default: + return "Unhandled VkPresentTimingInfoFlagBitsEXT"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPresentTimingInfoFlagsEXT(VkPresentTimingInfoFlagsEXT input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPresentTimingInfoFlagBitsEXT(static_cast<VkPresentTimingInfoFlagBitsEXT>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPresentTimingInfoFlagsEXT(0)"); return ret; } #endif // __cplusplus @@ -9313,6 +10789,33 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkTileShadingRenderPassFlagBitsQCOM(VkTileShadingRenderPassFlagBitsQCOM input_value) { + switch (input_value) { + case VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM: + return "VK_TILE_SHADING_RENDER_PASS_ENABLE_BIT_QCOM"; + case VK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOM: + return "VK_TILE_SHADING_RENDER_PASS_PER_TILE_EXECUTION_BIT_QCOM"; + default: + return "Unhandled VkTileShadingRenderPassFlagBitsQCOM"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkTileShadingRenderPassFlagsQCOM(VkTileShadingRenderPassFlagsQCOM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkTileShadingRenderPassFlagBitsQCOM(static_cast<VkTileShadingRenderPassFlagBitsQCOM>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkTileShadingRenderPassFlagsQCOM(0)"); + return ret; +} +#endif // __cplusplus #ifdef VK_USE_PLATFORM_METAL_EXT static inline const char* string_VkExportMetalObjectTypeFlagBitsEXT(VkExportMetalObjectTypeFlagBitsEXT input_value) { switch (input_value) { @@ -9570,6 +11073,93 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkVideoEncodeRgbModelConversionFlagBitsVALVE(VkVideoEncodeRgbModelConversionFlagBitsVALVE input_value) { + switch (input_value) { + case VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_RGB_IDENTITY_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_RGB_IDENTITY_BIT_VALVE"; + case VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_IDENTITY_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_IDENTITY_BIT_VALVE"; + case VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_709_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_709_BIT_VALVE"; + case VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_601_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_601_BIT_VALVE"; + case VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_2020_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_MODEL_CONVERSION_YCBCR_2020_BIT_VALVE"; + default: + return "Unhandled VkVideoEncodeRgbModelConversionFlagBitsVALVE"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkVideoEncodeRgbModelConversionFlagsVALVE(VkVideoEncodeRgbModelConversionFlagsVALVE input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkVideoEncodeRgbModelConversionFlagBitsVALVE(static_cast<VkVideoEncodeRgbModelConversionFlagBitsVALVE>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkVideoEncodeRgbModelConversionFlagsVALVE(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkVideoEncodeRgbRangeCompressionFlagBitsVALVE(VkVideoEncodeRgbRangeCompressionFlagBitsVALVE input_value) { + switch (input_value) { + case VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FULL_RANGE_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_FULL_RANGE_BIT_VALVE"; + case VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_NARROW_RANGE_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_RANGE_COMPRESSION_NARROW_RANGE_BIT_VALVE"; + default: + return "Unhandled VkVideoEncodeRgbRangeCompressionFlagBitsVALVE"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkVideoEncodeRgbRangeCompressionFlagsVALVE(VkVideoEncodeRgbRangeCompressionFlagsVALVE input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkVideoEncodeRgbRangeCompressionFlagBitsVALVE(static_cast<VkVideoEncodeRgbRangeCompressionFlagBitsVALVE>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkVideoEncodeRgbRangeCompressionFlagsVALVE(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkVideoEncodeRgbChromaOffsetFlagBitsVALVE(VkVideoEncodeRgbChromaOffsetFlagBitsVALVE input_value) { + switch (input_value) { + case VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_COSITED_EVEN_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_COSITED_EVEN_BIT_VALVE"; + case VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_MIDPOINT_BIT_VALVE: + return "VK_VIDEO_ENCODE_RGB_CHROMA_OFFSET_MIDPOINT_BIT_VALVE"; + default: + return "Unhandled VkVideoEncodeRgbChromaOffsetFlagBitsVALVE"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkVideoEncodeRgbChromaOffsetFlagsVALVE(VkVideoEncodeRgbChromaOffsetFlagsVALVE input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkVideoEncodeRgbChromaOffsetFlagBitsVALVE(static_cast<VkVideoEncodeRgbChromaOffsetFlagBitsVALVE>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkVideoEncodeRgbChromaOffsetFlagsVALVE(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkBuildMicromapFlagBitsEXT(VkBuildMicromapFlagBitsEXT input_value) { switch (input_value) { case VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT: @@ -9626,6 +11216,7 @@ #endif // __cplusplus static inline const char* string_VkPhysicalDeviceSchedulingControlsFlagBitsARM(uint64_t input_value) { if (input_value == VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM) return "VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM"; + if (input_value == VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_ARM) return "VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_ARM"; return "Unhandled VkPhysicalDeviceSchedulingControlsFlagBitsARM"; } @@ -9645,24 +11236,73 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkMemoryDecompressionMethodFlagBitsNV(uint64_t input_value) { - if (input_value == VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV) return "VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV"; - return "Unhandled VkMemoryDecompressionMethodFlagBitsNV"; +static inline const char* string_VkMemoryDecompressionMethodFlagBitsEXT(uint64_t input_value) { + if (input_value == VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT) return "VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_EXT"; + return "Unhandled VkMemoryDecompressionMethodFlagBitsEXT"; } #ifdef __cplusplus -static inline std::string string_VkMemoryDecompressionMethodFlagsNV(VkMemoryDecompressionMethodFlagsNV input_value) { +static inline std::string string_VkMemoryDecompressionMethodFlagsEXT(VkMemoryDecompressionMethodFlagsEXT input_value) { std::string ret; int index = 0; while(input_value) { if (input_value & 1) { if( !ret.empty()) ret.append("|"); - ret.append(string_VkMemoryDecompressionMethodFlagBitsNV(static_cast<uint64_t>(1ULL << index))); + ret.append(string_VkMemoryDecompressionMethodFlagBitsEXT(static_cast<uint64_t>(1ULL << index))); } ++index; input_value >>= 1; } - if (ret.empty()) ret.append("VkMemoryDecompressionMethodFlagsNV(0)"); + if (ret.empty()) ret.append("VkMemoryDecompressionMethodFlagsEXT(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkTensorCreateFlagBitsARM(uint64_t input_value) { + if (input_value == VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM) return "VK_TENSOR_CREATE_MUTABLE_FORMAT_BIT_ARM"; + if (input_value == VK_TENSOR_CREATE_PROTECTED_BIT_ARM) return "VK_TENSOR_CREATE_PROTECTED_BIT_ARM"; + if (input_value == VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM) return "VK_TENSOR_CREATE_DESCRIPTOR_HEAP_CAPTURE_REPLAY_BIT_ARM"; + if (input_value == VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM) return "VK_TENSOR_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_ARM"; + return "Unhandled VkTensorCreateFlagBitsARM"; +} + +#ifdef __cplusplus +static inline std::string string_VkTensorCreateFlagsARM(VkTensorCreateFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkTensorCreateFlagBitsARM(static_cast<uint64_t>(1ULL << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkTensorCreateFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkTensorUsageFlagBitsARM(uint64_t input_value) { + if (input_value == VK_TENSOR_USAGE_SHADER_BIT_ARM) return "VK_TENSOR_USAGE_SHADER_BIT_ARM"; + if (input_value == VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM) return "VK_TENSOR_USAGE_TRANSFER_SRC_BIT_ARM"; + if (input_value == VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM) return "VK_TENSOR_USAGE_TRANSFER_DST_BIT_ARM"; + if (input_value == VK_TENSOR_USAGE_IMAGE_ALIASING_BIT_ARM) return "VK_TENSOR_USAGE_IMAGE_ALIASING_BIT_ARM"; + if (input_value == VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM) return "VK_TENSOR_USAGE_DATA_GRAPH_BIT_ARM"; + return "Unhandled VkTensorUsageFlagBitsARM"; +} + +#ifdef __cplusplus +static inline std::string string_VkTensorUsageFlagsARM(VkTensorUsageFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkTensorUsageFlagBitsARM(static_cast<uint64_t>(1ULL << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkTensorUsageFlagsARM(0)"); return ret; } #endif // __cplusplus @@ -9796,6 +11436,10 @@ switch (input_value) { case VK_SHADER_CREATE_LINK_STAGE_BIT_EXT: return "VK_SHADER_CREATE_LINK_STAGE_BIT_EXT"; + case VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT: + return "VK_SHADER_CREATE_DESCRIPTOR_HEAP_BIT_EXT"; + case VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM: + return "VK_SHADER_CREATE_INSTRUMENT_SHADER_BIT_ARM"; case VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT: return "VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT"; case VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT: @@ -9810,6 +11454,10 @@ return "VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"; case VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT: return "VK_SHADER_CREATE_INDIRECT_BINDABLE_BIT_EXT"; + case VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT: + return "VK_SHADER_CREATE_64_BIT_INDEXING_BIT_EXT"; + case VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR: + return "VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_KHR"; default: return "Unhandled VkShaderCreateFlagBitsEXT"; } @@ -9831,6 +11479,212 @@ return ret; } #endif // __cplusplus +static inline const char* string_VkDataGraphPipelineSessionCreateFlagBitsARM(uint64_t input_value) { + if (input_value == VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_PROTECTED_BIT_ARM) return "VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_PROTECTED_BIT_ARM"; + if (input_value == VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_OPTICAL_FLOW_CACHE_BIT_ARM) return "VK_DATA_GRAPH_PIPELINE_SESSION_CREATE_OPTICAL_FLOW_CACHE_BIT_ARM"; + return "Unhandled VkDataGraphPipelineSessionCreateFlagBitsARM"; +} + +#ifdef __cplusplus +static inline std::string string_VkDataGraphPipelineSessionCreateFlagsARM(VkDataGraphPipelineSessionCreateFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDataGraphPipelineSessionCreateFlagBitsARM(static_cast<uint64_t>(1ULL << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDataGraphPipelineSessionCreateFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkDataGraphTOSAQualityFlagBitsARM(VkDataGraphTOSAQualityFlagBitsARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_TOSA_QUALITY_ACCELERATED_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_ACCELERATED_ARM"; + case VK_DATA_GRAPH_TOSA_QUALITY_CONFORMANT_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_CONFORMANT_ARM"; + case VK_DATA_GRAPH_TOSA_QUALITY_EXPERIMENTAL_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_EXPERIMENTAL_ARM"; + case VK_DATA_GRAPH_TOSA_QUALITY_DEPRECATED_ARM: + return "VK_DATA_GRAPH_TOSA_QUALITY_DEPRECATED_ARM"; + default: + return "Unhandled VkDataGraphTOSAQualityFlagBitsARM"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDataGraphTOSAQualityFlagsARM(VkDataGraphTOSAQualityFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDataGraphTOSAQualityFlagBitsARM(static_cast<VkDataGraphTOSAQualityFlagBitsARM>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDataGraphTOSAQualityFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkClusterAccelerationStructureAddressResolutionFlagBitsNV(VkClusterAccelerationStructureAddressResolutionFlagBitsNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_NONE_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV"; + default: + return "Unhandled VkClusterAccelerationStructureAddressResolutionFlagBitsNV"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkClusterAccelerationStructureAddressResolutionFlagsNV(VkClusterAccelerationStructureAddressResolutionFlagsNV input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkClusterAccelerationStructureAddressResolutionFlagBitsNV(static_cast<VkClusterAccelerationStructureAddressResolutionFlagBitsNV>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkClusterAccelerationStructureAddressResolutionFlagsNV(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkClusterAccelerationStructureClusterFlagBitsNV(VkClusterAccelerationStructureClusterFlagBitsNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV"; + default: + return "Unhandled VkClusterAccelerationStructureClusterFlagBitsNV"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkClusterAccelerationStructureClusterFlagsNV(VkClusterAccelerationStructureClusterFlagsNV input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkClusterAccelerationStructureClusterFlagBitsNV(static_cast<VkClusterAccelerationStructureClusterFlagBitsNV>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkClusterAccelerationStructureClusterFlagsNV(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkClusterAccelerationStructureGeometryFlagBitsNV(VkClusterAccelerationStructureGeometryFlagBitsNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV"; + default: + return "Unhandled VkClusterAccelerationStructureGeometryFlagBitsNV"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkClusterAccelerationStructureGeometryFlagsNV(VkClusterAccelerationStructureGeometryFlagsNV input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkClusterAccelerationStructureGeometryFlagBitsNV(static_cast<VkClusterAccelerationStructureGeometryFlagBitsNV>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkClusterAccelerationStructureGeometryFlagsNV(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkClusterAccelerationStructureIndexFormatFlagBitsNV(VkClusterAccelerationStructureIndexFormatFlagBitsNV input_value) { + switch (input_value) { + case VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV"; + case VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV: + return "VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV"; + default: + return "Unhandled VkClusterAccelerationStructureIndexFormatFlagBitsNV"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkClusterAccelerationStructureIndexFormatFlagsNV(VkClusterAccelerationStructureIndexFormatFlagsNV input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkClusterAccelerationStructureIndexFormatFlagBitsNV(static_cast<VkClusterAccelerationStructureIndexFormatFlagBitsNV>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkClusterAccelerationStructureIndexFormatFlagsNV(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkPartitionedAccelerationStructureInstanceFlagBitsNV(VkPartitionedAccelerationStructureInstanceFlagBitsNV input_value) { + switch (input_value) { + case VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV"; + case VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV"; + case VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV"; + case VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV"; + case VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV: + return "VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV"; + default: + return "Unhandled VkPartitionedAccelerationStructureInstanceFlagBitsNV"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkPartitionedAccelerationStructureInstanceFlagsNV(VkPartitionedAccelerationStructureInstanceFlagsNV input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkPartitionedAccelerationStructureInstanceFlagBitsNV(static_cast<VkPartitionedAccelerationStructureInstanceFlagBitsNV>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkPartitionedAccelerationStructureInstanceFlagsNV(0)"); + return ret; +} +#endif // __cplusplus static inline const char* string_VkIndirectCommandsInputModeFlagBitsEXT(VkIndirectCommandsInputModeFlagBitsEXT input_value) { switch (input_value) { case VK_INDIRECT_COMMANDS_INPUT_MODE_VULKAN_INDEX_BUFFER_EXT: @@ -9885,33 +11739,2636 @@ return ret; } #endif // __cplusplus -static inline const char* string_VkAccelerationStructureCreateFlagBitsKHR(VkAccelerationStructureCreateFlagBitsKHR input_value) { +static inline const char* string_VkDataGraphOpticalFlowGridSizeFlagBitsARM(VkDataGraphOpticalFlowGridSizeFlagBitsARM input_value) { switch (input_value) { - case VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR: - return "VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR"; - case VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT: - return "VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT"; - case VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV: - return "VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV"; + case VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_ARM"; default: - return "Unhandled VkAccelerationStructureCreateFlagBitsKHR"; + return "Unhandled VkDataGraphOpticalFlowGridSizeFlagBitsARM"; } } #ifdef __cplusplus -static inline std::string string_VkAccelerationStructureCreateFlagsKHR(VkAccelerationStructureCreateFlagsKHR input_value) { +static inline std::string string_VkDataGraphOpticalFlowGridSizeFlagsARM(VkDataGraphOpticalFlowGridSizeFlagsARM input_value) { std::string ret; int index = 0; while(input_value) { if (input_value & 1) { if( !ret.empty()) ret.append("|"); - ret.append(string_VkAccelerationStructureCreateFlagBitsKHR(static_cast<VkAccelerationStructureCreateFlagBitsKHR>(1U << index))); + ret.append(string_VkDataGraphOpticalFlowGridSizeFlagBitsARM(static_cast<VkDataGraphOpticalFlowGridSizeFlagBitsARM>(1U << index))); } ++index; input_value >>= 1; } - if (ret.empty()) ret.append("VkAccelerationStructureCreateFlagsKHR(0)"); + if (ret.empty()) ret.append("VkDataGraphOpticalFlowGridSizeFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkDataGraphOpticalFlowCreateFlagBitsARM(VkDataGraphOpticalFlowCreateFlagBitsARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_HINT_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_HINT_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_COST_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_ENABLE_COST_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_RESERVED_30_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_CREATE_RESERVED_30_BIT_ARM"; + default: + return "Unhandled VkDataGraphOpticalFlowCreateFlagBitsARM"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDataGraphOpticalFlowCreateFlagsARM(VkDataGraphOpticalFlowCreateFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDataGraphOpticalFlowCreateFlagBitsARM(static_cast<VkDataGraphOpticalFlowCreateFlagBitsARM>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDataGraphOpticalFlowCreateFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkDataGraphOpticalFlowImageUsageFlagBitsARM(VkDataGraphOpticalFlowImageUsageFlagBitsARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_UNKNOWN_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_UNKNOWN_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_INPUT_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_INPUT_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_OUTPUT_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_OUTPUT_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_HINT_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_HINT_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_COST_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_IMAGE_USAGE_COST_BIT_ARM"; + default: + return "Unhandled VkDataGraphOpticalFlowImageUsageFlagBitsARM"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDataGraphOpticalFlowImageUsageFlagsARM(VkDataGraphOpticalFlowImageUsageFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDataGraphOpticalFlowImageUsageFlagBitsARM(static_cast<VkDataGraphOpticalFlowImageUsageFlagBitsARM>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDataGraphOpticalFlowImageUsageFlagsARM(0)"); + return ret; +} +#endif // __cplusplus +static inline const char* string_VkDataGraphOpticalFlowExecuteFlagBitsARM(VkDataGraphOpticalFlowExecuteFlagBitsARM input_value) { + switch (input_value) { + case VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_INPUT_UNCHANGED_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_INPUT_UNCHANGED_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_REFERENCE_UNCHANGED_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_REFERENCE_UNCHANGED_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_INPUT_IS_PREVIOUS_REFERENCE_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_INPUT_IS_PREVIOUS_REFERENCE_BIT_ARM"; + case VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_REFERENCE_IS_PREVIOUS_INPUT_BIT_ARM: + return "VK_DATA_GRAPH_OPTICAL_FLOW_EXECUTE_REFERENCE_IS_PREVIOUS_INPUT_BIT_ARM"; + default: + return "Unhandled VkDataGraphOpticalFlowExecuteFlagBitsARM"; + } +} + +#ifdef __cplusplus +static inline std::string string_VkDataGraphOpticalFlowExecuteFlagsARM(VkDataGraphOpticalFlowExecuteFlagsARM input_value) { + std::string ret; + int index = 0; + while(input_value) { + if (input_value & 1) { + if( !ret.empty()) ret.append("|"); + ret.append(string_VkDataGraphOpticalFlowExecuteFlagBitsARM(static_cast<VkDataGraphOpticalFlowExecuteFlagBitsARM>(1U << index))); + } + ++index; + input_value >>= 1; + } + if (ret.empty()) ret.append("VkDataGraphOpticalFlowExecuteFlagsARM(0)"); return ret; } #endif // __cplusplus // clang-format on + +// Same thing as string_VkStructureType, but prints out the API name +static inline const char* string_VkStructureName(VkStructureType input_value) { + switch (input_value) { + case VK_STRUCTURE_TYPE_APPLICATION_INFO: + return "VkApplicationInfo"; + case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO: + return "VkInstanceCreateInfo"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO: + return "VkDeviceQueueCreateInfo"; + case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO: + return "VkDeviceCreateInfo"; + case VK_STRUCTURE_TYPE_SUBMIT_INFO: + return "VkSubmitInfo"; + case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE: + return "VkMappedMemoryRange"; + case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO: + return "VkMemoryAllocateInfo"; + case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO: + return "VkBindSparseInfo"; + case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO: + return "VkFenceCreateInfo"; + case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO: + return "VkSemaphoreCreateInfo"; + case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO: + return "VkQueryPoolCreateInfo"; + case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO: + return "VkBufferCreateInfo"; + case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO: + return "VkImageCreateInfo"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO: + return "VkImageViewCreateInfo"; + case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO: + return "VkCommandPoolCreateInfo"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO: + return "VkCommandBufferAllocateInfo"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO: + return "VkCommandBufferInheritanceInfo"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO: + return "VkCommandBufferBeginInfo"; + case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER: + return "VkBufferMemoryBarrier"; + case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER: + return "VkImageMemoryBarrier"; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER: + return "VkMemoryBarrier"; + case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO: + return "VkEventCreateInfo"; + case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO: + return "VkBufferViewCreateInfo"; + case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO: + return "VkShaderModuleCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO: + return "VkPipelineCacheCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO: + return "VkPipelineShaderStageCreateInfo"; + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: + return "VkComputePipelineCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: + return "VkPipelineLayoutCreateInfo"; + case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO: + return "VkSamplerCreateInfo"; + case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET: + return "VkCopyDescriptorSet"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO: + return "VkDescriptorPoolCreateInfo"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO: + return "VkDescriptorSetAllocateInfo"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO: + return "VkDescriptorSetLayoutCreateInfo"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET: + return "VkWriteDescriptorSet"; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO: + return "VkPipelineColorBlendStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO: + return "VkPipelineDepthStencilStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO: + return "VkPipelineDynamicStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO: + return "VkPipelineInputAssemblyStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO: + return "VkPipelineMultisampleStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO: + return "VkPipelineRasterizationStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO: + return "VkPipelineTessellationStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO: + return "VkPipelineVertexInputStateCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO: + return "VkPipelineViewportStateCreateInfo"; + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: + return "VkGraphicsPipelineCreateInfo"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO: + return "VkFramebufferCreateInfo"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO: + return "VkRenderPassCreateInfo"; + case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO: + return "VkRenderPassBeginInfo"; + case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO: + return "VkBindBufferMemoryInfo"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO: + return "VkBindImageMemoryInfo"; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: + return "VkMemoryDedicatedRequirements"; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO: + return "VkMemoryDedicatedAllocateInfo"; + case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: + return "VkMemoryAllocateFlagsInfo"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: + return "VkDeviceGroupCommandBufferBeginInfo"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO: + return "VkDeviceGroupSubmitInfo"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO: + return "VkDeviceGroupBindSparseInfo"; + case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO: + return "VkBindBufferMemoryDeviceGroupInfo"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO: + return "VkBindImageMemoryDeviceGroupInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES: + return "VkPhysicalDeviceGroupProperties"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO: + return "VkDeviceGroupDeviceCreateInfo"; + case VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2: + return "VkBufferMemoryRequirementsInfo2"; + case VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2: + return "VkImageMemoryRequirementsInfo2"; + case VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2: + return "VkImageSparseMemoryRequirementsInfo2"; + case VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2: + return "VkMemoryRequirements2"; + case VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2: + return "VkSparseImageMemoryRequirements2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: + return "VkPhysicalDeviceFeatures2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2: + return "VkPhysicalDeviceProperties2"; + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2: + return "VkFormatProperties2"; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2: + return "VkImageFormatProperties2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2: + return "VkPhysicalDeviceImageFormatInfo2"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2: + return "VkQueueFamilyProperties2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2: + return "VkPhysicalDeviceMemoryProperties2"; + case VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2: + return "VkSparseImageFormatProperties2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2: + return "VkPhysicalDeviceSparseImageFormatInfo2"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: + return "VkImageViewUsageCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: + return "VkPhysicalDeviceProtectedMemoryFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES: + return "VkPhysicalDeviceProtectedMemoryProperties"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2: + return "VkDeviceQueueInfo2"; + case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: + return "VkProtectedSubmitInfo"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: + return "VkBindImagePlaneMemoryInfo"; + case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: + return "VkImagePlaneMemoryRequirementsInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: + return "VkPhysicalDeviceExternalImageFormatInfo"; + case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES: + return "VkExternalImageFormatProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO: + return "VkPhysicalDeviceExternalBufferInfo"; + case VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES: + return "VkExternalBufferProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES: + return "VkPhysicalDeviceIDProperties"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO: + return "VkExternalMemoryImageCreateInfo"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO: + return "VkExternalMemoryBufferCreateInfo"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO: + return "VkExportMemoryAllocateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO: + return "VkPhysicalDeviceExternalFenceInfo"; + case VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES: + return "VkExternalFenceProperties"; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO: + return "VkExportFenceCreateInfo"; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: + return "VkExportSemaphoreCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO: + return "VkPhysicalDeviceExternalSemaphoreInfo"; + case VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES: + return "VkExternalSemaphoreProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: + return "VkPhysicalDeviceSubgroupProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: + return "VkPhysicalDevice16BitStorageFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: + return "VkPhysicalDeviceVariablePointersFeatures"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO: + return "VkDescriptorUpdateTemplateCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: + return "VkPhysicalDeviceMaintenance3Properties"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT: + return "VkDescriptorSetLayoutSupport"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO: + return "VkSamplerYcbcrConversionCreateInfo"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: + return "VkSamplerYcbcrConversionInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: + return "VkPhysicalDeviceSamplerYcbcrConversionFeatures"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: + return "VkSamplerYcbcrConversionImageFormatProperties"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: + return "VkDeviceGroupRenderPassBeginInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: + return "VkPhysicalDevicePointClippingProperties"; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: + return "VkRenderPassInputAttachmentAspectCreateInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: + return "VkPipelineTessellationDomainOriginStateCreateInfo"; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: + return "VkRenderPassMultiviewCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: + return "VkPhysicalDeviceMultiviewFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: + return "VkPhysicalDeviceMultiviewProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: + return "VkPhysicalDeviceShaderDrawParametersFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: + return "VkPhysicalDeviceDriverProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: + return "VkPhysicalDeviceVulkan11Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES: + return "VkPhysicalDeviceVulkan11Properties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES: + return "VkPhysicalDeviceVulkan12Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES: + return "VkPhysicalDeviceVulkan12Properties"; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: + return "VkImageFormatListCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: + return "VkPhysicalDeviceVulkanMemoryModelFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: + return "VkPhysicalDeviceHostQueryResetFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES: + return "VkPhysicalDeviceTimelineSemaphoreFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES: + return "VkPhysicalDeviceTimelineSemaphoreProperties"; + case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO: + return "VkSemaphoreTypeCreateInfo"; + case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO: + return "VkTimelineSemaphoreSubmitInfo"; + case VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO: + return "VkSemaphoreWaitInfo"; + case VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO: + return "VkSemaphoreSignalInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES: + return "VkPhysicalDeviceBufferDeviceAddressFeatures"; + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO: + return "VkBufferDeviceAddressInfo"; + case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO: + return "VkBufferOpaqueCaptureAddressCreateInfo"; + case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: + return "VkMemoryOpaqueCaptureAddressAllocateInfo"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO: + return "VkDeviceMemoryOpaqueCaptureAddressInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: + return "VkPhysicalDevice8BitStorageFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: + return "VkPhysicalDeviceShaderAtomicInt64Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: + return "VkPhysicalDeviceShaderFloat16Int8Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: + return "VkPhysicalDeviceFloatControlsProperties"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: + return "VkDescriptorSetLayoutBindingFlagsCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: + return "VkPhysicalDeviceDescriptorIndexingFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: + return "VkPhysicalDeviceDescriptorIndexingProperties"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: + return "VkDescriptorSetVariableDescriptorCountAllocateInfo"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: + return "VkDescriptorSetVariableDescriptorCountLayoutSupport"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: + return "VkPhysicalDeviceScalarBlockLayoutFeatures"; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: + return "VkSamplerReductionModeCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: + return "VkPhysicalDeviceSamplerFilterMinmaxProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: + return "VkPhysicalDeviceUniformBufferStandardLayoutFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: + return "VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures"; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2: + return "VkAttachmentDescription2"; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2: + return "VkAttachmentReference2"; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2: + return "VkSubpassDescription2"; + case VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2: + return "VkSubpassDependency2"; + case VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO: + return "VkSubpassBeginInfo"; + case VK_STRUCTURE_TYPE_SUBPASS_END_INFO: + return "VkSubpassEndInfo"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2: + return "VkRenderPassCreateInfo2"; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: + return "VkSubpassDescriptionDepthStencilResolve"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: + return "VkPhysicalDeviceDepthStencilResolveProperties"; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: + return "VkImageStencilUsageCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: + return "VkPhysicalDeviceImagelessFramebufferFeatures"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO: + return "VkFramebufferAttachmentImageInfo"; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: + return "VkRenderPassAttachmentBeginInfo"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: + return "VkFramebufferAttachmentsCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: + return "VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures"; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: + return "VkAttachmentReferenceStencilLayout"; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: + return "VkAttachmentDescriptionStencilLayout"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: + return "VkPhysicalDeviceVulkan13Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: + return "VkPhysicalDeviceVulkan13Properties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES: + return "VkPhysicalDeviceToolProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: + return "VkPhysicalDevicePrivateDataFeatures"; + case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: + return "VkDevicePrivateDataCreateInfo"; + case VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO: + return "VkPrivateDataSlotCreateInfo"; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: + return "VkMemoryBarrier2"; + case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2: + return "VkBufferMemoryBarrier2"; + case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2: + return "VkImageMemoryBarrier2"; + case VK_STRUCTURE_TYPE_DEPENDENCY_INFO: + return "VkDependencyInfo"; + case VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO: + return "VkSemaphoreSubmitInfo"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO: + return "VkCommandBufferSubmitInfo"; + case VK_STRUCTURE_TYPE_SUBMIT_INFO_2: + return "VkSubmitInfo2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: + return "VkPhysicalDeviceSynchronization2Features"; + case VK_STRUCTURE_TYPE_BUFFER_COPY_2: + return "VkBufferCopy2"; + case VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2: + return "VkCopyBufferInfo2"; + case VK_STRUCTURE_TYPE_IMAGE_COPY_2: + return "VkImageCopy2"; + case VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2: + return "VkCopyImageInfo2"; + case VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2: + return "VkBufferImageCopy2"; + case VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2: + return "VkCopyBufferToImageInfo2"; + case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2: + return "VkCopyImageToBufferInfo2"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: + return "VkPhysicalDeviceTextureCompressionASTCHDRFeatures"; + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: + return "VkFormatProperties3"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: + return "VkPhysicalDeviceMaintenance4Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: + return "VkPhysicalDeviceMaintenance4Properties"; + case VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS: + return "VkDeviceBufferMemoryRequirements"; + case VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS: + return "VkDeviceImageMemoryRequirements"; + case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: + return "VkPipelineCreationFeedbackCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES: + return "VkPhysicalDeviceShaderTerminateInvocationFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: + return "VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: + return "VkPhysicalDevicePipelineCreationCacheControlFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: + return "VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES: + return "VkPhysicalDeviceImageRobustnessFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES: + return "VkPhysicalDeviceSubgroupSizeControlFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES: + return "VkPhysicalDeviceSubgroupSizeControlProperties"; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO: + return "VkPipelineShaderStageRequiredSubgroupSizeCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES: + return "VkPhysicalDeviceInlineUniformBlockFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES: + return "VkPhysicalDeviceInlineUniformBlockProperties"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK: + return "VkWriteDescriptorSetInlineUniformBlock"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: + return "VkDescriptorPoolInlineUniformBlockCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: + return "VkPhysicalDeviceShaderIntegerDotProductFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES: + return "VkPhysicalDeviceShaderIntegerDotProductProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: + return "VkPhysicalDeviceTexelBufferAlignmentProperties"; + case VK_STRUCTURE_TYPE_IMAGE_BLIT_2: + return "VkImageBlit2"; + case VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2: + return "VkBlitImageInfo2"; + case VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2: + return "VkImageResolve2"; + case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2: + return "VkResolveImageInfo2"; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO: + return "VkRenderingAttachmentInfo"; + case VK_STRUCTURE_TYPE_RENDERING_INFO: + return "VkRenderingInfo"; + case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: + return "VkPipelineRenderingCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: + return "VkPhysicalDeviceDynamicRenderingFeatures"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: + return "VkCommandBufferInheritanceRenderingInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: + return "VkPhysicalDeviceVulkan14Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES: + return "VkPhysicalDeviceVulkan14Properties"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO: + return "VkDeviceQueueGlobalPriorityCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES: + return "VkPhysicalDeviceGlobalPriorityQueryFeatures"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: + return "VkQueueFamilyGlobalPriorityProperties"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: + return "VkPhysicalDeviceIndexTypeUint8Features"; + case VK_STRUCTURE_TYPE_MEMORY_MAP_INFO: + return "VkMemoryMapInfo"; + case VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO: + return "VkMemoryUnmapInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: + return "VkPhysicalDeviceMaintenance5Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: + return "VkPhysicalDeviceMaintenance5Properties"; + case VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2: + return "VkSubresourceLayout2"; + case VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2: + return "VkImageSubresource2"; + case VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO: + return "VkDeviceImageSubresourceInfo"; + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: + return "VkBufferUsageFlags2CreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + return "VkPhysicalDeviceMaintenance6Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + return "VkPhysicalDeviceMaintenance6Properties"; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + return "VkBindMemoryStatus"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + return "VkPhysicalDeviceHostImageCopyFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + return "VkPhysicalDeviceHostImageCopyProperties"; + case VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY: + return "VkMemoryToImageCopy"; + case VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY: + return "VkImageToMemoryCopy"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO: + return "VkCopyMemoryToImageInfo"; + case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO: + return "VkCopyImageToMemoryInfo"; + case VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO: + return "VkCopyImageToImageInfo"; + case VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO: + return "VkHostImageLayoutTransitionInfo"; + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + return "VkSubresourceHostMemcpySize"; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + return "VkHostImageCopyDevicePerformanceQuery"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: + return "VkPhysicalDeviceShaderSubgroupRotateFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES: + return "VkPhysicalDeviceShaderFloatControls2Features"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: + return "VkPhysicalDeviceShaderExpectAssumeFeatures"; + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: + return "VkPipelineCreateFlags2CreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: + return "VkPhysicalDevicePushDescriptorProperties"; + case VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO: + return "VkBindDescriptorSetsInfo"; + case VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO: + return "VkPushConstantsInfo"; + case VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO: + return "VkPushDescriptorSetInfo"; + case VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO: + return "VkPushDescriptorSetWithTemplateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + return "VkPhysicalDevicePipelineProtectedAccessFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + return "VkPhysicalDevicePipelineRobustnessFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + return "VkPhysicalDevicePipelineRobustnessProperties"; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + return "VkPipelineRobustnessCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: + return "VkPhysicalDeviceLineRasterizationFeatures"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES: + return "VkPhysicalDeviceLineRasterizationProperties"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO: + return "VkPipelineRasterizationLineStateCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES: + return "VkPhysicalDeviceVertexAttributeDivisorProperties"; + case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO: + return "VkPipelineVertexInputDivisorStateCreateInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: + return "VkPhysicalDeviceVertexAttributeDivisorFeatures"; + case VK_STRUCTURE_TYPE_RENDERING_AREA_INFO: + return "VkRenderingAreaInfo"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: + return "VkPhysicalDeviceDynamicRenderingLocalReadFeatures"; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO: + return "VkRenderingAttachmentLocationInfo"; + case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: + return "VkRenderingInputAttachmentIndexInfo"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR: + return "VkSwapchainCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR: + return "VkPresentInfoKHR"; + case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: + return "VkImageSwapchainCreateInfoKHR"; + case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR: + return "VkBindImageMemorySwapchainInfoKHR"; + case VK_STRUCTURE_TYPE_ACQUIRE_NEXT_IMAGE_INFO_KHR: + return "VkAcquireNextImageInfoKHR"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_CAPABILITIES_KHR: + return "VkDeviceGroupPresentCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR: + return "VkDeviceGroupPresentInfoKHR"; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR: + return "VkDeviceGroupSwapchainCreateInfoKHR"; + case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR: + return "VkDisplayModeCreateInfoKHR"; + case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR: + return "VkDisplaySurfaceCreateInfoKHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR: + return "VkDisplayPresentInfoKHR"; +#ifdef VK_USE_PLATFORM_XLIB_KHR + case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR: + return "VkXlibSurfaceCreateInfoKHR"; +#endif // VK_USE_PLATFORM_XLIB_KHR +#ifdef VK_USE_PLATFORM_XCB_KHR + case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR: + return "VkXcbSurfaceCreateInfoKHR"; +#endif // VK_USE_PLATFORM_XCB_KHR +#ifdef VK_USE_PLATFORM_WAYLAND_KHR + case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR: + return "VkWaylandSurfaceCreateInfoKHR"; +#endif // VK_USE_PLATFORM_WAYLAND_KHR +#ifdef VK_USE_PLATFORM_ANDROID_KHR + case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR: + return "VkAndroidSurfaceCreateInfoKHR"; +#endif // VK_USE_PLATFORM_ANDROID_KHR +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR: + return "VkWin32SurfaceCreateInfoKHR"; +#endif // VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR: + return "VkQueueFamilyQueryResultStatusPropertiesKHR"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR: + return "VkQueueFamilyVideoPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR: + return "VkVideoProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR: + return "VkVideoProfileListInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR: + return "VkVideoCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR: + return "VkPhysicalDeviceVideoFormatInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR: + return "VkVideoFormatPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR: + return "VkVideoPictureResourceInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR: + return "VkVideoReferenceSlotInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR: + return "VkVideoSessionMemoryRequirementsKHR"; + case VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR: + return "VkBindVideoSessionMemoryInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR: + return "VkVideoSessionCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoSessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR: + return "VkVideoSessionParametersUpdateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR: + return "VkVideoBeginCodingInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR: + return "VkVideoEndCodingInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR: + return "VkVideoCodingControlInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR: + return "VkVideoDecodeCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR: + return "VkVideoDecodeUsageInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR: + return "VkVideoDecodeInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR: + return "VkVideoEncodeH264CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR: + return "VkVideoEncodeH264QualityLevelPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR: + return "VkVideoEncodeH264SessionCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: + return "VkVideoEncodeH264SessionParametersAddInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoEncodeH264SessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR: + return "VkVideoEncodeH264SessionParametersGetInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR: + return "VkVideoEncodeH264SessionParametersFeedbackInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR: + return "VkVideoEncodeH264NaluSliceInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR: + return "VkVideoEncodeH264PictureInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR: + return "VkVideoEncodeH264DpbSlotInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR: + return "VkVideoEncodeH264ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR: + return "VkVideoEncodeH264RateControlInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR: + return "VkVideoEncodeH264RateControlLayerInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR: + return "VkVideoEncodeH264GopRemainingFrameInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR: + return "VkVideoEncodeH265CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR: + return "VkVideoEncodeH265SessionCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR: + return "VkVideoEncodeH265QualityLevelPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: + return "VkVideoEncodeH265SessionParametersAddInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoEncodeH265SessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR: + return "VkVideoEncodeH265SessionParametersGetInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR: + return "VkVideoEncodeH265SessionParametersFeedbackInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR: + return "VkVideoEncodeH265NaluSliceSegmentInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR: + return "VkVideoEncodeH265PictureInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR: + return "VkVideoEncodeH265DpbSlotInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR: + return "VkVideoEncodeH265ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR: + return "VkVideoEncodeH265RateControlInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR: + return "VkVideoEncodeH265RateControlLayerInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR: + return "VkVideoEncodeH265GopRemainingFrameInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR: + return "VkVideoDecodeH264ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR: + return "VkVideoDecodeH264CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR: + return "VkVideoDecodeH264SessionParametersAddInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoDecodeH264SessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: + return "VkVideoDecodeH264PictureInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR: + return "VkVideoDecodeH264DpbSlotInfoKHR"; +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR: + return "VkImportMemoryWin32HandleInfoKHR"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR: + return "VkExportMemoryWin32HandleInfoKHR"; + case VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR: + return "VkMemoryWin32HandlePropertiesKHR"; + case VK_STRUCTURE_TYPE_MEMORY_GET_WIN32_HANDLE_INFO_KHR: + return "VkMemoryGetWin32HandleInfoKHR"; +#endif // VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_FD_INFO_KHR: + return "VkImportMemoryFdInfoKHR"; + case VK_STRUCTURE_TYPE_MEMORY_FD_PROPERTIES_KHR: + return "VkMemoryFdPropertiesKHR"; + case VK_STRUCTURE_TYPE_MEMORY_GET_FD_INFO_KHR: + return "VkMemoryGetFdInfoKHR"; +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_KHR: + return "VkWin32KeyedMutexAcquireReleaseInfoKHR"; + case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: + return "VkImportSemaphoreWin32HandleInfoKHR"; + case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_WIN32_HANDLE_INFO_KHR: + return "VkExportSemaphoreWin32HandleInfoKHR"; + case VK_STRUCTURE_TYPE_D3D12_FENCE_SUBMIT_INFO_KHR: + return "VkD3D12FenceSubmitInfoKHR"; + case VK_STRUCTURE_TYPE_SEMAPHORE_GET_WIN32_HANDLE_INFO_KHR: + return "VkSemaphoreGetWin32HandleInfoKHR"; +#endif // VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR: + return "VkImportSemaphoreFdInfoKHR"; + case VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR: + return "VkSemaphoreGetFdInfoKHR"; + case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR: + return "VkPresentRegionsKHR"; + case VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR: + return "VkSharedPresentSurfaceCapabilitiesKHR"; +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR: + return "VkImportFenceWin32HandleInfoKHR"; + case VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR: + return "VkExportFenceWin32HandleInfoKHR"; + case VK_STRUCTURE_TYPE_FENCE_GET_WIN32_HANDLE_INFO_KHR: + return "VkFenceGetWin32HandleInfoKHR"; +#endif // VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_FENCE_FD_INFO_KHR: + return "VkImportFenceFdInfoKHR"; + case VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR: + return "VkFenceGetFdInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR: + return "VkPhysicalDevicePerformanceQueryFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR: + return "VkPhysicalDevicePerformanceQueryPropertiesKHR"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_KHR: + return "VkPerformanceCounterKHR"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_KHR: + return "VkPerformanceCounterDescriptionKHR"; + case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR: + return "VkQueryPoolPerformanceCreateInfoKHR"; + case VK_STRUCTURE_TYPE_ACQUIRE_PROFILING_LOCK_INFO_KHR: + return "VkAcquireProfilingLockInfoKHR"; + case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: + return "VkPerformanceQuerySubmitInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR: + return "VkPhysicalDeviceSurfaceInfo2KHR"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR: + return "VkSurfaceCapabilities2KHR"; + case VK_STRUCTURE_TYPE_SURFACE_FORMAT_2_KHR: + return "VkSurfaceFormat2KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PROPERTIES_2_KHR: + return "VkDisplayProperties2KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PLANE_PROPERTIES_2_KHR: + return "VkDisplayPlaneProperties2KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_MODE_PROPERTIES_2_KHR: + return "VkDisplayModeProperties2KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PLANE_INFO_2_KHR: + return "VkDisplayPlaneInfo2KHR"; + case VK_STRUCTURE_TYPE_DISPLAY_PLANE_CAPABILITIES_2_KHR: + return "VkDisplayPlaneCapabilities2KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR: + return "VkPhysicalDeviceShaderBfloat16FeaturesKHR"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: + return "VkPhysicalDevicePortabilitySubsetFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR: + return "VkPhysicalDevicePortabilitySubsetPropertiesKHR"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR: + return "VkPhysicalDeviceShaderClockFeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR: + return "VkVideoDecodeH265ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR: + return "VkVideoDecodeH265CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR: + return "VkVideoDecodeH265SessionParametersAddInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoDecodeH265SessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: + return "VkVideoDecodeH265PictureInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR: + return "VkVideoDecodeH265DpbSlotInfoKHR"; + case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: + return "VkFragmentShadingRateAttachmentInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR: + return "VkPipelineFragmentShadingRateStateCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR: + return "VkPhysicalDeviceFragmentShadingRateFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR: + return "VkPhysicalDeviceFragmentShadingRatePropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR: + return "VkPhysicalDeviceFragmentShadingRateKHR"; + case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: + return "VkRenderingFragmentShadingRateAttachmentInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR: + return "VkPhysicalDeviceShaderConstantDataFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR: + return "VkPhysicalDeviceShaderAbortFeaturesKHR"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR: + return "VkDeviceFaultShaderAbortMessageInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR: + return "VkPhysicalDeviceShaderAbortPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: + return "VkPhysicalDeviceShaderQuadControlFeaturesKHR"; + case VK_STRUCTURE_TYPE_SURFACE_PROTECTED_CAPABILITIES_KHR: + return "VkSurfaceProtectedCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR: + return "VkPhysicalDevicePresentWaitFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR: + return "VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR: + return "VkPipelineInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_PROPERTIES_KHR: + return "VkPipelineExecutablePropertiesKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR: + return "VkPipelineExecutableInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR: + return "VkPipelineExecutableStatisticKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR: + return "VkPipelineExecutableInternalRepresentationKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR: + return "VkPipelineLibraryCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PRESENT_ID_KHR: + return "VkPresentIdKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR: + return "VkPhysicalDevicePresentIdFeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR: + return "VkVideoEncodeInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR: + return "VkVideoEncodeCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR: + return "VkQueryPoolVideoEncodeFeedbackCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR: + return "VkVideoEncodeUsageInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR: + return "VkVideoEncodeRateControlLayerInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR: + return "VkVideoEncodeRateControlInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: + return "VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR: + return "VkVideoEncodeQualityLevelPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: + return "VkVideoEncodeQualityLevelInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR: + return "VkVideoEncodeSessionParametersGetInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR: + return "VkVideoEncodeSessionParametersFeedbackInfoKHR"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR: + return "VkDeviceMemoryCopyKHR"; + case VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR: + return "VkCopyDeviceMemoryInfoKHR"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR: + return "VkDeviceMemoryImageCopyKHR"; + case VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR: + return "VkCopyDeviceMemoryImageInfoKHR"; + case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR: + return "VkMemoryRangeBarrierKHR"; + case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR: + return "VkMemoryRangeBarriersInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR: + return "VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR"; + case VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR: + return "VkBindIndexBuffer3InfoKHR"; + case VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR: + return "VkBindVertexBuffer3InfoKHR"; + case VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR: + return "VkDrawIndirect2InfoKHR"; + case VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR: + return "VkDrawIndirectCount2InfoKHR"; + case VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR: + return "VkDispatchIndirect2InfoKHR"; + case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT: + return "VkConditionalRenderingBeginInfo2EXT"; + case VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT: + return "VkBindTransformFeedbackBuffer2InfoEXT"; + case VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD: + return "VkMemoryMarkerInfoAMD"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR: + return "VkAccelerationStructureCreateInfo2KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: + return "VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR: + return "VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR: + return "VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR: + return "VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: + return "VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR: + return "VkPhysicalDeviceShaderUntypedPointersFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: + return "VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR: + return "VkSurfaceCapabilitiesPresentId2KHR"; + case VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR: + return "VkPresentId2KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR: + return "VkPhysicalDevicePresentId2FeaturesKHR"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR: + return "VkSurfaceCapabilitiesPresentWait2KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR: + return "VkPhysicalDevicePresentWait2FeaturesKHR"; + case VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR: + return "VkPresentWait2InfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: + return "VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR: + return "VkPhysicalDevicePipelineBinaryFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR: + return "VkPhysicalDevicePipelineBinaryPropertiesKHR"; + case VK_STRUCTURE_TYPE_DEVICE_PIPELINE_BINARY_INTERNAL_CACHE_CONTROL_KHR: + return "VkDevicePipelineBinaryInternalCacheControlKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_BINARY_KEY_KHR: + return "VkPipelineBinaryKeyKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_INFO_KHR: + return "VkPipelineCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_BINARY_CREATE_INFO_KHR: + return "VkPipelineBinaryCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR: + return "VkPipelineBinaryInfoKHR"; + case VK_STRUCTURE_TYPE_RELEASE_CAPTURED_PIPELINE_DATA_INFO_KHR: + return "VkReleaseCapturedPipelineDataInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_BINARY_DATA_INFO_KHR: + return "VkPipelineBinaryDataInfoKHR"; + case VK_STRUCTURE_TYPE_PIPELINE_BINARY_HANDLES_INFO_KHR: + return "VkPipelineBinaryHandlesInfoKHR"; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR: + return "VkSurfacePresentModeKHR"; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR: + return "VkSurfacePresentScalingCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR: + return "VkSurfacePresentModeCompatibilityKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR: + return "VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR: + return "VkSwapchainPresentFenceInfoKHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR: + return "VkSwapchainPresentModesCreateInfoKHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR: + return "VkSwapchainPresentModeInfoKHR"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR: + return "VkSwapchainPresentScalingCreateInfoKHR"; + case VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR: + return "VkReleaseSwapchainImagesInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR: + return "VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR"; + case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR: + return "VkCooperativeMatrixPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: + return "VkPhysicalDeviceCooperativeMatrixFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR: + return "VkPhysicalDeviceCooperativeMatrixPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR: + return "VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_PROPERTIES_KHR: + return "VkPhysicalDeviceComputeShaderDerivativesPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR: + return "VkVideoDecodeAV1ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR: + return "VkVideoDecodeAV1CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoDecodeAV1SessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR: + return "VkVideoDecodeAV1PictureInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR: + return "VkVideoDecodeAV1DpbSlotInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_AV1_FEATURES_KHR: + return "VkPhysicalDeviceVideoEncodeAV1FeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_CAPABILITIES_KHR: + return "VkVideoEncodeAV1CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUALITY_LEVEL_PROPERTIES_KHR: + return "VkVideoEncodeAV1QualityLevelPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_CREATE_INFO_KHR: + return "VkVideoEncodeAV1SessionCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoEncodeAV1SessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PICTURE_INFO_KHR: + return "VkVideoEncodeAV1PictureInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_DPB_SLOT_INFO_KHR: + return "VkVideoEncodeAV1DpbSlotInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_PROFILE_INFO_KHR: + return "VkVideoEncodeAV1ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_GOP_REMAINING_FRAME_INFO_KHR: + return "VkVideoEncodeAV1GopRemainingFrameInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_INFO_KHR: + return "VkVideoEncodeAV1RateControlInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR: + return "VkVideoEncodeAV1RateControlLayerInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR: + return "VkPhysicalDeviceVideoDecodeVP9FeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR: + return "VkVideoDecodeVP9ProfileInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR: + return "VkVideoDecodeVP9CapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR: + return "VkVideoDecodeVP9PictureInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR: + return "VkPhysicalDeviceVideoMaintenance1FeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR: + return "VkVideoInlineQueryInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR: + return "VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR"; + case VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT: + return "VkAttachmentFeedbackLoopInfoEXT"; + case VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR: + return "VkCalibratedTimestampInfoKHR"; + case VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT: + return "VkSetDescriptorBufferOffsetsInfoEXT"; + case VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT: + return "VkBindDescriptorBufferEmbeddedSamplersInfoEXT"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR: + return "VkCopyMemoryIndirectInfoKHR"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR: + return "VkCopyMemoryToImageIndirectInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR: + return "VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR: + return "VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR: + return "VkVideoEncodeIntraRefreshCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR: + return "VkVideoEncodeSessionIntraRefreshCreateInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR: + return "VkVideoEncodeIntraRefreshInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR: + return "VkVideoReferenceIntraRefreshInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR: + return "VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR: + return "VkVideoEncodeQuantizationMapCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_FORMAT_QUANTIZATION_MAP_PROPERTIES_KHR: + return "VkVideoFormatQuantizationMapPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_INFO_KHR: + return "VkVideoEncodeQuantizationMapInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_SESSION_PARAMETERS_CREATE_INFO_KHR: + return "VkVideoEncodeQuantizationMapSessionParametersCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR: + return "VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUANTIZATION_MAP_CAPABILITIES_KHR: + return "VkVideoEncodeH264QuantizationMapCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUANTIZATION_MAP_CAPABILITIES_KHR: + return "VkVideoEncodeH265QuantizationMapCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_FORMAT_H265_QUANTIZATION_MAP_PROPERTIES_KHR: + return "VkVideoFormatH265QuantizationMapPropertiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_QUANTIZATION_MAP_CAPABILITIES_KHR: + return "VkVideoEncodeAV1QuantizationMapCapabilitiesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_FORMAT_AV1_QUANTIZATION_MAP_PROPERTIES_KHR: + return "VkVideoFormatAV1QuantizationMapPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR: + return "VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_FEATURES_KHR: + return "VkPhysicalDeviceMaintenance7FeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR: + return "VkPhysicalDeviceMaintenance7PropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_KHR: + return "VkPhysicalDeviceLayeredApiPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_PROPERTIES_LIST_KHR: + return "VkPhysicalDeviceLayeredApiPropertiesListKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR: + return "VkPhysicalDeviceLayeredApiVulkanPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR: + return "VkPhysicalDeviceFaultFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR: + return "VkPhysicalDeviceFaultPropertiesKHR"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR: + return "VkDeviceFaultInfoKHR"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR: + return "VkDeviceFaultDebugInfoKHR"; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + return "VkMemoryBarrierAccessFlags3KHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + return "VkPhysicalDeviceMaintenance8FeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR: + return "VkPhysicalDeviceShaderFmaFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR: + return "VkPhysicalDeviceMaintenance9FeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR: + return "VkPhysicalDeviceMaintenance9PropertiesKHR"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR: + return "VkQueueFamilyOwnershipTransferPropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + return "VkPhysicalDeviceVideoMaintenance2FeaturesKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR: + return "VkVideoDecodeH264InlineSessionParametersInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR: + return "VkVideoDecodeH265InlineSessionParametersInfoKHR"; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR: + return "VkVideoDecodeAV1InlineSessionParametersInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + return "VkPhysicalDeviceDepthClampZeroOneFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR: + return "VkPhysicalDeviceRobustness2FeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR: + return "VkPhysicalDeviceRobustness2PropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR: + return "VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR: + return "VkPhysicalDeviceMaintenance10FeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR: + return "VkPhysicalDeviceMaintenance10PropertiesKHR"; + case VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR: + return "VkRenderingEndInfoKHR"; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR: + return "VkRenderingAttachmentFlagsInfoKHR"; + case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR: + return "VkResolveImageModeInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: + return "VkPhysicalDeviceMaintenance11FeaturesKHR"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: + return "VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR"; + case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: + return "VkDebugReportCallbackCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD: + return "VkPipelineRasterizationStateRasterizationOrderAMD"; + case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT: + return "VkDebugMarkerObjectNameInfoEXT"; + case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT: + return "VkDebugMarkerObjectTagInfoEXT"; + case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT: + return "VkDebugMarkerMarkerInfoEXT"; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV: + return "VkDedicatedAllocationImageCreateInfoNV"; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV: + return "VkDedicatedAllocationBufferCreateInfoNV"; + case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV: + return "VkDedicatedAllocationMemoryAllocateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT: + return "VkPhysicalDeviceTransformFeedbackFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT: + return "VkPhysicalDeviceTransformFeedbackPropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT: + return "VkPipelineRasterizationStateStreamCreateInfoEXT"; + case VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX: + return "VkCuModuleCreateInfoNVX"; + case VK_STRUCTURE_TYPE_CU_MODULE_TEXTURING_MODE_CREATE_INFO_NVX: + return "VkCuModuleTexturingModeCreateInfoNVX"; + case VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX: + return "VkCuFunctionCreateInfoNVX"; + case VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX: + return "VkCuLaunchInfoNVX"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX: + return "VkImageViewHandleInfoNVX"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX: + return "VkImageViewAddressPropertiesNVX"; + case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD: + return "VkTextureLODGatherFormatPropertiesAMD"; +#ifdef VK_USE_PLATFORM_GGP + case VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP: + return "VkStreamDescriptorSurfaceCreateInfoGGP"; +#endif // VK_USE_PLATFORM_GGP + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV: + return "VkPhysicalDeviceCornerSampledImageFeaturesNV"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV: + return "VkExternalMemoryImageCreateInfoNV"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV: + return "VkExportMemoryAllocateInfoNV"; +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV: + return "VkImportMemoryWin32HandleInfoNV"; + case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV: + return "VkExportMemoryWin32HandleInfoNV"; + case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV: + return "VkWin32KeyedMutexAcquireReleaseInfoNV"; +#endif // VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT: + return "VkValidationFlagsEXT"; +#ifdef VK_USE_PLATFORM_VI_NN + case VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN: + return "VkViSurfaceCreateInfoNN"; +#endif // VK_USE_PLATFORM_VI_NN + case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT: + return "VkImageViewASTCDecodeModeEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT: + return "VkPhysicalDeviceASTCDecodeFeaturesEXT"; + case VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_EXT: + return "VkConditionalRenderingBeginInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT: + return "VkPhysicalDeviceConditionalRenderingFeaturesEXT"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT: + return "VkCommandBufferInheritanceConditionalRenderingInfoEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV: + return "VkPipelineViewportWScalingStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_2_EXT: + return "VkSurfaceCapabilities2EXT"; + case VK_STRUCTURE_TYPE_DISPLAY_POWER_INFO_EXT: + return "VkDisplayPowerInfoEXT"; + case VK_STRUCTURE_TYPE_DEVICE_EVENT_INFO_EXT: + return "VkDeviceEventInfoEXT"; + case VK_STRUCTURE_TYPE_DISPLAY_EVENT_INFO_EXT: + return "VkDisplayEventInfoEXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_COUNTER_CREATE_INFO_EXT: + return "VkSwapchainCounterCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE: + return "VkPresentTimesInfoGOOGLE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX: + return "VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX"; + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX: + return "VkMultiviewPerViewAttributesInfoNVX"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV: + return "VkPipelineViewportSwizzleStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT: + return "VkPhysicalDeviceDiscardRectanglePropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT: + return "VkPipelineDiscardRectangleStateCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT: + return "VkPhysicalDeviceConservativeRasterizationPropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT: + return "VkPipelineRasterizationConservativeStateCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT: + return "VkPhysicalDeviceDepthClipEnableFeaturesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT: + return "VkPipelineRasterizationDepthClipStateCreateInfoEXT"; + case VK_STRUCTURE_TYPE_HDR_METADATA_EXT: + return "VkHdrMetadataEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG: + return "VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG"; +#ifdef VK_USE_PLATFORM_IOS_MVK + case VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK: + return "VkIOSSurfaceCreateInfoMVK"; +#endif // VK_USE_PLATFORM_IOS_MVK +#ifdef VK_USE_PLATFORM_MACOS_MVK + case VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK: + return "VkMacOSSurfaceCreateInfoMVK"; +#endif // VK_USE_PLATFORM_MACOS_MVK + case VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT: + return "VkDebugUtilsLabelEXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT: + return "VkDebugUtilsObjectNameInfoEXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CALLBACK_DATA_EXT: + return "VkDebugUtilsMessengerCallbackDataEXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT: + return "VkDebugUtilsMessengerCreateInfoEXT"; + case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_TAG_INFO_EXT: + return "VkDebugUtilsObjectTagInfoEXT"; +#ifdef VK_USE_PLATFORM_ANDROID_KHR + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID: + return "VkAndroidHardwareBufferUsageANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID: + return "VkAndroidHardwareBufferPropertiesANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID: + return "VkAndroidHardwareBufferFormatPropertiesANDROID"; + case VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: + return "VkImportAndroidHardwareBufferInfoANDROID"; + case VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID: + return "VkMemoryGetAndroidHardwareBufferInfoANDROID"; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID: + return "VkExternalFormatANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID: + return "VkAndroidHardwareBufferFormatProperties2ANDROID"; +#endif // VK_USE_PLATFORM_ANDROID_KHR +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX: + return "VkPhysicalDeviceShaderEnqueueFeaturesAMDX"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX: + return "VkPhysicalDeviceShaderEnqueuePropertiesAMDX"; + case VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX: + return "VkExecutionGraphPipelineScratchSizeAMDX"; + case VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX: + return "VkExecutionGraphPipelineCreateInfoAMDX"; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX: + return "VkPipelineShaderStageNodeCreateInfoAMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT: + return "VkTexelBufferDescriptorInfoEXT"; + case VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT: + return "VkImageDescriptorInfoEXT"; + case VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM: + return "VkTensorViewCreateInfoARM"; + case VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT: + return "VkResourceDescriptorInfoEXT"; + case VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT: + return "VkBindHeapInfoEXT"; + case VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT: + return "VkPushDataInfoEXT"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT: + return "VkDescriptorSetAndBindingMappingEXT"; + case VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT: + return "VkShaderDescriptorSetAndBindingMappingInfoEXT"; + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT: + return "VkOpaqueCaptureDataCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT: + return "VkPhysicalDeviceDescriptorHeapFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT: + return "VkPhysicalDeviceDescriptorHeapPropertiesEXT"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT: + return "VkCommandBufferInheritanceDescriptorHeapInfoEXT"; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT: + return "VkSamplerCustomBorderColorIndexCreateInfoEXT"; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: + return "VkSamplerCustomBorderColorCreateInfoEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV: + return "VkIndirectCommandsLayoutPushDataTokenNV"; + case VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT: + return "VkSubsampledImageFormatPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM: + return "VkPhysicalDeviceDescriptorHeapTensorPropertiesARM"; + case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: + return "VkAttachmentSampleCountInfoAMD"; + case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT: + return "VkSampleLocationsInfoEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT: + return "VkRenderPassSampleLocationsBeginInfoEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT: + return "VkPipelineSampleLocationsStateCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT: + return "VkPhysicalDeviceSampleLocationsPropertiesEXT"; + case VK_STRUCTURE_TYPE_MULTISAMPLE_PROPERTIES_EXT: + return "VkMultisamplePropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT: + return "VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT: + return "VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT: + return "VkPipelineColorBlendAdvancedStateCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV: + return "VkPipelineCoverageToColorStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV: + return "VkPipelineCoverageModulationStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV: + return "VkPhysicalDeviceShaderSMBuiltinsPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV: + return "VkPhysicalDeviceShaderSMBuiltinsFeaturesNV"; + case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT: + return "VkDrmFormatModifierPropertiesListEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT: + return "VkPhysicalDeviceImageDrmFormatModifierInfoEXT"; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT: + return "VkImageDrmFormatModifierListCreateInfoEXT"; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT: + return "VkImageDrmFormatModifierExplicitCreateInfoEXT"; + case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT: + return "VkImageDrmFormatModifierPropertiesEXT"; + case VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT: + return "VkDrmFormatModifierPropertiesList2EXT"; + case VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT: + return "VkValidationCacheCreateInfoEXT"; + case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT: + return "VkShaderModuleValidationCacheCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV: + return "VkPipelineViewportShadingRateImageStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV: + return "VkPhysicalDeviceShadingRateImageFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV: + return "VkPhysicalDeviceShadingRateImagePropertiesNV"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV: + return "VkPipelineViewportCoarseSampleOrderStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV: + return "VkRayTracingShaderGroupCreateInfoNV"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV: + return "VkRayTracingPipelineCreateInfoNV"; + case VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV: + return "VkGeometryTrianglesNV"; + case VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV: + return "VkGeometryAABBNV"; + case VK_STRUCTURE_TYPE_GEOMETRY_NV: + return "VkGeometryNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV: + return "VkAccelerationStructureInfoNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV: + return "VkAccelerationStructureCreateInfoNV"; + case VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV: + return "VkBindAccelerationStructureMemoryInfoNV"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV: + return "VkWriteDescriptorSetAccelerationStructureNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV: + return "VkAccelerationStructureMemoryRequirementsInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV: + return "VkPhysicalDeviceRayTracingPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV: + return "VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV"; + case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV: + return "VkPipelineRepresentativeFragmentTestStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT: + return "VkPhysicalDeviceImageViewImageFormatInfoEXT"; + case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: + return "VkFilterCubicImageViewImageFormatPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM: + return "VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: + return "VkImportMemoryHostPointerInfoEXT"; + case VK_STRUCTURE_TYPE_MEMORY_HOST_POINTER_PROPERTIES_EXT: + return "VkMemoryHostPointerPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT: + return "VkPhysicalDeviceExternalMemoryHostPropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD: + return "VkPipelineCompilerControlCreateInfoAMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD: + return "VkPhysicalDeviceShaderCorePropertiesAMD"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: + return "VkDeviceMemoryOverallocationCreateInfoAMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: + return "VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT"; +#ifdef VK_USE_PLATFORM_GGP + case VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP: + return "VkPresentFrameTokenGGP"; +#endif // VK_USE_PLATFORM_GGP + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV: + return "VkPhysicalDeviceMeshShaderFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV: + return "VkPhysicalDeviceMeshShaderPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV: + return "VkPhysicalDeviceShaderImageFootprintFeaturesNV"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV: + return "VkPipelineViewportExclusiveScissorStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV: + return "VkPhysicalDeviceExclusiveScissorFeaturesNV"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV: + return "VkQueueFamilyCheckpointPropertiesNV"; + case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV: + return "VkCheckpointDataNV"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: + return "VkQueueFamilyCheckpointProperties2NV"; + case VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV: + return "VkCheckpointData2NV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT: + return "VkPhysicalDevicePresentTimingFeaturesEXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT: + return "VkPresentTimingSurfaceCapabilitiesEXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT: + return "VkSwapchainCalibratedTimestampInfoEXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT: + return "VkSwapchainTimingPropertiesEXT"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT: + return "VkSwapchainTimeDomainPropertiesEXT"; + case VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT: + return "VkPastPresentationTimingInfoEXT"; + case VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT: + return "VkPastPresentationTimingEXT"; + case VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT: + return "VkPastPresentationTimingPropertiesEXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT: + return "VkPresentTimingInfoEXT"; + case VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT: + return "VkPresentTimingsInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: + return "VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL"; + case VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL: + return "VkInitializePerformanceApiInfoINTEL"; + case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL: + return "VkQueryPoolPerformanceQueryCreateInfoINTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL: + return "VkPerformanceMarkerInfoINTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL: + return "VkPerformanceStreamMarkerInfoINTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL: + return "VkPerformanceOverrideInfoINTEL"; + case VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL: + return "VkPerformanceConfigurationAcquireInfoINTEL"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT: + return "VkPhysicalDevicePCIBusInfoPropertiesEXT"; + case VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD: + return "VkDisplayNativeHdrSurfaceCapabilitiesAMD"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD: + return "VkSwapchainDisplayNativeHdrCreateInfoAMD"; +#ifdef VK_USE_PLATFORM_FUCHSIA + case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA: + return "VkImagePipeSurfaceCreateInfoFUCHSIA"; +#endif // VK_USE_PLATFORM_FUCHSIA +#ifdef VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT: + return "VkMetalSurfaceCreateInfoEXT"; +#endif // VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT: + return "VkPhysicalDeviceFragmentDensityMapFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT: + return "VkPhysicalDeviceFragmentDensityMapPropertiesEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT: + return "VkRenderPassFragmentDensityMapCreateInfoEXT"; + case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT: + return "VkRenderingFragmentDensityMapAttachmentInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD: + return "VkPhysicalDeviceShaderCoreProperties2AMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD: + return "VkPhysicalDeviceCoherentMemoryFeaturesAMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT: + return "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT: + return "VkPhysicalDeviceMemoryBudgetPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT: + return "VkPhysicalDeviceMemoryPriorityFeaturesEXT"; + case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT: + return "VkMemoryPriorityAllocateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV: + return "VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT: + return "VkPhysicalDeviceBufferDeviceAddressFeaturesEXT"; + case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT: + return "VkBufferDeviceAddressCreateInfoEXT"; + case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT: + return "VkValidationFeaturesEXT"; + case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV: + return "VkCooperativeMatrixPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV: + return "VkPhysicalDeviceCooperativeMatrixFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV: + return "VkPhysicalDeviceCooperativeMatrixPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV: + return "VkPhysicalDeviceCoverageReductionModeFeaturesNV"; + case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV: + return "VkPipelineCoverageReductionStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV: + return "VkFramebufferMixedSamplesCombinationNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT: + return "VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT: + return "VkPhysicalDeviceYcbcrImageArraysFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT: + return "VkPhysicalDeviceProvokingVertexFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT: + return "VkPhysicalDeviceProvokingVertexPropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT: + return "VkPipelineRasterizationProvokingVertexStateCreateInfoEXT"; +#ifdef VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_INFO_EXT: + return "VkSurfaceFullScreenExclusiveInfoEXT"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT: + return "VkSurfaceCapabilitiesFullScreenExclusiveEXT"; + case VK_STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT: + return "VkSurfaceFullScreenExclusiveWin32InfoEXT"; +#endif // VK_USE_PLATFORM_WIN32_KHR + case VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT: + return "VkHeadlessSurfaceCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT: + return "VkPhysicalDeviceShaderAtomicFloatFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT: + return "VkPhysicalDeviceExtendedDynamicStateFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_FEATURES_EXT: + return "VkPhysicalDeviceMapMemoryPlacedFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAP_MEMORY_PLACED_PROPERTIES_EXT: + return "VkPhysicalDeviceMapMemoryPlacedPropertiesEXT"; + case VK_STRUCTURE_TYPE_MEMORY_MAP_PLACED_INFO_EXT: + return "VkMemoryMapPlacedInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: + return "VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: + return "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV: + return "VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV"; + case VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV: + return "VkGraphicsShaderGroupCreateInfoNV"; + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV: + return "VkGraphicsPipelineShaderGroupsCreateInfoNV"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV: + return "VkIndirectCommandsLayoutTokenNV"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV: + return "VkIndirectCommandsLayoutCreateInfoNV"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV: + return "VkGeneratedCommandsInfoNV"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV: + return "VkGeneratedCommandsMemoryRequirementsInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV: + return "VkPhysicalDeviceInheritedViewportScissorFeaturesNV"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV: + return "VkCommandBufferInheritanceViewportScissorInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: + return "VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM: + return "VkRenderPassTransformBeginInfoQCOM"; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM: + return "VkCommandBufferInheritanceRenderPassTransformInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT: + return "VkPhysicalDeviceDepthBiasControlFeaturesEXT"; + case VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT: + return "VkDepthBiasInfoEXT"; + case VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT: + return "VkDepthBiasRepresentationInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT: + return "VkPhysicalDeviceDeviceMemoryReportFeaturesEXT"; + case VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT: + return "VkDeviceMemoryReportCallbackDataEXT"; + case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: + return "VkDeviceDeviceMemoryReportCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: + return "VkPhysicalDeviceCustomBorderColorPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: + return "VkPhysicalDeviceCustomBorderColorFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + return "VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: + return "VkPhysicalDevicePresentBarrierFeaturesNV"; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV: + return "VkSurfaceCapabilitiesPresentBarrierNV"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV: + return "VkSwapchainPresentBarrierCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: + return "VkPhysicalDeviceDiagnosticsConfigFeaturesNV"; + case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: + return "VkDeviceDiagnosticsConfigCreateInfoNV"; + case VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM: + return "VkPerfHintInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + return "VkPhysicalDeviceQueuePerfHintFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + return "VkPhysicalDeviceQueuePerfHintPropertiesQCOM"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV: + return "VkCudaModuleCreateInfoNV"; + case VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV: + return "VkCudaFunctionCreateInfoNV"; + case VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV: + return "VkCudaLaunchInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: + return "VkPhysicalDeviceCudaKernelLaunchFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: + return "VkPhysicalDeviceCudaKernelLaunchPropertiesNV"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM: + return "VkPhysicalDeviceTileShadingFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM: + return "VkPhysicalDeviceTileShadingPropertiesQCOM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM: + return "VkRenderPassTileShadingCreateInfoQCOM"; + case VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM: + return "VkPerTileBeginInfoQCOM"; + case VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM: + return "VkPerTileEndInfoQCOM"; + case VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM: + return "VkDispatchTileInfoQCOM"; + case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: + return "VkQueryLowLatencySupportNV"; +#ifdef VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT: + return "VkExportMetalObjectCreateInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT: + return "VkExportMetalObjectsInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT: + return "VkExportMetalDeviceInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_COMMAND_QUEUE_INFO_EXT: + return "VkExportMetalCommandQueueInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_BUFFER_INFO_EXT: + return "VkExportMetalBufferInfoEXT"; + case VK_STRUCTURE_TYPE_IMPORT_METAL_BUFFER_INFO_EXT: + return "VkImportMetalBufferInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_TEXTURE_INFO_EXT: + return "VkExportMetalTextureInfoEXT"; + case VK_STRUCTURE_TYPE_IMPORT_METAL_TEXTURE_INFO_EXT: + return "VkImportMetalTextureInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_IO_SURFACE_INFO_EXT: + return "VkExportMetalIOSurfaceInfoEXT"; + case VK_STRUCTURE_TYPE_IMPORT_METAL_IO_SURFACE_INFO_EXT: + return "VkImportMetalIOSurfaceInfoEXT"; + case VK_STRUCTURE_TYPE_EXPORT_METAL_SHARED_EVENT_INFO_EXT: + return "VkExportMetalSharedEventInfoEXT"; + case VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT: + return "VkImportMetalSharedEventInfoEXT"; +#endif // VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: + return "VkPhysicalDeviceDescriptorBufferPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: + return "VkPhysicalDeviceDescriptorBufferFeaturesEXT"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT: + return "VkDescriptorAddressInfoEXT"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT: + return "VkDescriptorBufferBindingInfoEXT"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT: + return "VkDescriptorBufferBindingPushDescriptorBufferHandleEXT"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT: + return "VkDescriptorGetInfoEXT"; + case VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: + return "VkBufferCaptureDescriptorDataInfoEXT"; + case VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: + return "VkImageCaptureDescriptorDataInfoEXT"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: + return "VkImageViewCaptureDescriptorDataInfoEXT"; + case VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: + return "VkSamplerCaptureDescriptorDataInfoEXT"; + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: + return "VkOpaqueCaptureDescriptorDataCreateInfoEXT"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT: + return "VkAccelerationStructureCaptureDescriptorDataInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: + return "VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: + return "VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT: + return "VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT"; + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT: + return "VkGraphicsPipelineLibraryCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD: + return "VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV: + return "VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV: + return "VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV"; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV: + return "VkPipelineFragmentShadingRateEnumStateCreateInfoNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV: + return "VkAccelerationStructureGeometryMotionTrianglesDataNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV: + return "VkAccelerationStructureMotionInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV: + return "VkPhysicalDeviceRayTracingMotionBlurFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT: + return "VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT: + return "VkPhysicalDeviceFragmentDensityMap2FeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT: + return "VkPhysicalDeviceFragmentDensityMap2PropertiesEXT"; + case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM: + return "VkCopyCommandTransformInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT: + return "VkPhysicalDeviceImageCompressionControlFeaturesEXT"; + case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT: + return "VkImageCompressionControlEXT"; + case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT: + return "VkImageCompressionPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT: + return "VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT: + return "VkPhysicalDevice4444FormatsFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT: + return "VkPhysicalDeviceFaultFeaturesEXT"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT: + return "VkDeviceFaultCountsEXT"; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT: + return "VkDeviceFaultInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT: + return "VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: + return "VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT"; +#ifdef VK_USE_PLATFORM_DIRECTFB_EXT + case VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT: + return "VkDirectFBSurfaceCreateInfoEXT"; +#endif // VK_USE_PLATFORM_DIRECTFB_EXT + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT: + return "VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT"; + case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT: + return "VkMutableDescriptorTypeCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT: + return "VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT"; + case VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT: + return "VkVertexInputBindingDescription2EXT"; + case VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT: + return "VkVertexInputAttributeDescription2EXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT: + return "VkPhysicalDeviceDrmPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: + return "VkPhysicalDeviceAddressBindingReportFeaturesEXT"; + case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT: + return "VkDeviceAddressBindingCallbackDataEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT: + return "VkPhysicalDeviceDepthClipControlFeaturesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT: + return "VkPipelineViewportDepthClipControlCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: + return "VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT"; +#ifdef VK_USE_PLATFORM_FUCHSIA + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: + return "VkImportMemoryZirconHandleInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA: + return "VkMemoryZirconHandlePropertiesFUCHSIA"; + case VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA: + return "VkMemoryGetZirconHandleInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA: + return "VkImportSemaphoreZirconHandleInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA: + return "VkSemaphoreGetZirconHandleInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA: + return "VkBufferCollectionCreateInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA: + return "VkImportMemoryBufferCollectionFUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA: + return "VkBufferCollectionImageCreateInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA: + return "VkBufferCollectionConstraintsInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA: + return "VkBufferConstraintsInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA: + return "VkBufferCollectionBufferCreateInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA: + return "VkSysmemColorSpaceFUCHSIA"; + case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA: + return "VkBufferCollectionPropertiesFUCHSIA"; + case VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA: + return "VkImageFormatConstraintsInfoFUCHSIA"; + case VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA: + return "VkImageConstraintsInfoFUCHSIA"; +#endif // VK_USE_PLATFORM_FUCHSIA + case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI: + return "VkSubpassShadingPipelineCreateInfoHUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI: + return "VkPhysicalDeviceSubpassShadingFeaturesHUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI: + return "VkPhysicalDeviceSubpassShadingPropertiesHUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI: + return "VkPhysicalDeviceInvocationMaskFeaturesHUAWEI"; + case VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV: + return "VkMemoryGetRemoteAddressInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV: + return "VkPhysicalDeviceExternalMemoryRDMAFeaturesNV"; + case VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT: + return "VkPipelinePropertiesIdentifierEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT: + return "VkPhysicalDevicePipelinePropertiesFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT: + return "VkPhysicalDeviceFrameBoundaryFeaturesEXT"; + case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT: + return "VkFrameBoundaryEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT: + return "VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT"; + case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT: + return "VkSubpassResolvePerformanceQueryEXT"; + case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT: + return "VkMultisampledRenderToSingleSampledInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT: + return "VkPhysicalDeviceExtendedDynamicState2FeaturesEXT"; +#ifdef VK_USE_PLATFORM_SCREEN_QNX + case VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX: + return "VkScreenSurfaceCreateInfoQNX"; +#endif // VK_USE_PLATFORM_SCREEN_QNX + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT: + return "VkPhysicalDeviceColorWriteEnableFeaturesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT: + return "VkPipelineColorWriteCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: + return "VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE: + return "VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE: + return "VkVideoEncodeRgbConversionCapabilitiesVALVE"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE: + return "VkVideoEncodeProfileRgbConversionInfoVALVE"; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE: + return "VkVideoEncodeSessionRgbConversionCreateInfoVALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: + return "VkPhysicalDeviceImageViewMinLodFeaturesEXT"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT: + return "VkImageViewMinLodCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT: + return "VkPhysicalDeviceMultiDrawFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: + return "VkPhysicalDeviceMultiDrawPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT: + return "VkPhysicalDeviceImage2DViewOf3DFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT: + return "VkPhysicalDeviceShaderTileImageFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT: + return "VkPhysicalDeviceShaderTileImagePropertiesEXT"; + case VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT: + return "VkMicromapBuildInfoEXT"; + case VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT: + return "VkMicromapCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT: + return "VkPhysicalDeviceOpacityMicromapFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT: + return "VkPhysicalDeviceOpacityMicromapPropertiesEXT"; + case VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT: + return "VkMicromapVersionInfoEXT"; + case VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT: + return "VkCopyMicromapToMemoryInfoEXT"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT: + return "VkCopyMemoryToMicromapInfoEXT"; + case VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT: + return "VkCopyMicromapInfoEXT"; + case VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT: + return "VkMicromapBuildSizesInfoEXT"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT: + return "VkAccelerationStructureTrianglesOpacityMicromapEXT"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV: + return "VkPhysicalDeviceDisplacementMicromapFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV: + return "VkPhysicalDeviceDisplacementMicromapPropertiesNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV: + return "VkAccelerationStructureTrianglesDisplacementMicromapNV"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI: + return "VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI: + return "VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI: + return "VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT: + return "VkPhysicalDeviceBorderColorSwizzleFeaturesEXT"; + case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT: + return "VkSamplerBorderColorComponentMappingCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT: + return "VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM: + return "VkPhysicalDeviceShaderCorePropertiesARM"; + case VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM: + return "VkDeviceQueueShaderCoreControlCreateInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM: + return "VkPhysicalDeviceSchedulingControlsFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: + return "VkPhysicalDeviceSchedulingControlsPropertiesARM"; + case VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM: + return "VkDispatchParametersARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + return "VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: + return "VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT: + return "VkImageViewSlicedCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: + return "VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE: + return "VkDescriptorSetBindingReferenceVALVE"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE: + return "VkDescriptorSetLayoutHostMappingInfoVALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: + return "VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM: + return "VkPhysicalDeviceRenderPassStripedFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM: + return "VkPhysicalDeviceRenderPassStripedPropertiesARM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM: + return "VkRenderPassStripeInfoARM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM: + return "VkRenderPassStripeBeginInfoARM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM: + return "VkRenderPassStripeSubmitInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT: + return "VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT: + return "VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT: + return "VkRenderPassFragmentDensityMapOffsetEndInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: + return "VkPhysicalDeviceCopyMemoryIndirectFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT: + return "VkPhysicalDeviceMemoryDecompressionFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT: + return "VkPhysicalDeviceMemoryDecompressionPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: + return "VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV"; + case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: + return "VkComputePipelineIndirectBufferInfoNV"; + case VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV: + return "VkPipelineIndirectDeviceAddressInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + return "VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV: + return "VkAccelerationStructureGeometryLinearSweptSpheresDataNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV: + return "VkAccelerationStructureGeometrySpheresDataNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: + return "VkPhysicalDeviceLinearColorAttachmentFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT: + return "VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT"; + case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM: + return "VkImageViewSampleWeightCreateInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM: + return "VkPhysicalDeviceImageProcessingFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM: + return "VkPhysicalDeviceImageProcessingPropertiesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT: + return "VkPhysicalDeviceNestedCommandBufferFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: + return "VkPhysicalDeviceNestedCommandBufferPropertiesEXT"; +#ifdef VK_USE_PLATFORM_OHOS + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS: + return "VkNativeBufferUsageOHOS"; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS: + return "VkNativeBufferPropertiesOHOS"; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS: + return "VkNativeBufferFormatPropertiesOHOS"; + case VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS: + return "VkImportNativeBufferInfoOHOS"; + case VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS: + return "VkMemoryGetNativeBufferInfoOHOS"; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS: + return "VkExternalFormatOHOS"; +#endif // VK_USE_PLATFORM_OHOS + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: + return "VkExternalMemoryAcquireUnmodifiedEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT: + return "VkPhysicalDeviceExtendedDynamicState3FeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT: + return "VkPhysicalDeviceExtendedDynamicState3PropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT: + return "VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT: + return "VkRenderPassCreationControlEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT: + return "VkRenderPassCreationFeedbackCreateInfoEXT"; + case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT: + return "VkRenderPassSubpassFeedbackCreateInfoEXT"; + case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG: + return "VkDirectDriverLoadingInfoLUNARG"; + case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: + return "VkDirectDriverLoadingListLUNARG"; + case VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM: + return "VkTensorDescriptionARM"; + case VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM: + return "VkTensorCreateInfoARM"; + case VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM: + return "VkTensorMemoryRequirementsInfoARM"; + case VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM: + return "VkBindTensorMemoryInfoARM"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM: + return "VkWriteDescriptorSetTensorARM"; + case VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM: + return "VkTensorFormatPropertiesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM: + return "VkPhysicalDeviceTensorPropertiesARM"; + case VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM: + return "VkTensorMemoryBarrierARM"; + case VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM: + return "VkTensorDependencyInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM: + return "VkPhysicalDeviceTensorFeaturesARM"; + case VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM: + return "VkDeviceTensorMemoryRequirementsARM"; + case VK_STRUCTURE_TYPE_TENSOR_COPY_ARM: + return "VkTensorCopyARM"; + case VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM: + return "VkCopyTensorInfoARM"; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM: + return "VkMemoryDedicatedAllocateInfoTensorARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM: + return "VkPhysicalDeviceExternalTensorInfoARM"; + case VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM: + return "VkExternalTensorPropertiesARM"; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM: + return "VkExternalMemoryTensorCreateInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM: + return "VkPhysicalDeviceDescriptorBufferTensorFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM: + return "VkPhysicalDeviceDescriptorBufferTensorPropertiesARM"; + case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM: + return "VkDescriptorGetTensorInfoARM"; + case VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM: + return "VkTensorCaptureDescriptorDataInfoARM"; + case VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM: + return "VkTensorViewCaptureDescriptorDataInfoARM"; + case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM: + return "VkFrameBoundaryTensorsARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: + return "VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT: + return "VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT: + return "VkPipelineShaderStageModuleIdentifierCreateInfoEXT"; + case VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT: + return "VkShaderModuleIdentifierEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV: + return "VkPhysicalDeviceOpticalFlowFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV: + return "VkPhysicalDeviceOpticalFlowPropertiesNV"; + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV: + return "VkOpticalFlowImageFormatInfoNV"; + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV: + return "VkOpticalFlowImageFormatPropertiesNV"; + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV: + return "VkOpticalFlowSessionCreateInfoNV"; + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV: + return "VkOpticalFlowSessionCreatePrivateDataInfoNV"; + case VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV: + return "VkOpticalFlowExecuteInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT: + return "VkPhysicalDeviceLegacyDitheringFeaturesEXT"; +#ifdef VK_USE_PLATFORM_ANDROID_KHR + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID: + return "VkPhysicalDeviceExternalFormatResolveFeaturesANDROID"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID: + return "VkPhysicalDeviceExternalFormatResolvePropertiesANDROID"; + case VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID: + return "VkAndroidHardwareBufferFormatResolvePropertiesANDROID"; +#endif // VK_USE_PLATFORM_ANDROID_KHR + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD: + return "VkPhysicalDeviceAntiLagFeaturesAMD"; + case VK_STRUCTURE_TYPE_ANTI_LAG_PRESENTATION_INFO_AMD: + return "VkAntiLagPresentationInfoAMD"; + case VK_STRUCTURE_TYPE_ANTI_LAG_DATA_AMD: + return "VkAntiLagDataAMD"; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: + return "VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX: + return "VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX"; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: + return "VkPhysicalDeviceShaderObjectFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT: + return "VkPhysicalDeviceShaderObjectPropertiesEXT"; + case VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT: + return "VkShaderCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM: + return "VkPhysicalDeviceTilePropertiesFeaturesQCOM"; + case VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM: + return "VkTilePropertiesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC: + return "VkPhysicalDeviceAmigoProfilingFeaturesSEC"; + case VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC: + return "VkAmigoProfilingSubmitInfoSEC"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM: + return "VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV: + return "VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: + return "VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: + return "VkPhysicalDeviceCooperativeVectorPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + return "VkPhysicalDeviceCooperativeVectorFeaturesNV"; + case VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV: + return "VkCooperativeVectorPropertiesNV"; + case VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV: + return "VkConvertCooperativeVectorMatrixInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: + return "VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV: + return "VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT: + return "VkPhysicalDeviceLegacyVertexAttributesFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_PROPERTIES_EXT: + return "VkPhysicalDeviceLegacyVertexAttributesPropertiesEXT"; + case VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT: + return "VkLayerSettingsCreateInfoEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM: + return "VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM: + return "VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT: + return "VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT: + return "VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT"; + case VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV: + return "VkLatencySleepModeInfoNV"; + case VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV: + return "VkLatencySleepInfoNV"; + case VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV: + return "VkSetLatencyMarkerInfoNV"; + case VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV: + return "VkLatencyTimingsFrameReportNV"; + case VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV: + return "VkGetLatencyMarkerInfoNV"; + case VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV: + return "VkLatencySubmissionPresentIdNV"; + case VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV: + return "VkSwapchainLatencyCreateInfoNV"; + case VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV: + return "VkOutOfBandQueueTypeInfoNV"; + case VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: + return "VkLatencySurfaceCapabilitiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM: + return "VkPhysicalDeviceDataGraphFeaturesARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM: + return "VkDataGraphPipelineConstantARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM: + return "VkDataGraphPipelineResourceInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM: + return "VkDataGraphPipelineCompilerControlCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM: + return "VkDataGraphPipelineCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM: + return "VkDataGraphPipelineShaderModuleCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM: + return "VkDataGraphPipelineSessionCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM: + return "VkDataGraphPipelineSessionBindPointRequirementsInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM: + return "VkDataGraphPipelineSessionBindPointRequirementARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM: + return "VkDataGraphPipelineSessionMemoryRequirementsInfoARM"; + case VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM: + return "VkBindDataGraphPipelineSessionMemoryInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM: + return "VkDataGraphPipelineInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM: + return "VkDataGraphPipelinePropertyQueryResultARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM: + return "VkDataGraphPipelineIdentifierCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM: + return "VkDataGraphPipelineDispatchInfoARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM: + return "VkQueueFamilyDataGraphPropertiesARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM: + return "VkDataGraphProcessingEngineCreateInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM: + return "VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM: + return "VkQueueFamilyDataGraphProcessingEnginePropertiesARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: + return "VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM: + return "VkQueueFamilyDataGraphTOSAPropertiesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: + return "VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM"; + case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM: + return "VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV: + return "VkPhysicalDevicePerStageDescriptorSetFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM: + return "VkPhysicalDeviceImageProcessing2FeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM: + return "VkPhysicalDeviceImageProcessing2PropertiesQCOM"; + case VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM: + return "VkSamplerBlockMatchWindowCreateInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM: + return "VkPhysicalDeviceCubicWeightsFeaturesQCOM"; + case VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM: + return "VkSamplerCubicWeightsCreateInfoQCOM"; + case VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM: + return "VkBlitImageCubicWeightsInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM: + return "VkPhysicalDeviceYcbcrDegammaFeaturesQCOM"; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM: + return "VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM: + return "VkPhysicalDeviceCubicClampFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT: + return "VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT"; +#ifdef VK_USE_PLATFORM_SCREEN_QNX + case VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX: + return "VkScreenBufferPropertiesQNX"; + case VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX: + return "VkScreenBufferFormatPropertiesQNX"; + case VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX: + return "VkImportScreenBufferInfoQNX"; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX: + return "VkExternalFormatQNX"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX: + return "VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX"; +#endif // VK_USE_PLATFORM_SCREEN_QNX + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT: + return "VkPhysicalDeviceLayeredDriverPropertiesMSFT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: + return "VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM: + return "VkPhysicalDeviceTileMemoryHeapFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM: + return "VkPhysicalDeviceTileMemoryHeapPropertiesQCOM"; + case VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM: + return "VkTileMemoryRequirementsQCOM"; + case VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM: + return "VkTileMemoryBindInfoQCOM"; + case VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM: + return "VkTileMemorySizeInfoQCOM"; + case VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT: + return "VkDecompressMemoryInfoEXT"; + case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV: + return "VkDisplaySurfaceStereoCreateInfoNV"; + case VK_STRUCTURE_TYPE_DISPLAY_MODE_STEREO_PROPERTIES_NV: + return "VkDisplayModeStereoPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: + return "VkPhysicalDeviceRawAccessChainsFeaturesNV"; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV: + return "VkExternalComputeQueueDeviceCreateInfoNV"; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV: + return "VkExternalComputeQueueCreateInfoNV"; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV: + return "VkExternalComputeQueueDataParamsNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV: + return "VkPhysicalDeviceExternalComputeQueuePropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV: + return "VkPhysicalDeviceCommandBufferInheritanceFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV: + return "VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT: + return "VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT: + return "VkPhysicalDeviceShaderFloat8FeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: + return "VkPhysicalDeviceRayTracingValidationFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + return "VkPhysicalDeviceClusterAccelerationStructureFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: + return "VkPhysicalDeviceClusterAccelerationStructurePropertiesNV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV: + return "VkClusterAccelerationStructureClustersBottomLevelInputNV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV: + return "VkClusterAccelerationStructureTriangleClusterInputNV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV: + return "VkClusterAccelerationStructureMoveObjectsInputNV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV: + return "VkClusterAccelerationStructureInputInfoNV"; + case VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV: + return "VkClusterAccelerationStructureCommandsInfoNV"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR: + return "VkAccelerationStructureBuildSizesInfoKHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV: + return "VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + return "VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: + return "VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV"; + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV: + return "VkPartitionedAccelerationStructureFlagsNV"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV: + return "VkWriteDescriptorSetPartitionedAccelerationStructureNV"; + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV: + return "VkPartitionedAccelerationStructureInstancesInputNV"; + case VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV: + return "VkBuildPartitionedAccelerationStructureInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT: + return "VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT: + return "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT: + return "VkGeneratedCommandsMemoryRequirementsInfoEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT: + return "VkIndirectExecutionSetPipelineInfoEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT: + return "VkIndirectExecutionSetShaderLayoutInfoEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_INFO_EXT: + return "VkIndirectExecutionSetShaderInfoEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_CREATE_INFO_EXT: + return "VkIndirectExecutionSetCreateInfoEXT"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_EXT: + return "VkGeneratedCommandsInfoEXT"; + case VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_PIPELINE_EXT: + return "VkWriteIndirectExecutionSetPipelineEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_EXT: + return "VkIndirectCommandsLayoutTokenEXT"; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_EXT: + return "VkIndirectCommandsLayoutCreateInfoEXT"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT: + return "VkGeneratedCommandsPipelineInfoEXT"; + case VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT: + return "VkGeneratedCommandsShaderInfoEXT"; + case VK_STRUCTURE_TYPE_WRITE_INDIRECT_EXECUTION_SET_SHADER_EXT: + return "VkWriteIndirectExecutionSetShaderEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA: + return "VkPhysicalDeviceImageAlignmentControlFeaturesMESA"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA: + return "VkPhysicalDeviceImageAlignmentControlPropertiesMESA"; + case VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA: + return "VkImageAlignmentControlCreateInfoMESA"; + case VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV: + return "VkPushConstantBankInfoNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV: + return "VkPhysicalDevicePushConstantBankFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV: + return "VkPhysicalDevicePushConstantBankPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT: + return "VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT: + return "VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT: + return "VkPhysicalDeviceDepthClampControlFeaturesEXT"; + case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT: + return "VkPipelineViewportDepthClampControlCreateInfoEXT"; +#ifdef VK_USE_PLATFORM_OHOS + case VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS: + return "VkSurfaceCreateInfoOHOS"; +#endif // VK_USE_PLATFORM_OHOS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI: + return "VkPhysicalDeviceHdrVividFeaturesHUAWEI"; + case VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI: + return "VkHdrVividDynamicMetadataHUAWEI"; + case VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV: + return "VkCooperativeMatrixFlexibleDimensionsPropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV: + return "VkPhysicalDeviceCooperativeMatrix2FeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: + return "VkPhysicalDeviceCooperativeMatrix2PropertiesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + return "VkPhysicalDevicePipelineOpacityMicromapFeaturesARM"; +#ifdef VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT: + return "VkImportMemoryMetalHandleInfoEXT"; + case VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT: + return "VkMemoryMetalHandlePropertiesEXT"; + case VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT: + return "VkMemoryGetMetalHandleInfoEXT"; +#endif // VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM: + return "VkPhysicalDevicePerformanceCountersByRegionFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM: + return "VkPhysicalDevicePerformanceCountersByRegionPropertiesARM"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM: + return "VkPerformanceCounterARM"; + case VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM: + return "VkPerformanceCounterDescriptionARM"; + case VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM: + return "VkRenderPassPerformanceCountersByRegionBeginInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM: + return "VkPhysicalDeviceShaderInstrumentationFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM: + return "VkPhysicalDeviceShaderInstrumentationPropertiesARM"; + case VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM: + return "VkShaderInstrumentationCreateInfoARM"; + case VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM: + return "VkShaderInstrumentationMetricDescriptionARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT: + return "VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM: + return "VkPhysicalDeviceFormatPackFeaturesARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE: + return "VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE: + return "VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE"; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE: + return "VkPipelineFragmentDensityMapLayeredCreateInfoVALVE"; + case VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV: + return "VkSetPresentConfigNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: + return "VkPhysicalDevicePresentMeteringFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: + return "VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT: + return "VkPhysicalDeviceShader64BitIndexingFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: + return "VkPhysicalDeviceCustomResolveFeaturesEXT"; + case VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT: + return "VkBeginCustomResolveInfoEXT"; + case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT: + return "VkCustomResolveCreateInfoEXT"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM: + return "VkDataGraphPipelineBuiltinModelCreateInfoQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: + return "VkPhysicalDeviceDataGraphModelFeaturesQCOM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM: + return "VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM"; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM: + return "VkQueueFamilyDataGraphOpticalFlowPropertiesARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM: + return "VkDataGraphPipelineOpticalFlowCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM: + return "VkDataGraphOpticalFlowImageFormatPropertiesARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM: + return "VkDataGraphOpticalFlowImageFormatInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM: + return "VkDataGraphPipelineOpticalFlowDispatchInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM: + return "VkDataGraphPipelineResourceInfoImageLayoutARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM: + return "VkDataGraphPipelineSingleNodeConnectionARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM: + return "VkDataGraphPipelineSingleNodeCreateInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + return "VkPhysicalDeviceShaderLongVectorFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + return "VkPhysicalDeviceShaderLongVectorPropertiesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: + return "VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: + return "VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT"; + case VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV: + return "VkComputeOccupancyPriorityParametersNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + return "VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: + return "VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT"; +#ifdef VK_USE_PLATFORM_UBM_SEC + case VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC: + return "VkUbmSurfaceCreateInfoSEC"; +#endif // VK_USE_PLATFORM_UBM_SEC + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: + return "VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE"; + case VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC: + return "VkThrottleHintSubmitInfoSEC"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC: + return "VkPhysicalDeviceThrottleHintFeaturesSEC"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM: + return "VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM: + return "VkDataGraphPipelineNeuralStatisticsCreateInfoARM"; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM: + return "VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + return "VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR: + return "VkAccelerationStructureGeometryTrianglesDataKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_AABBS_DATA_KHR: + return "VkAccelerationStructureGeometryAabbsDataKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_INSTANCES_DATA_KHR: + return "VkAccelerationStructureGeometryInstancesDataKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_KHR: + return "VkAccelerationStructureGeometryKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_GEOMETRY_INFO_KHR: + return "VkAccelerationStructureBuildGeometryInfoKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_KHR: + return "VkAccelerationStructureCreateInfoKHR"; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: + return "VkWriteDescriptorSetAccelerationStructureKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR: + return "VkPhysicalDeviceAccelerationStructureFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR: + return "VkPhysicalDeviceAccelerationStructurePropertiesKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DEVICE_ADDRESS_INFO_KHR: + return "VkAccelerationStructureDeviceAddressInfoKHR"; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_VERSION_INFO_KHR: + return "VkAccelerationStructureVersionInfoKHR"; + case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_TO_MEMORY_INFO_KHR: + return "VkCopyAccelerationStructureToMemoryInfoKHR"; + case VK_STRUCTURE_TYPE_COPY_MEMORY_TO_ACCELERATION_STRUCTURE_INFO_KHR: + return "VkCopyMemoryToAccelerationStructureInfoKHR"; + case VK_STRUCTURE_TYPE_COPY_ACCELERATION_STRUCTURE_INFO_KHR: + return "VkCopyAccelerationStructureInfoKHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_KHR: + return "VkRayTracingShaderGroupCreateInfoKHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_INTERFACE_CREATE_INFO_KHR: + return "VkRayTracingPipelineInterfaceCreateInfoKHR"; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_KHR: + return "VkRayTracingPipelineCreateInfoKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR: + return "VkPhysicalDeviceRayTracingPipelineFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR: + return "VkPhysicalDeviceRayTracingPipelinePropertiesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR: + return "VkPhysicalDeviceRayQueryFeaturesKHR"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: + return "VkPhysicalDeviceMeshShaderFeaturesEXT"; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT: + return "VkPhysicalDeviceMeshShaderPropertiesEXT"; + default: + return "Unhandled VkStructureType"; + } +}
diff --git a/scripts/generate_source.py b/scripts/generate_source.py index 01cf652..cf4ab13 100755 --- a/scripts/generate_source.py +++ b/scripts/generate_source.py
@@ -8,6 +8,7 @@ import argparse import os import sys +import re import shutil import common_ci from xml.etree import ElementTree @@ -33,7 +34,7 @@ print("Inside Vulkan-Headers there is a registry/reg.py file that is used.") sys.exit(1) # Return without call stack so easy to spot error - from generators.base_generator import BaseGeneratorOptions + from base_generator import BaseGeneratorOptions from generators.dispatch_table_generator import DispatchTableOutputGenerator from generators.enum_string_helper_generator import EnumStringHelperOutputGenerator from generators.format_utils_generator import FormatUtilsOutputGenerator @@ -42,7 +43,7 @@ # These set fields that are needed by both OutputGenerator and BaseGenerator, # but are uniform and don't need to be set at a per-generated file level - from generators.base_generator import (SetTargetApiName, SetMergedApiNames) + from base_generator import (SetTargetApiName, SetMergedApiNames) SetTargetApiName(api) # Build up a list of all generators and custom options @@ -138,9 +139,6 @@ # Parse the specified registry XML into an ElementTree object tree = ElementTree.parse(registry) - # Filter out extensions that are not on the API list - [exts.remove(e) for exts in tree.findall('extensions') for e in exts.findall('extension') if (sup := e.get('supported')) is not None and all(api not in sup.split(',') for api in apiList)] - # Load the XML tree into the registry object reg.loadElementTree(tree) @@ -151,6 +149,10 @@ if has_clang_format: common_ci.RunShellCmd(f'clang-format -i {os.path.join(outDirectory, target)}') +# helper to define paths relative to the repo root +def repo_relative(path): + return os.path.abspath(os.path.join(os.path.dirname(__file__), '..', path)) + def main(argv): parser = argparse.ArgumentParser(description='Generate source code for this repository') parser.add_argument('--api', @@ -158,6 +160,7 @@ choices=['vulkan'], help='Specify API name to generate') parser.add_argument('registry', metavar='REGISTRY_PATH', help='path to the Vulkan-Headers registry directory') + parser.add_argument('--generated-version', help='sets the header version used to generate the repo') group = parser.add_mutually_exclusive_group() group.add_argument('--target', nargs='+', help='only generate file name passed in') args = parser.parse_args(argv) @@ -171,6 +174,15 @@ RunGenerators(args.api, registry, args.target) + # write out the header version used to generate the code to a checked in CMake file + if args.generated_version: + # Update the CMake project version + with open(repo_relative('CMakeLists.txt'), "r+") as f: + data = f.read() + f.seek(0) + f.write(re.sub("project.*VERSION.*", f"project(VUL VERSION {args.generated_version} LANGUAGES CXX)", data)) + f.truncate() + return 0 if __name__ == '__main__':
diff --git a/scripts/generators/base_generator.py b/scripts/generators/base_generator.py deleted file mode 100644 index 639acfe..0000000 --- a/scripts/generators/base_generator.py +++ /dev/null
@@ -1,768 +0,0 @@ -#!/usr/bin/python3 -i -# -# Copyright (c) 2023-2024 Valve Corporation -# Copyright (c) 2023-2024 LunarG, Inc. -# Copyright (c) 2023-2024 RasterGrid Kft. -# -# SPDX-License-Identifier: Apache-2.0 - -import pickle -import os -import tempfile -from generators.vulkan_object import (VulkanObject, - Extension, Version, Handle, Param, Queues, CommandScope, Command, - EnumField, Enum, Flag, Bitmask, Member, Struct, - FormatComponent, FormatPlane, Format, - SyncSupport, SyncEquivalent, SyncStage, SyncAccess, SyncPipelineStage, SyncPipeline, - SpirvEnables, Spirv) - -# These live in the Vulkan-Docs repo, but are pulled in via the -# Vulkan-Headers/registry folder -from generator import OutputGenerator, GeneratorOptions, write -from vkconventions import VulkanConventions - -# An API style convention object -vulkanConventions = VulkanConventions() - -# Helpers to keep things cleaner -def splitIfGet(elem, name): - return elem.get(name).split(',') if elem.get(name) is not None else None - -def textIfFind(elem, name): - return elem.find(name).text if elem.find(name) is not None else None - -def intIfGet(elem, name): - return None if elem.get(name) is None else int(elem.get(name), 0) - -def boolGet(elem, name) -> bool: - return elem.get(name) is not None and elem.get(name) == "true" - -def getQueues(elem) -> Queues: - queues = 0 - queues_list = splitIfGet(elem, 'queues') - if queues_list is not None: - queues |= Queues.TRANSFER if 'transfer' in queues_list else 0 - queues |= Queues.GRAPHICS if 'graphics' in queues_list else 0 - queues |= Queues.COMPUTE if 'compute' in queues_list else 0 - queues |= Queues.PROTECTED if 'protected' in queues_list else 0 - queues |= Queues.SPARSE_BINDING if 'sparse_binding' in queues_list else 0 - queues |= Queues.OPTICAL_FLOW if 'opticalflow' in queues_list else 0 - queues |= Queues.DECODE if 'decode' in queues_list else 0 - queues |= Queues.ENCODE if 'encode' in queues_list else 0 - return queues - -# Shared object used by Sync elements that don't have ones -maxSyncSupport = SyncSupport(None, None, True) -maxSyncEquivalent = SyncEquivalent(None, None, True) - -# Helpers to set GeneratorOptions options globally -def SetOutputFileName(fileName: str) -> None: - global globalFileName - globalFileName = fileName - -def SetOutputDirectory(directory: str) -> None: - global globalDirectory - globalDirectory = directory - -def SetTargetApiName(apiname: str) -> None: - global globalApiName - globalApiName = apiname - -def SetMergedApiNames(names: str) -> None: - global mergedApiNames - mergedApiNames = names - -cachingEnabled = False -def EnableCaching() -> None: - global cachingEnabled - cachingEnabled = True - -# This class is a container for any source code, data, or other behavior that is necessary to -# customize the generator script for a specific target API variant (e.g. Vulkan SC). As such, -# all of these API-specific interfaces and their use in the generator script are part of the -# contract between this repository and its downstream users. Changing or removing any of these -# interfaces or their use in the generator script will have downstream effects and thus -# should be avoided unless absolutely necessary. -class APISpecific: - # Version object factory method - @staticmethod - def createApiVersion(targetApiName: str, name: str, number: str) -> Version: - match targetApiName: - - # Vulkan specific API version creation - case 'vulkan': - nameApi = name.replace('VK_', 'VK_API_') - nameString = f'"{name}"' - return Version(name, nameString, nameApi, number) - - -# This Generator Option is used across all generators. -# After years of use, it has shown that most the options are unified across each generator (file) -# as it is easier to modifiy things per-file that need the difference -class BaseGeneratorOptions(GeneratorOptions): - def __init__(self, - customFileName = None, - customDirectory = None, - customApiName = None): - GeneratorOptions.__init__(self, - conventions = vulkanConventions, - filename = customFileName if customFileName else globalFileName, - directory = customDirectory if customDirectory else globalDirectory, - apiname = customApiName if customApiName else globalApiName, - mergeApiNames = mergedApiNames, - defaultExtensions = customApiName if customApiName else globalApiName, - emitExtensions = '.*', - emitSpirv = '.*', - emitFormats = '.*') - # These are used by the generator.py script - self.apicall = 'VKAPI_ATTR ' - self.apientry = 'VKAPI_CALL ' - self.apientryp = 'VKAPI_PTR *' - self.alignFuncParam = 48 - -# -# This object handles all the parsing from reg.py generator scripts in the Vulkan-Headers -# It will grab all the data and form it into a single object the rest of the generators will use -class BaseGenerator(OutputGenerator): - def __init__(self): - OutputGenerator.__init__(self, None, None, None) - self.vk = VulkanObject() - self.targetApiName = globalApiName - - # reg.py has a `self.featureName` but this is nicer because - # it will be either the Version or Extension object - self.currentExtension = None - self.currentVersion = None - - # Will map alias to promoted name - # ex. ['VK_FILTER_CUBIC_IMG' : 'VK_FILTER_CUBIC_EXT'] - # When generating any code, there is no reason so use the old name - self.enumAliasMap = dict() - self.enumFieldAliasMap = dict() - self.bitmaskAliasMap = dict() - self.flagAliasMap = dict() - self.structAliasMap = dict() - - def write(self, data): - # Prevents having to check before writting - if data is not None and data != "": - write(data, file=self.outFile) - - - def beginFile(self, genOpts): - OutputGenerator.beginFile(self, genOpts) - self.filename = genOpts.filename - - # No gen*() command to get these, so do it manually - for platform in self.registry.tree.findall('platforms/platform'): - self.vk.platforms[platform.get('name')] = platform.get('protect') - - for tags in self.registry.tree.findall('tags'): - for tag in tags.findall('tag'): - self.vk.vendorTags.append(tag.get('name')) - - # No way known to get this from the XML - self.vk.queueBits[Queues.TRANSFER] = 'VK_QUEUE_TRANSFER_BIT' - self.vk.queueBits[Queues.GRAPHICS] = 'VK_QUEUE_GRAPHICS_BIT' - self.vk.queueBits[Queues.COMPUTE] = 'VK_QUEUE_COMPUTE_BIT' - self.vk.queueBits[Queues.PROTECTED] = 'VK_QUEUE_PROTECTED_BIT' - self.vk.queueBits[Queues.SPARSE_BINDING] = 'VK_QUEUE_SPARSE_BINDING_BIT' - self.vk.queueBits[Queues.OPTICAL_FLOW] = 'VK_QUEUE_OPTICAL_FLOW_BIT_NV' - self.vk.queueBits[Queues.DECODE] = 'VK_QUEUE_VIDEO_DECODE_BIT_KHR' - self.vk.queueBits[Queues.ENCODE] = 'VK_QUEUE_VIDEO_ENCODE_BIT_KHR' - - # This function should be overloaded - def generate(self): - print("WARNING: This should not be called from the child class") - return - - # This function is dense, it does all the magic to set the right extensions dependencies! - # - # The issue is if 2 extension expose a command, genCmd() will only - # show one of the extension, at endFile() we can finally go through - # and update which things depend on which extensions - # - # self.featureDictionary is built for use in the reg.py framework - # Details found in Vulkan-Docs/scripts/scriptgenerator.py - def applyExtensionDependency(self): - for extension in self.vk.extensions.values(): - # dict.key() can be None, so need to double loop - dict = self.featureDictionary[extension.name]['command'] - - # "required" == None - # or - # an additional feature dependency, which is a boolean expression of - # one or more extension and/or core version names - for required in dict: - for commandName in dict[required]: - # Skip commands removed in the target API - # This check is needed because parts of the base generator code bypass the - # dependency resolution logic in the registry tooling and thus the generator - # may attempt to generate code for commands which are not supported in the - # target API variant, thus this check needs to happen even if any specific - # target API variant may not specifically need it - if not commandName in self.vk.commands: - continue - - command = self.vk.commands[commandName] - # Make sure list is unique - command.extensions.extend([extension] if extension not in command.extensions else []) - extension.commands.extend([command] if command not in extension.commands else []) - - # While genGroup() will call twice with aliased value, it doesn't provide all the information we need - dict = self.featureDictionary[extension.name]['enumconstant'] - for required in dict: - # group can be a Enum or Bitmask - for group in dict[required]: - if group in self.vk.enums: - if group not in extension.enumFields: - extension.enumFields[group] = [] # Dict needs init - enum = self.vk.enums[group] - # Need to convert all alias so they match what is in EnumField - enumList = list(map(lambda x: x if x not in self.enumFieldAliasMap else self.enumFieldAliasMap[x], dict[required][group])) - - for enumField in [x for x in enum.fields if x.name in enumList]: - # Make sure list is unique - enum.fieldExtensions.extend([extension] if extension not in enum.fieldExtensions else []) - enumField.extensions.extend([extension] if extension not in enumField.extensions else []) - extension.enumFields[group].extend([enumField] if enumField not in extension.enumFields[group] else []) - if group in self.vk.bitmasks: - if group not in extension.flags: - extension.flags[group] = [] # Dict needs init - bitmask = self.vk.bitmasks[group] - # Need to convert all alias so they match what is in Flags - flagList = list(map(lambda x: x if x not in self.flagAliasMap else self.flagAliasMap[x], dict[required][group])) - - for flags in [x for x in bitmask.flags if x.name in flagList]: - # Make sure list is unique - bitmask.flagExtensions.extend([extension] if extension not in bitmask.flagExtensions else []) - flags.extensions.extend([extension] if extension not in flags.extensions else []) - extension.flags[group].extend([flags] if flags not in extension.flags[group] else []) - - # Need to do 'enum'/'bitmask' after 'enumconstant' has applied everything so we can add implicit extensions - # - # Sometimes two extensions enable an Enum, but the newer extension version has extra flags allowed - # This information seems to be implicit, so need to update it here - # Go through each Flag and append the Enum extension to it - # - # ex. VkAccelerationStructureTypeKHR where GENERIC_KHR is not allowed with just VK_NV_ray_tracing - # This only works because the values are aliased as well, making the KHR a superset enum - for extension in self.vk.extensions.values(): - dict = self.featureDictionary[extension.name]['enum'] - for required in dict: - for group in dict[required]: - for enumName in dict[required][group]: - isAlias = enumName in self.enumAliasMap - enumName = self.enumAliasMap[enumName] if isAlias else enumName - if enumName in self.vk.enums: - enum = self.vk.enums[enumName] - enum.extensions.extend([extension] if extension not in enum.extensions else []) - extension.enums.extend([enum] if enum not in extension.enums else []) - # Update fields with implicit base extension - if isAlias: - continue - enum.fieldExtensions.extend([extension] if extension not in enum.fieldExtensions else []) - for enumField in [x for x in enum.fields if (not x.extensions or (x.extensions and all(e in enum.extensions for e in x.extensions)))]: - enumField.extensions.extend([extension] if extension not in enumField.extensions else []) - if enumName not in extension.enumFields: - extension.enumFields[enumName] = [] # Dict needs init - extension.enumFields[enumName].extend([enumField] if enumField not in extension.enumFields[enumName] else []) - - dict = self.featureDictionary[extension.name]['bitmask'] - for required in dict: - for group in dict[required]: - for bitmaskName in dict[required][group]: - bitmaskName = bitmaskName.replace('Flags', 'FlagBits') # Works since Flags isn't repeated in name - isAlias = bitmaskName in self.bitmaskAliasMap - bitmaskName = self.bitmaskAliasMap[bitmaskName] if isAlias else bitmaskName - if bitmaskName in self.vk.bitmasks: - bitmask = self.vk.bitmasks[bitmaskName] - bitmask.extensions.extend([extension] if extension not in bitmask.extensions else []) - extension.bitmasks.extend([bitmask] if bitmask not in extension.bitmasks else []) - # Update flags with implicit base extension - if isAlias: - continue - bitmask.flagExtensions.extend([extension] if extension not in bitmask.flagExtensions else []) - for flag in [x for x in bitmask.flags if (not x.extensions or (x.extensions and all(e in bitmask.extensions for e in x.extensions)))]: - flag.extensions.extend([extension] if extension not in flag.extensions else []) - if bitmaskName not in extension.flags: - extension.flags[bitmaskName] = [] # Dict needs init - extension.flags[bitmaskName].extend([flag] if flag not in extension.flags[bitmaskName] else []) - - # Some structs (ex VkAttachmentSampleCountInfoAMD) can have multiple alias pointing to same extension - for extension in self.vk.extensions.values(): - dict = self.featureDictionary[extension.name]['struct'] - for required in dict: - for group in dict[required]: - for structName in dict[required][group]: - isAlias = structName in self.structAliasMap - structName = self.structAliasMap[structName] if isAlias else structName - if structName in self.vk.structs: - struct = self.vk.structs[structName] - struct.extensions.extend([extension] if extension not in struct.extensions else []) - - def endFile(self): - # This is the point were reg.py has ran, everything is collected - # We do some post processing now - self.applyExtensionDependency() - - # Use structs and commands to find which things are returnedOnly - for struct in [x for x in self.vk.structs.values() if not x.returnedOnly]: - for enum in [self.vk.enums[x.type] for x in struct.members if x.type in self.vk.enums]: - enum.returnedOnly = False - for bitmask in [self.vk.bitmasks[x.type] for x in struct.members if x.type in self.vk.bitmasks]: - bitmask.returnedOnly = False - for bitmask in [self.vk.bitmasks[x.type.replace('Flags', 'FlagBits')] for x in struct.members if x.type.replace('Flags', 'FlagBits') in self.vk.bitmasks]: - bitmask.returnedOnly = False - for command in self.vk.commands.values(): - for enum in [self.vk.enums[x.type] for x in command.params if x.type in self.vk.enums]: - enum.returnedOnly = False - for bitmask in [self.vk.bitmasks[x.type] for x in command.params if x.type in self.vk.bitmasks]: - bitmask.returnedOnly = False - for bitmask in [self.vk.bitmasks[x.type.replace('Flags', 'FlagBits')] for x in command.params if x.type.replace('Flags', 'FlagBits') in self.vk.bitmasks]: - bitmask.returnedOnly = False - - # Turn handle parents into pointers to classess - for handle in [x for x in self.vk.handles.values() if x.parent is not None]: - handle.parent = self.vk.handles[handle.parent] - # search up parent chain to see if instance or device - for handle in [x for x in self.vk.handles.values()]: - next_parent = handle.parent - while (not handle.instance and not handle.device): - handle.instance = next_parent.name == 'VkInstance' - handle.device = next_parent.name == 'VkDevice' - next_parent = next_parent.parent - - maxSyncSupport.queues = Queues.ALL - maxSyncSupport.stages = self.vk.bitmasks['VkPipelineStageFlagBits2'].flags - maxSyncEquivalent.accesses = self.vk.bitmasks['VkAccessFlagBits2'].flags - maxSyncEquivalent.stages = self.vk.bitmasks['VkPipelineStageFlagBits2'].flags - - # All inherited generators should run from here - self.generate() - - if cachingEnabled: - cachePath = os.path.join(tempfile.gettempdir(), f'vkobject_{os.getpid()}') - if not os.path.isfile(cachePath): - cacheFile = open(cachePath, 'wb') - pickle.dump(self.vk, cacheFile) - cacheFile.close() - - # This should not have to do anything but call into OutputGenerator - OutputGenerator.endFile(self) - - # - # Bypass the entire processing and load in the VkObject data - # Still need to handle the beingFile/endFile for reg.py - def generateFromCache(self, cacheVkObjectData, genOpts): - OutputGenerator.beginFile(self, genOpts) - self.filename = genOpts.filename - self.vk = cacheVkObjectData - self.generate() - OutputGenerator.endFile(self) - - # - # Processing point at beginning of each extension definition - def beginFeature(self, interface, emit): - OutputGenerator.beginFeature(self, interface, emit) - platform = interface.get('platform') - self.featureExtraProtec = self.vk.platforms[platform] if platform in self.vk.platforms else None - protect = self.vk.platforms[platform] if platform in self.vk.platforms else None - name = interface.get('name') - - if interface.tag == 'extension': - instance = interface.get('type') == 'instance' - device = not instance - depends = interface.get('depends') - vendorTag = interface.get('author') - platform = interface.get('platform') - provisional = boolGet(interface, 'provisional') - promotedto = interface.get('promotedto') - deprecatedby = interface.get('deprecatedby') - obsoletedby = interface.get('obsoletedby') - specialuse = splitIfGet(interface, 'specialuse') - # Not sure if better way to get this info - nameString = self.featureDictionary[name]['enumconstant'][None][None][1] - - self.currentExtension = Extension(name, nameString, instance, device, depends, vendorTag, - platform, protect, provisional, promotedto, deprecatedby, - obsoletedby, specialuse) - self.vk.extensions[name] = self.currentExtension - else: # version - number = interface.get('number') - if number != '1.0': - self.currentVersion = APISpecific.createApiVersion(self.targetApiName, name, number) - self.vk.versions[name] = self.currentVersion - - def endFeature(self): - OutputGenerator.endFeature(self) - self.currentExtension = None - self.currentVersion = None - - # - # All <command> from XML - def genCmd(self, cmdinfo, name, alias): - OutputGenerator.genCmd(self, cmdinfo, name, alias) - - params = [] - for param in cmdinfo.elem.findall('param'): - paramName = param.find('name').text - paramType = textIfFind(param, 'type') - paramAlias = param.get('alias') - - cdecl = self.makeCParamDecl(param, 0) - pointer = '*' in cdecl or paramType.startswith('PFN_') - paramConst = 'const' in cdecl - fixedSizeArray = [x[:-1] for x in cdecl.split('[') if x.endswith(']')] - - paramNoautovalidity = boolGet(param, 'noautovalidity') - - nullTerminated = False - length = param.get('altlen') if param.get('altlen') is not None else param.get('len') - if length: - # we will either find it like "null-terminated" or "enabledExtensionCount,null-terminated" - # This finds both - nullTerminated = 'null-terminated' in length - length = length.replace(',null-terminated', '') if 'null-terminated' in length else length - length = None if length == 'null-terminated' else length - - if fixedSizeArray and not length: - length = ','.join(fixedSizeArray) - - # See Member::optional code for details of this - optionalValues = splitIfGet(param, 'optional') - optional = optionalValues is not None and optionalValues[0].lower() == "true" - optionalPointer = optionalValues is not None and len(optionalValues) > 1 and optionalValues[1].lower() == "true" - - # externsync will be 'true' or expression - # if expression, it should be same as 'true' - externSync = boolGet(param, 'externsync') - externSyncPointer = None if externSync else splitIfGet(param, 'externsync') - if not externSync and externSyncPointer is not None: - externSync = True - - params.append(Param(paramName, paramAlias, paramType, paramNoautovalidity, - paramConst, length, nullTerminated, pointer, fixedSizeArray, - optional, optionalPointer, - externSync, externSyncPointer, cdecl)) - - attrib = cmdinfo.elem.attrib - alias = attrib.get('alias') - tasks = splitIfGet(attrib, 'tasks') - - queues = getQueues(attrib) - successcodes = splitIfGet(attrib, 'successcodes') - errorcodes = splitIfGet(attrib, 'errorcodes') - cmdbufferlevel = attrib.get('cmdbufferlevel') - primary = cmdbufferlevel is not None and 'primary' in cmdbufferlevel - secondary = cmdbufferlevel is not None and 'secondary' in cmdbufferlevel - - renderpass = attrib.get('renderpass') - renderpass = CommandScope.NONE if renderpass is None else getattr(CommandScope, renderpass.upper()) - videocoding = attrib.get('videocoding') - videocoding = CommandScope.NONE if videocoding is None else getattr(CommandScope, videocoding.upper()) - - protoElem = cmdinfo.elem.find('proto') - returnType = textIfFind(protoElem, 'type') - - decls = self.makeCDecls(cmdinfo.elem) - cPrototype = decls[0] - cFunctionPointer = decls[1] - - protect = self.currentExtension.protect if self.currentExtension is not None else None - - # These coammds have no way from the XML to detect they would be an instance command - specialInstanceCommand = ['vkCreateInstance', 'vkEnumerateInstanceExtensionProperties','vkEnumerateInstanceLayerProperties', 'vkEnumerateInstanceVersion'] - instance = len(params) > 0 and (params[0].type == 'VkInstance' or params[0].type == 'VkPhysicalDevice' or name in specialInstanceCommand) - device = not instance - - implicitElem = cmdinfo.elem.find('implicitexternsyncparams') - implicitExternSyncParams = [x.text for x in implicitElem.findall('param')] if implicitElem else [] - - self.vk.commands[name] = Command(name, alias, protect, [], self.currentVersion, - returnType, params, instance, device, - tasks, queues, successcodes, errorcodes, - primary, secondary, renderpass, videocoding, - implicitExternSyncParams, cPrototype, cFunctionPointer) - - # - # List the enum for the commands - # TODO - Seems empty groups like `VkDeviceDeviceMemoryReportCreateInfoEXT` don't show up in here - def genGroup(self, groupinfo, groupName, alias): - # There can be case where the Enum/Bitmask is in a protect, but the individual - # fields also have their own protect - groupProtect = self.currentExtension.protect if hasattr(self.currentExtension, 'protect') and self.currentExtension.protect is not None else None - enumElem = groupinfo.elem - bitwidth = 32 if enumElem.get('bitwidth') is None else int(enumElem.get('bitwidth')) - fields = [] - if enumElem.get('type') == "enum": - if alias is not None: - self.enumAliasMap[groupName] = alias - return - - for elem in enumElem.findall('enum'): - fieldName = elem.get('name') - - if elem.get('alias') is not None: - self.enumFieldAliasMap[fieldName] = elem.get('alias') - continue - - negative = elem.get('dir') is not None - protect = elem.get('protect') - - # Some values have multiple extensions (ex VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR) - # genGroup() lists them twice - if next((x for x in fields if x.name == fieldName), None) is None: - fields.append(EnumField(fieldName, negative, protect, [])) - - self.vk.enums[groupName] = Enum(groupName, groupProtect, bitwidth, True, fields, [], []) - - else: # "bitmask" - if alias is not None: - self.bitmaskAliasMap[groupName] = alias - return - - for elem in enumElem.findall('enum'): - flagName = elem.get('name') - - if elem.get('alias') is not None: - self.flagAliasMap[flagName] = elem.get('alias') - continue - - flagMultiBit = False - flagZero = False - flagValue = intIfGet(elem, 'bitpos') - if flagValue is None: - flagValue = intIfGet(elem, 'value') - flagMultiBit = flagValue != 0 - flagZero = flagValue == 0 - protect = elem.get('protect') - - # Some values have multiple extensions (ex VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT) - # genGroup() lists them twice - if next((x for x in fields if x.name == flagName), None) is None: - fields.append(Flag(flagName, protect, flagValue, flagMultiBit, flagZero, [])) - - flagName = groupName.replace('FlagBits', 'Flags') - self.vk.bitmasks[groupName] = Bitmask(groupName, flagName, groupProtect, bitwidth, True, fields, [], []) - - def genType(self, typeInfo, typeName, alias): - OutputGenerator.genType(self, typeInfo, typeName, alias) - typeElem = typeInfo.elem - protect = self.currentExtension.protect if hasattr(self.currentExtension, 'protect') and self.currentExtension.protect is not None else None - category = typeElem.get('category') - if (category == 'struct' or category == 'union'): - extension = [self.currentExtension] if self.currentExtension is not None else [] - if alias is not None: - self.structAliasMap[typeName] = alias - return - - union = category == 'union' - - returnedOnly = boolGet(typeElem, 'returnedonly') - allowDuplicate = boolGet(typeElem, 'allowduplicate') - - extends = splitIfGet(typeElem, 'structextends') - extendedBy = self.registry.validextensionstructs[typeName] if len(self.registry.validextensionstructs[typeName]) > 0 else None - - membersElem = typeInfo.elem.findall('.//member') - members = [] - sType = None - - for member in membersElem: - for comment in member.findall('comment'): - member.remove(comment) - - name = textIfFind(member, 'name') - type = textIfFind(member, 'type') - sType = member.get('values') if member.get('values') is not None else sType - externSync = boolGet(member, 'externsync') - noautovalidity = boolGet(member, 'noautovalidity') - limittype = member.get('limittype') - - nullTerminated = False - length = member.get('altlen') if member.get('altlen') is not None else member.get('len') - if length: - # we will either find it like "null-terminated" or "enabledExtensionCount,null-terminated" - # This finds both - nullTerminated = 'null-terminated' in length - length = length.replace(',null-terminated', '') if 'null-terminated' in length else length - length = None if length == 'null-terminated' else length - - cdecl = self.makeCParamDecl(member, 0) - pointer = '*' in cdecl or type.startswith('PFN_') - const = 'const' in cdecl - # Some structs like VkTransformMatrixKHR have a 2D array - fixedSizeArray = [x[:-1] for x in cdecl.split('[') if x.endswith(']')] - - if fixedSizeArray and not length: - length = ','.join(fixedSizeArray) - - # if a pointer, this can be a something like: - # optional="true,false" for ppGeometries - # optional="false,true" for pPhysicalDeviceCount - # the first is if the variable itself is optional - # the second is the value of the pointer is optiona; - optionalValues = splitIfGet(member, 'optional') - optional = optionalValues is not None and optionalValues[0].lower() == "true" - optionalPointer = optionalValues is not None and len(optionalValues) > 1 and optionalValues[1].lower() == "true" - - members.append(Member(name, type, noautovalidity, limittype, - const, length, nullTerminated, pointer, fixedSizeArray, - optional, optionalPointer, - externSync, cdecl)) - - self.vk.structs[typeName] = Struct(typeName, extension, self.currentVersion, protect, members, - union, returnedOnly, sType, allowDuplicate, extends, extendedBy) - - elif category == 'handle': - if alias is not None: - return - type = typeElem.get('objtypeenum') - - # will resolve these later, the VulkanObjectType doesn't list things in dependent order - parent = typeElem.get('parent') - instance = typeName == 'VkInstance' - device = typeName == 'VkDevice' - - dispatchable = typeElem.find('type').text == 'VK_DEFINE_HANDLE' - - self.vk.handles[typeName] = Handle(typeName, type, protect, parent, instance, device, dispatchable) - - elif category == 'define': - if typeName == 'VK_HEADER_VERSION': - self.vk.headerVersion = typeElem.find('name').tail.strip() - - else: - # not all categories are used - # 'group'/'enum'/'bitmask' are routed to genGroup instead - # 'basetype'/'include' are only for headers - # 'funcpointer` ingore until needed - return - - def genSpirv(self, spirvinfo, spirvName, alias): - OutputGenerator.genSpirv(self, spirvinfo, spirvName, alias) - spirvElem = spirvinfo.elem - name = spirvElem.get('name') - extension = True if spirvElem.tag == 'spirvextension' else False - capability = not extension - - enables = [] - for elem in spirvElem: - version = elem.attrib.get('version') - extensionEnable = elem.attrib.get('extension') - struct = elem.attrib.get('struct') - feature = elem.attrib.get('feature') - requires = elem.attrib.get('requires') - propertyEnable = elem.attrib.get('property') - member = elem.attrib.get('member') - value = elem.attrib.get('value') - enables.append(SpirvEnables(version, extensionEnable, struct, feature, - requires, propertyEnable, member, value)) - - self.vk.spirv.append(Spirv(name, extension, capability, enables)) - - def genFormat(self, format, formatinfo, alias): - OutputGenerator.genFormat(self, format, formatinfo, alias) - formatElem = format.elem - name = formatElem.get('name') - - components = [] - for component in formatElem.iterfind('component'): - type = component.get('name') - bits = component.get('bits') - numericFormat = component.get('numericFormat') - planeIndex = intIfGet(component, 'planeIndex') - components.append(FormatComponent(type, bits, numericFormat, planeIndex)) - - planes = [] - for plane in formatElem.iterfind('plane'): - index = int(plane.get('index')) - widthDivisor = int(plane.get('widthDivisor')) - heightDivisor = int(plane.get('heightDivisor')) - compatible = plane.get('compatible') - planes.append(FormatPlane(index, widthDivisor, heightDivisor, compatible)) - - className = formatElem.get('class') - blockSize = int(formatElem.get('blockSize')) - texelsPerBlock = int(formatElem.get('texelsPerBlock')) - blockExtent = splitIfGet(formatElem, 'blockExtent') - packed = intIfGet(formatElem, 'packed') - chroma = formatElem.get('chroma') - compressed = formatElem.get('compressed') - spirvImageFormat = formatElem.find('spirvimageformat') - if spirvImageFormat is not None: - spirvImageFormat = spirvImageFormat.get('name') - - self.vk.formats[name] = Format(name, className, blockSize, texelsPerBlock, - blockExtent, packed, chroma, compressed, - components, planes, spirvImageFormat) - - def genSyncStage(self, sync): - OutputGenerator.genSyncStage(self, sync) - syncElem = sync.elem - - support = maxSyncSupport - supportElem = syncElem.find('syncsupport') - if supportElem is not None: - queues = getQueues(supportElem) - stageNames = splitIfGet(supportElem, 'stage') - stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None - support = SyncSupport(queues, stages, False) - - equivalent = maxSyncEquivalent - equivalentElem = syncElem.find('syncequivalent') - if equivalentElem is not None: - stageNames = splitIfGet(equivalentElem, 'stage') - stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None - accessNames = splitIfGet(equivalentElem, 'access') - accesses = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name in accessNames] if accessNames is not None else None - equivalent = SyncEquivalent(stages, accesses, False) - - flagName = syncElem.get('name') - flag = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name == flagName] - # This check is needed because not all API variants have VK_KHR_synchronization2 - if flag: - self.vk.syncStage.append(SyncStage(flag[0], support, equivalent)) - - def genSyncAccess(self, sync): - OutputGenerator.genSyncAccess(self, sync) - syncElem = sync.elem - - support = maxSyncSupport - supportElem = syncElem.find('syncsupport') - if supportElem is not None: - queues = getQueues(supportElem) - stageNames = splitIfGet(supportElem, 'stage') - stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None - support = SyncSupport(queues, stages, False) - - equivalent = maxSyncEquivalent - equivalentElem = syncElem.find('syncequivalent') - if equivalentElem is not None: - stageNames = splitIfGet(equivalentElem, 'stage') - stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None - accessNames = splitIfGet(equivalentElem, 'access') - accesses = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name in accessNames] if accessNames is not None else None - equivalent = SyncEquivalent(stages, accesses, False) - - flagName = syncElem.get('name') - flag = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name == flagName] - # This check is needed because not all API variants have VK_KHR_synchronization2 - if flag: - self.vk.syncAccess.append(SyncAccess(flag[0], support, equivalent)) - - def genSyncPipeline(self, sync): - OutputGenerator.genSyncPipeline(self, sync) - syncElem = sync.elem - name = syncElem.get('name') - depends = splitIfGet(syncElem, 'depends') - stages = [] - for stageElem in syncElem.findall('syncpipelinestage'): - order = stageElem.get('order') - before = stageElem.get('before') - after = stageElem.get('after') - value = stageElem.text - stages.append(SyncPipelineStage(order, before, after, value)) - - self.vk.syncPipeline.append(SyncPipeline(name, depends, stages))
diff --git a/scripts/generators/dispatch_table_generator.py b/scripts/generators/dispatch_table_generator.py index ebab6ea..f2dd57d 100644 --- a/scripts/generators/dispatch_table_generator.py +++ b/scripts/generators/dispatch_table_generator.py
@@ -7,7 +7,7 @@ # SPDX-License-Identifier: Apache-2.0 import os -from generators.base_generator import BaseGenerator +from base_generator import BaseGenerator from generators.generator_utils import PlatformGuardHelper class DispatchTableOutputGenerator(BaseGenerator):
diff --git a/scripts/generators/enum_string_helper_generator.py b/scripts/generators/enum_string_helper_generator.py index 33a0a2a..053f2ea 100644 --- a/scripts/generators/enum_string_helper_generator.py +++ b/scripts/generators/enum_string_helper_generator.py
@@ -1,13 +1,13 @@ #!/usr/bin/python3 -i # -# Copyright 2023 The Khronos Group Inc. -# Copyright 2023 Valve Corporation -# Copyright 2023 LunarG, Inc. +# Copyright 2023-2025 The Khronos Group Inc. +# Copyright 2023-2025 Valve Corporation +# Copyright 2023-2025 LunarG, Inc. # # SPDX-License-Identifier: Apache-2.0 import os -from generators.base_generator import BaseGenerator +from base_generator import BaseGenerator from generators.generator_utils import PlatformGuardHelper class EnumStringHelperOutputGenerator(BaseGenerator): @@ -18,9 +18,9 @@ out = [] out.append(f'''// *** THIS FILE IS GENERATED - DO NOT EDIT *** // See {os.path.basename(__file__)} for modifications -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 ''') @@ -112,4 +112,21 @@ out.append('#endif // __cplusplus\n') out.extend(guard_helper.add_guard(None)) out.append('// clang-format on') + + # Special lookup for struct name of VkStructureType (since the sType name is not always that helpful) + out.append('''\n + // Same thing as string_VkStructureType, but prints out the API name + static inline const char* string_VkStructureName(VkStructureType input_value) { + switch (input_value) {\n''') + struct_guard_helper = PlatformGuardHelper() + for struct in [x for x in self.vk.structs.values() if x.sType]: + out.extend(struct_guard_helper.add_guard(struct.protect)) + out.append(f' case {struct.sType}:\n') + out.append(f' return "{struct.name}";\n') + out.append(''' default: + return "Unhandled VkStructureType"; + } + } + ''') + self.write("".join(out))
diff --git a/scripts/generators/format_utils_generator.py b/scripts/generators/format_utils_generator.py index 4329447..bc03011 100644 --- a/scripts/generators/format_utils_generator.py +++ b/scripts/generators/format_utils_generator.py
@@ -1,14 +1,15 @@ #!/usr/bin/python3 -i # -# Copyright 2023 The Khronos Group Inc. -# Copyright 2023 Valve Corporation -# Copyright 2023 LunarG, Inc. +# Copyright 2023-2025 The Khronos Group Inc. +# Copyright 2023-2025 Valve Corporation +# Copyright 2023-2025 LunarG, Inc. # # SPDX-License-Identifier: Apache-2.0 import os -from generators.vulkan_object import (Format) -from generators.base_generator import BaseGenerator +from collections import namedtuple +from vulkan_object import (Format) +from base_generator import BaseGenerator # Make C name friendly class name def getClassName(className: str) -> str: @@ -25,7 +26,13 @@ # True if all components are same numericFormat def formatHasNumericFormat(format: Format, numericFormat: str) -> bool: - return all(x.numericFormat == numericFormat for x in format.components) + if numericFormat == 'SRGB': + # For SRGB, the Alpha will be UNORM, but it is still considered an SRGB format + if format.name == 'VK_FORMAT_A8_UNORM': + return False + return all(x.type == 'A' or x.numericFormat == numericFormat for x in format.components) + else: + return all(x.numericFormat == numericFormat for x in format.components) class FormatUtilsOutputGenerator(BaseGenerator): def __init__(self): @@ -71,9 +78,9 @@ out = [] out.append(f'''// *** THIS FILE IS GENERATED - DO NOT EDIT *** // See {os.path.basename(__file__)} for modifications -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 ''') @@ -120,150 +127,146 @@ out.append('// VK_IMAGE_ASPECT_PLANE_1_BIT -> 1\n') out.append('// VK_IMAGE_ASPECT_PLANE_2_BIT -> 2\n') out.append('// <any other value> -> VKU_FORMAT_INVALID_INDEX\n') - out.append('inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect);\n\n') + out.append('static inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect);\n\n') for numericFormat in sorted(self.numericFormats): out.append(f'// Returns whether a VkFormat is of the numerical format {numericFormat}\n') out.append('// Format must only contain one numerical format, so formats like D16_UNORM_S8_UINT always return false\n') - out.append(f'inline bool vkuFormatIs{numericFormat}(VkFormat format);\n\n') + out.append(f'static inline bool vkuFormatIs{numericFormat}(VkFormat format);\n\n') out.append('''// Returns whether the type of a VkFormat is a OpTypeInt (SPIR-V) from "Interpretation of Numeric Format" table -inline bool vkuFormatIsSampledInt(VkFormat format); +static inline bool vkuFormatIsSampledInt(VkFormat format); // Returns whether the type of a VkFormat is a OpTypeFloat (SPIR-V) from "Interpretation of Numeric Format" table -inline bool vkuFormatIsSampledFloat(VkFormat format); +static inline bool vkuFormatIsSampledFloat(VkFormat format); ''') for key in sorted(self.compressedFormats.keys()): out.append(f'// Returns whether a VkFormat is a compressed format of type {key}\n') - out.append(f'inline bool vkuFormatIsCompressed_{key}(VkFormat format);\n\n') + out.append(f'static inline bool vkuFormatIsCompressed_{key}(VkFormat format);\n\n') out.append('// Returns whether a VkFormat is of any compressed format type\n') - out.append('inline bool vkuFormatIsCompressed(VkFormat format);\n') + out.append('static inline bool vkuFormatIsCompressed(VkFormat format);\n') out.append(''' // Returns whether a VkFormat is either a depth or stencil format -inline bool vkuFormatIsDepthOrStencil(VkFormat format); +static inline bool vkuFormatIsDepthOrStencil(VkFormat format); // Returns whether a VkFormat is a depth and stencil format -inline bool vkuFormatIsDepthAndStencil(VkFormat format); +static inline bool vkuFormatIsDepthAndStencil(VkFormat format); // Returns whether a VkFormat is a depth only format -inline bool vkuFormatIsDepthOnly(VkFormat format); +static inline bool vkuFormatIsDepthOnly(VkFormat format); // Returns whether a VkFormat is a stencil only format -inline bool vkuFormatIsStencilOnly(VkFormat format); +static inline bool vkuFormatIsStencilOnly(VkFormat format); // Returns whether a VkFormat has a depth component -inline bool vkuFormatHasDepth(VkFormat format) { return (vkuFormatIsDepthOnly(format) || vkuFormatIsDepthAndStencil(format)); } +static inline bool vkuFormatHasDepth(VkFormat format) { return (vkuFormatIsDepthOnly(format) || vkuFormatIsDepthAndStencil(format)); } // Returns whether a VkFormat has a stencil component -inline bool vkuFormatHasStencil(VkFormat format) { return (vkuFormatIsStencilOnly(format) || vkuFormatIsDepthAndStencil(format)); } +static inline bool vkuFormatHasStencil(VkFormat format) { return (vkuFormatIsStencilOnly(format) || vkuFormatIsDepthAndStencil(format)); } // Returns the size of the depth component in bits if it has one. Otherwise it returns 0 -inline uint32_t vkuFormatDepthSize(VkFormat format); +static inline uint32_t vkuFormatDepthSize(VkFormat format); // Returns the size of the stencil component in bits if it has one. Otherwise it returns 0 -inline uint32_t vkuFormatStencilSize(VkFormat format); +static inline uint32_t vkuFormatStencilSize(VkFormat format); // Returns the numerical type of the depth component if it has one. Otherwise it returns VKU_FORMAT_NUMERICAL_TYPE_NONE -inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatDepthNumericalType(VkFormat format); +static inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatDepthNumericalType(VkFormat format); // Returns the numerical type of the stencil component if it has one. Otherwise it returns VKU_FORMAT_NUMERICAL_TYPE_NONE -inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatStencilNumericalType(VkFormat format); +static inline enum VKU_FORMAT_NUMERICAL_TYPE vkuFormatStencilNumericalType(VkFormat format); // Returns whether a VkFormat is packed -inline bool vkuFormatIsPacked(VkFormat format); +static inline bool vkuFormatIsPacked(VkFormat format); // Returns whether a VkFormat is YCbCr // This corresponds to formats with _444, _422, or _420 in their name -inline bool vkuFormatRequiresYcbcrConversion(VkFormat format); +static inline bool vkuFormatRequiresYcbcrConversion(VkFormat format); // Returns whether a VkFormat is XChromaSubsampled // This corresponds to formats with _422 or 420 in their name -inline bool vkuFormatIsXChromaSubsampled(VkFormat format); +static inline bool vkuFormatIsXChromaSubsampled(VkFormat format); // Returns whether a VkFormat is YChromaSubsampled // This corresponds to formats with _420 in their name -inline bool vkuFormatIsYChromaSubsampled(VkFormat format); +static inline bool vkuFormatIsYChromaSubsampled(VkFormat format); // Returns whether a VkFormat is Multiplane // Single-plane "_422" formats are treated as 2x1 compressed (for copies) -inline bool vkuFormatIsSinglePlane_422(VkFormat format); +static inline bool vkuFormatIsSinglePlane_422(VkFormat format); // Returns number of planes in format (which is 1 by default) -inline uint32_t vkuFormatPlaneCount(VkFormat format); +static inline uint32_t vkuFormatPlaneCount(VkFormat format); // Returns whether a VkFormat is multiplane -inline bool vkuFormatIsMultiplane(VkFormat format) { return ((vkuFormatPlaneCount(format)) > 1u); } +// Note - Formats like VK_FORMAT_G8B8G8R8_422_UNORM are NOT multi-planar, they require a +// VkSamplerYcbcrConversion and you should use vkuFormatRequiresYcbcrConversion instead +static inline bool vkuFormatIsMultiplane(VkFormat format) { return ((vkuFormatPlaneCount(format)) > 1u); } // Returns a VkFormat that is compatible with a given plane of a multiplane format // Will return VK_FORMAT_UNDEFINED if given a plane aspect that doesn't exist for the format -inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); +static inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); // Returns the extent divisors of a multiplane format given a plane // Will return {1, 1} if given a plane aspect that doesn't exist for the VkFormat -inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); +static inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect); + +// From table in spec vkspec.html#formats-compatible-zs-color +// Introduced in VK_KHR_maintenance8 to allow copying between color and depth/stencil formats +static inline bool vkuFormatIsDepthStencilWithColorSizeCompatible(VkFormat color_format, VkFormat ds_format, VkImageAspectFlags aspect_mask); // Returns the count of components in a VkFormat -inline uint32_t vkuFormatComponentCount(VkFormat format); +static inline uint32_t vkuFormatComponentCount(VkFormat format); // Returns the texel block extent of a VkFormat -inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format); +static inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format); // Returns the Compatibility Class of a VkFormat as defined by the spec -inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format); +static inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format); -// Return true if a VkFormat is 'normal', with one texel per format element -inline bool vkuFormatElementIsTexel(VkFormat format); +// Returns the number of texels inside a texel block +// Will always be 1 when not using compressed block formats +static inline uint32_t vkuFormatTexelsPerBlock(VkFormat format); -// Return size, in bytes, of one element of a VkFormat -// Format must not be a depth, stencil, or multiplane format -inline uint32_t vkuFormatElementSize(VkFormat format); - -// Return the size in bytes of one texel of a VkFormat -// For compressed or multi-plane, this may be a fractional number -inline uint32_t vkuFormatElementSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask); - -// Return the size in bytes of one texel of a VkFormat -// Format must not be a depth, stencil, or multiplane format -inline double vkuFormatTexelSize(VkFormat format); - -// Return the size in bytes of one texel of a VkFormat -// For compressed or multi-plane, this may be a fractional number -inline double vkuFormatTexelSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask); +// Returns the number of bytes in a single Texel Block. +// When dealing with a depth/stencil format, need to consider using vkuFormatStencilSize or vkuFormatDepthSize. +// When dealing with mulit-planar formats, need to consider using vkuGetPlaneIndex. +static inline uint32_t vkuFormatTexelBlockSize(VkFormat format); ''') for bits in ['8', '16', '32', '64']: out.append(f'// Returns whether a VkFormat contains only {bits}-bit sized components\n') - out.append(f'inline bool vkuFormatIs{bits}bit(VkFormat format);\n\n') + out.append(f'static inline bool vkuFormatIs{bits}bit(VkFormat format);\n\n') out.append('''// Returns whether a VkFormat has a component of a given size -inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size); +static inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size); // Returns whether a VkFormat has a Red color component -inline bool vkuFormatHasRed(VkFormat format); +static inline bool vkuFormatHasRed(VkFormat format); // Returns whether a VkFormat has a Green color component -inline bool vkuFormatHasGreen(VkFormat format); +static inline bool vkuFormatHasGreen(VkFormat format); // Returns whether a VkFormat has a Blue color component -inline bool vkuFormatHasBlue(VkFormat format); +static inline bool vkuFormatHasBlue(VkFormat format); // Returns whether a VkFormat has a Alpha color component -inline bool vkuFormatHasAlpha(VkFormat format); +static inline bool vkuFormatHasAlpha(VkFormat format); // Returns whether a VkFormat is equal to VK_FORMAT_UNDEFINED -inline bool vkuFormatIsUndefined(VkFormat format) { return (format == VK_FORMAT_UNDEFINED); } +static inline bool vkuFormatIsUndefined(VkFormat format) { return (format == VK_FORMAT_UNDEFINED); } // Returns whether a VkFormat is a "blocked image" as defined in the spec (vkspec.html#blocked-image) -inline bool vkuFormatIsBlockedImage(VkFormat format) { +static inline bool vkuFormatIsBlockedImage(VkFormat format) { return (vkuFormatIsCompressed(format) || vkuFormatIsSinglePlane_422(format)); } // Returns whether a VkFormat is a "color format'. Because there is no official specification definition of // "color format", it is defined here as anything that isn't a depth/stencil format, multiplane format, or the undefined format. -inline bool vkuFormatIsColor(VkFormat format) { +static inline bool vkuFormatIsColor(VkFormat format) { return !(vkuFormatIsUndefined(format) || vkuFormatIsDepthOrStencil(format) || vkuFormatIsMultiplane(format)); } @@ -278,7 +281,7 @@ }; // Compressed formats don't have a defined component size -const uint32_t VKU_FORMAT_COMPRESSED_COMPONENT = 0xFFFFFFFF; +#define VKU_FORMAT_COMPRESSED_COMPONENT 0xFFFFFFFF struct VKU_FORMAT_COMPONENT_INFO { enum VKU_FORMAT_COMPONENT_TYPE type; @@ -288,34 +291,64 @@ // Generic information for all formats struct VKU_FORMAT_INFO { enum VKU_FORMAT_COMPATIBILITY_CLASS compatibility; - uint32_t block_size; // bytes - uint32_t texel_per_block; + uint32_t texel_block_size; // bytes + uint32_t texels_per_block; VkExtent3D block_extent; uint32_t component_count; struct VKU_FORMAT_COMPONENT_INFO components[VKU_FORMAT_MAX_COMPONENTS]; }; ''') - out.append('inline const struct VKU_FORMAT_INFO vkuGetFormatInfo(VkFormat format) {\n') - out.append(' switch (format) {\n') - for f in self.vk.formats.values(): + formats_in_order = {} + # Manually add in the entry for VK_FORMAT_UNDEFINED because it is missing from the self.vk.formats dict + formats_in_order[0] = Format('VK_FORMAT_UNDEFINED', 'NONE', 0,0, ['0','0','0'], None, None, None, [], [], None) + for e in self.vk.enums['VkFormat'].fields: + if e.name != 'VK_FORMAT_UNDEFINED': + formats_in_order[e.value] = self.vk.formats[e.name] + # Number of VkFormats should equal the fields of the VkFormat enum + assert(len(formats_in_order) == len(self.vk.enums['VkFormat'].fields)) + formats_in_order = dict(sorted(formats_in_order.items())) + + out.append(f'const struct VKU_FORMAT_INFO vku_formats[{len(self.vk.formats) + 1}] = {{\n') + for f in formats_in_order.values(): className = getClassName(f.className) - blockExtent = ', '.join(f.blockExtent) if f.blockExtent is not None else '1, 1, 1' - out.extend(f' case {f.name}: {{\n') - out.extend(f' struct VKU_FORMAT_INFO out = {{VKU_FORMAT_COMPATIBILITY_CLASS_{className}, {f.blockSize}, {f.texelsPerBlock}, {{{blockExtent}}}, {len(f.components)}, {{') + blockExtent = ', '.join(f.blockExtent) if len(f.blockExtent) > 0 else '1, 1, 1' + out.extend(f' {{ VKU_FORMAT_COMPATIBILITY_CLASS_{className}, {f.blockSize}, {f.texelsPerBlock}, {{{blockExtent}}}, {len(f.components)}, {{') for index, component in enumerate(f.components): bits = 'VKU_FORMAT_COMPRESSED_COMPONENT' if component.bits == 'compressed' else component.bits out.append(f'{{VKU_FORMAT_COMPONENT_TYPE_{component.type}, {bits}}}') if index + 1 != len(f.components): out.append(', ') - out.append('}};\n') - out.append(' return out; }\n') - out.append(''' - default: { - // return values for VK_FORMAT_UNDEFINED - struct VKU_FORMAT_INFO out = { VKU_FORMAT_COMPATIBILITY_CLASS_NONE, 0, 0, {0, 0, 0}, 0, {{VKU_FORMAT_COMPONENT_TYPE_NONE, 0}, {VKU_FORMAT_COMPONENT_TYPE_NONE, 0}, {VKU_FORMAT_COMPONENT_TYPE_NONE, 0}, {VKU_FORMAT_COMPONENT_TYPE_NONE, 0}} }; - return out; - } - }; + out.append('} },\n') + out.append('};\n') + + # Find the "format groups", eg formats whose value are consecutive, as that is the way they are written into the 'formats' array. + # Value refers to the enum value. These are discontinuous. + # Index refers to the index of a format in the vku_formats array. These are from 0 to the len(formats_in_order). + format_values = list(formats_in_order.keys()) + FormatGroup = namedtuple('FormatGroup', ['begin_format', 'end_format','array_index']) + format_groups = [] + index = 0 + while index < len(format_values): + start_value = format_values[index] + end_value = format_values[-1] # use last format as sentinel so the last group can get the right end value + previous_value = start_value - 1 + # Find the end value for the current group + for format_value in format_values[index:]: + if previous_value + 1 != format_value: + end_value = previous_value + break + previous_value = format_value + format_groups.append(FormatGroup(formats_in_order[start_value].name, formats_in_order[end_value].name, index)) + index += (end_value - start_value) + 1 + + out.append('static inline struct VKU_FORMAT_INFO vkuGetFormatInfo(VkFormat format) {\n') + for group in format_groups: + out.append(f' {"else " if group.array_index != 0 else ""}if ({group.begin_format} <= format && format <= {group.end_format} )') + out.append(f' {{ return vku_formats[format - {group.begin_format} + {group.array_index}]; }}\n') + out.append(''' // Default case - return VK_FORMAT_UNDEFINED + else { + return vku_formats[0]; + } } struct VKU_FORMAT_PER_PLANE_COMPATIBILITY { @@ -331,7 +364,7 @@ ''') out.append('// Source: Vulkan spec Table 47. Plane Format Compatibility Table\n') - out.append('inline const struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY vkuGetFormatCompatibility(VkFormat format) {\n') + out.append('static inline struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY vkuGetFormatCompatibility(VkFormat format) {\n') out.append(' switch (format) {\n') for format in [x for x in self.vk.formats.values() if x.planes]: out.extend(f' case {format.name}: {{\n') @@ -364,8 +397,8 @@ out.append(self.commonBoolSwitch) out.append(''' -inline bool vkuFormatIsSampledInt(VkFormat format) { return (vkuFormatIsSINT(format) || vkuFormatIsUINT(format)); } -inline bool vkuFormatIsSampledFloat(VkFormat format) { +static inline bool vkuFormatIsSampledInt(VkFormat format) { return (vkuFormatIsSINT(format) || vkuFormatIsUINT(format)); } +static inline bool vkuFormatIsSampledFloat(VkFormat format) { return (vkuFormatIsUNORM(format) || vkuFormatIsSNORM(format) || vkuFormatIsUSCALED(format) || vkuFormatIsSSCALED(format) || vkuFormatIsUFLOAT(format) || vkuFormatIsSFLOAT(format) || @@ -532,7 +565,7 @@ out.append('}\n') out.append(''' // Will return VK_FORMAT_UNDEFINED if given a plane aspect that doesn't exist for the format -inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { +static inline VkFormat vkuFindMultiplaneCompatibleFormat(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { const uint32_t plane_idx = vkuGetPlaneIndex(plane_aspect); const struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY multiplane_compatibility = vkuGetFormatCompatibility(mp_fmt); if ((multiplane_compatibility.per_plane[0].compatible_format == VK_FORMAT_UNDEFINED) || (plane_idx >= VKU_FORMAT_MAX_PLANES)) { @@ -542,7 +575,7 @@ return multiplane_compatibility.per_plane[plane_idx].compatible_format; } -inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { +static inline VkExtent2D vkuFindMultiplaneExtentDivisors(VkFormat mp_fmt, VkImageAspectFlagBits plane_aspect) { VkExtent2D divisors = {1, 1}; const uint32_t plane_idx = vkuGetPlaneIndex(plane_aspect); const struct VKU_FORMAT_MULTIPLANE_COMPATIBILITY multiplane_compatibility = vkuGetFormatCompatibility(mp_fmt); @@ -555,63 +588,53 @@ return divisors; } -inline uint32_t vkuFormatComponentCount(VkFormat format) { return vkuGetFormatInfo(format).component_count; } +// TODO - This should be generated, but will need updating the spec XML and table +// Some few case don't have an aspect mask, so might need to check both the Depth and Stencil possiblity +static inline bool vkuFormatIsDepthStencilWithColorSizeCompatible(VkFormat color_format, VkFormat ds_format, VkImageAspectFlags aspect_mask) { + bool valid = false; -inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format) { return vkuGetFormatInfo(format).block_extent; } - -inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format) { return vkuGetFormatInfo(format).compatibility; } - -inline bool vkuFormatElementIsTexel(VkFormat format) { - if (vkuFormatIsPacked(format) || vkuFormatIsCompressed(format) || vkuFormatIsSinglePlane_422(format) || vkuFormatIsMultiplane(format)) { - return false; - } else { - return true; - } -} - -inline uint32_t vkuFormatElementSize(VkFormat format) { - return vkuFormatElementSizeWithAspect(format, VK_IMAGE_ASPECT_COLOR_BIT); -} - -inline uint32_t vkuFormatElementSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask) { - // Depth/Stencil aspect have separate helper functions - if (aspectMask & VK_IMAGE_ASPECT_STENCIL_BIT) { - return vkuFormatStencilSize(format) / 8; - } else if (aspectMask & VK_IMAGE_ASPECT_DEPTH_BIT) { - return vkuFormatDepthSize(format) / 8; - } else if (vkuFormatIsMultiplane(format)) { - // Element of entire multiplane format is not useful, - // Want to get just a single plane as the lookup format - format = vkuFindMultiplaneCompatibleFormat(format, aspectMask); + if (aspect_mask & VK_IMAGE_ASPECT_STENCIL_BIT) { + if (ds_format == VK_FORMAT_S8_UINT || ds_format == VK_FORMAT_D16_UNORM_S8_UINT || + ds_format == VK_FORMAT_D24_UNORM_S8_UINT || ds_format == VK_FORMAT_D32_SFLOAT_S8_UINT) { + valid |= (color_format == VK_FORMAT_R8_UINT || color_format == VK_FORMAT_R8_SINT || + color_format == VK_FORMAT_R8_UNORM || color_format == VK_FORMAT_R8_SNORM); + } } - return vkuGetFormatInfo(format).block_size; -} - -inline double vkuFormatTexelSize(VkFormat format) { - return vkuFormatTexelSizeWithAspect(format, VK_IMAGE_ASPECT_COLOR_BIT); -} - -inline double vkuFormatTexelSizeWithAspect(VkFormat format, VkImageAspectFlagBits aspectMask) { - double texel_size = (double)(vkuFormatElementSizeWithAspect(format, aspectMask)); - VkExtent3D block_extent = vkuFormatTexelBlockExtent(format); - uint32_t texels_per_block = block_extent.width * block_extent.height * block_extent.depth; - if (1 < texels_per_block) { - texel_size /= (double)(texels_per_block); + if (aspect_mask & VK_IMAGE_ASPECT_DEPTH_BIT) { + if (ds_format == VK_FORMAT_D32_SFLOAT || ds_format == VK_FORMAT_D32_SFLOAT_S8_UINT || + ds_format == VK_FORMAT_X8_D24_UNORM_PACK32 || ds_format == VK_FORMAT_D24_UNORM_S8_UINT) { + valid |= (color_format == VK_FORMAT_R32_SFLOAT || color_format == VK_FORMAT_R32_SINT || color_format == VK_FORMAT_R32_UINT); + } + if (ds_format == VK_FORMAT_D16_UNORM || ds_format == VK_FORMAT_D16_UNORM_S8_UINT) { + valid |= (color_format == VK_FORMAT_R16_SFLOAT || color_format == VK_FORMAT_R16_UNORM || + color_format == VK_FORMAT_R16_SNORM || color_format == VK_FORMAT_R16_UINT || color_format == VK_FORMAT_R16_SINT); + } } - return texel_size; + + return valid; } +static inline uint32_t vkuFormatComponentCount(VkFormat format) { return vkuGetFormatInfo(format).component_count; } + +static inline VkExtent3D vkuFormatTexelBlockExtent(VkFormat format) { return vkuGetFormatInfo(format).block_extent; } + +static inline enum VKU_FORMAT_COMPATIBILITY_CLASS vkuFormatCompatibilityClass(VkFormat format) { return vkuGetFormatInfo(format).compatibility; } + +static inline uint32_t vkuFormatTexelsPerBlock(VkFormat format) { return vkuGetFormatInfo(format).texels_per_block; } + +static inline uint32_t vkuFormatTexelBlockSize(VkFormat format) { return vkuGetFormatInfo(format).texel_block_size; } + ''') # Could loop the components, but faster to just list these for bits in ['8', '16', '32', '64']: - out.append(f'inline bool vkuFormatIs{bits}bit(VkFormat format) {{\n') + out.append(f'static inline bool vkuFormatIs{bits}bit(VkFormat format) {{\n') out.append(' switch (format) {\n') out.extend([f' case {f.name}:\n' for f in self.vk.formats.values() if formatHasEqualBitsize(f, bits)]) out.append(self.commonBoolSwitch) out.append(''' -inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size) { +static inline bool vkuFormatHasComponentSize(VkFormat format, uint32_t size) { const struct VKU_FORMAT_INFO format_info = vkuGetFormatInfo(format); bool equal_component_size = false; for (size_t i = 0; i < VKU_FORMAT_MAX_COMPONENTS; i++) { @@ -620,7 +643,7 @@ return equal_component_size; } -inline bool vkuFormatHasComponentType(VkFormat format, enum VKU_FORMAT_COMPONENT_TYPE component) { +static inline bool vkuFormatHasComponentType(VkFormat format, enum VKU_FORMAT_COMPONENT_TYPE component) { const struct VKU_FORMAT_INFO format_info = vkuGetFormatInfo(format); bool equal_component_type = false; for (size_t i = 0; i < VKU_FORMAT_MAX_COMPONENTS; i++) { @@ -629,15 +652,15 @@ return equal_component_type; } -inline bool vkuFormatHasRed(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_R); } +static inline bool vkuFormatHasRed(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_R); } -inline bool vkuFormatHasGreen(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_G); } +static inline bool vkuFormatHasGreen(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_G); } -inline bool vkuFormatHasBlue(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_B); } +static inline bool vkuFormatHasBlue(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_B); } -inline bool vkuFormatHasAlpha(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_A); } +static inline bool vkuFormatHasAlpha(VkFormat format) { return vkuFormatHasComponentType(format, VKU_FORMAT_COMPONENT_TYPE_A); } -inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect) { +static inline uint32_t vkuGetPlaneIndex(VkImageAspectFlagBits aspect) { switch (aspect) { case VK_IMAGE_ASPECT_PLANE_0_BIT: return 0;
diff --git a/scripts/generators/safe_struct_generator.py b/scripts/generators/safe_struct_generator.py index 72e2281..0bd6e0f 100644 --- a/scripts/generators/safe_struct_generator.py +++ b/scripts/generators/safe_struct_generator.py
@@ -1,17 +1,17 @@ #!/usr/bin/python3 -i # -# Copyright (c) 2015-2024 The Khronos Group Inc. -# Copyright (c) 2015-2024 Valve Corporation -# Copyright (c) 2015-2024 LunarG, Inc. -# Copyright (c) 2015-2024 Google Inc. -# Copyright (c) 2023-2024 RasterGrid Kft. +# Copyright (c) 2015-2025 The Khronos Group Inc. +# Copyright (c) 2015-2025 Valve Corporation +# Copyright (c) 2015-2025 LunarG, Inc. +# Copyright (c) 2015-2025 Google Inc. +# Copyright (c) 2023-2025 RasterGrid Kft. # # SPDX-License-Identifier: Apache-2.0 import os import re -from generators.vulkan_object import Struct, Member -from generators.base_generator import BaseGenerator +from vulkan_object import Struct, Member +from base_generator import BaseGenerator from generators.generator_utils import PlatformGuardHelper class SafeStructOutputGenerator(BaseGenerator): @@ -37,10 +37,6 @@ # This needs to know if we're doing a host or device build, logic becomes complex and very specialized 'VkAccelerationStructureBuildGeometryInfoKHR', 'VkAccelerationStructureGeometryKHR', - # Have a pUsageCounts and ppUsageCounts that is not currently handled in the generated code - 'VkMicromapBuildInfoEXT', - 'VkAccelerationStructureTrianglesOpacityMicromapEXT', - 'VkAccelerationStructureTrianglesDisplacementMicromapNV', # Special case because its pointers may be non-null but ignored 'VkGraphicsPipelineCreateInfo', # Special case because it has custom construct parameters @@ -61,9 +57,11 @@ 'VkDescriptorDataEXT', 'VkIndirectCommandsTokenDataEXT', 'VkIndirectExecutionSetInfoEXT', + 'VkResourceDescriptorDataEXT', ] self.union_of_pointer_callers = [ 'VkDescriptorGetInfoEXT', + 'VkResourceDescriptorInfoEXT', ] # Will update the the function interface @@ -134,15 +132,21 @@ return False def generate(self): + # Should be fixed in 1.4.310 headers + # https://gitlab.khronos.org/vulkan/vulkan/-/merge_requests/7196 + manual_protect = ["VkCudaModuleNV", "VkCudaFunctionNV", "VkCudaModuleCreateInfoNV", "VkCudaFunctionCreateInfoNV", "VkCudaLaunchInfoNV", "VkPhysicalDeviceCudaKernelLaunchFeaturesNV", "VkPhysicalDeviceCudaKernelLaunchPropertiesNV", "VkSetPresentConfigNV", "VkPhysicalDevicePresentMeteringFeaturesNV"] + for struct in [x for x in self.vk.structs.values() if x.name in manual_protect]: + struct.protect = "VK_ENABLE_BETA_EXTENSIONS" + self.write(f'''// *** THIS FILE IS GENERATED - DO NOT EDIT *** // See {os.path.basename(__file__)} for modifications /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -173,10 +177,6 @@ #include <vulkan/utility/vk_safe_struct_utils.hpp> namespace vku { - - // Mapping of unknown stype codes to structure lengths. This should be set up by the application - // before vkCreateInstance() and not modified afterwards. - std::vector<std::pair<uint32_t, uint32_t>>& GetCustomStypeInfo(); \n''') guard_helper = PlatformGuardHelper() @@ -319,14 +319,7 @@ out.extend(guard_helper.add_guard(None)) out.append(''' - default: // Encountered an unknown sType -- skip (do not copy) this entry in the chain - // If sType is in custom list, construct blind copy - for (auto item : GetCustomStypeInfo()) { - if (item.first == static_cast<uint32_t>(header->sType)) { - safe_pNext = malloc(item.second); - memcpy(safe_pNext, header, item.second); - } - } + default: break; } if (!first_pNext) { @@ -375,14 +368,7 @@ out.extend(guard_helper.add_guard(None)) out.append(''' - default: // Encountered an unknown sType - // If sType is in custom list, free custom struct memory and clean up - for (auto item : GetCustomStypeInfo() ) { - if (item.first == static_cast<uint32_t>(header->sType)) { - free(current); - break; - } - } + default: break; } current = next; @@ -566,6 +552,11 @@ for member in struct.members: m_type = member.type m_type_safe = False + m_shallow_copy = False + + if member.pointer and 'PFN_' in member.type: + m_shallow_copy = True + if member.name == 'pNext': copy_pnext = 'pNext = SafePnextCopy(in_struct->pNext, copy_state);\n' copy_pnext_if = ''' @@ -576,7 +567,7 @@ m_type = self.convertName(member.type) m_type_safe = True; - if member.pointer and not m_type_safe and 'PFN_' not in member.type and not self.typeContainsObjectHandle(member.type, False): + if member.pointer and not m_type_safe and not m_shallow_copy and not self.typeContainsObjectHandle(member.type, False): # Ptr types w/o a safe_struct, for non-null case need to allocate new ptr and copy data in if m_type in ['void', 'char']: if member.name != 'pNext': @@ -584,11 +575,16 @@ # Create deep copies of strings if member.length: copy_strings += f''' - char **tmp_{member.name} = new char *[in_struct->{member.length}]; - for (uint32_t i = 0; i < {member.length}; ++i) {{ - tmp_{member.name}[i] = SafeStringCopy(in_struct->{member.name}[i]); + if (in_struct->{member.length} > 0) {{ + char **tmp_{member.name} = new char *[in_struct->{member.length}]; + for (uint32_t i = 0; i < {member.length}; ++i) {{ + tmp_{member.name}[i] = SafeStringCopy(in_struct->{member.name}[i]); + }} + {member.name} = tmp_{member.name}; + }} else {{ + {member.name} = nullptr; }} - {member.name} = tmp_{member.name};''' + ''' destruct_txt += f''' if ({member.name}) {{ @@ -622,6 +618,31 @@ init_list += f'\n{member.name}(in_struct->{member.name}),' init_func_txt += f'{member.name} = in_struct->{member.name};\n' default_init_list += f'\n{member.name}(nullptr),' + elif member.name == 'ppUsageCounts': + # This is the same issue above, but instead of void/char* we have custom Vulkan types + # Currently just search for 'ppUsageCounts' until something that isn't also needs this, then make it more general + default_init_list += f'\n{member.name}(nullptr),' + init_list += f'\n{member.name}(nullptr),' + init_func_txt += f'{member.name} = nullptr;\n' + + construct_txt += f''' + if (in_struct->{member.name}) {{ + {m_type}** pointer_array = new {m_type}*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) {{ + pointer_array[i] = new {m_type}(*in_struct->{member.name}[i]); + }} + {member.name} = pointer_array; + }} + ''' + + destruct_txt += f''' + if ({member.name}) {{ + for (uint32_t i = 0; i < usageCountsCount; ++i) {{ + delete {member.name}[i]; + }} + delete[] {member.name}; + }} + ''' else: default_init_list += f'\n{member.name}(nullptr),' init_list += f'\n{member.name}(nullptr),' @@ -683,7 +704,7 @@ construct_txt += f'{member.name}[i] = {array_element};\n' construct_txt += '}\n' construct_txt += '}\n' - elif member.pointer and 'PFN_' not in member.type: + elif member.pointer and not m_shallow_copy: default_init_list += f'\n{member.name}(nullptr),' init_list += f'\n{member.name}(nullptr),' init_func_txt += f'{member.name} = nullptr;\n' @@ -726,21 +747,13 @@ safe_name = self.convertName(struct.name) if struct.union: - if struct.name in self.union_of_pointers: - default_init_list = ' type_at_end {0},' - out.append(f''' - {safe_name}::{safe_name}(const {struct.name}* in_struct{self.custom_construct_params.get(struct.name, '')}, [[maybe_unused]] PNextCopyState* copy_state{copy_pnext_param}) - {{ - {copy_pnext + construct_txt}}} - ''') - else: - # Unions don't allow multiple members in the initialization list, so just call initialize - out.append(f''' - {safe_name}::{safe_name}(const {struct.name}* in_struct{self.custom_construct_params.get(struct.name, '')}, PNextCopyState*) - {{ - initialize(in_struct); - }} - ''') + # Unions don't allow multiple members in the initialization list, so just call initialize + out.append(f''' + {safe_name}::{safe_name}(const {struct.name}* in_struct{self.custom_construct_params.get(struct.name, '')}, PNextCopyState*) + {{ + initialize(in_struct); + }} + ''') else: out.append(f''' {safe_name}::{safe_name}(const {struct.name}* in_struct{self.custom_construct_params.get(struct.name, '')}, [[maybe_unused]] PNextCopyState* copy_state{copy_pnext_param}) :{init_list} @@ -748,7 +761,11 @@ {copy_pnext_if + construct_txt}}} ''') if '' != default_init_list: + # trim trailing comma from initializer list default_init_list = f' :{default_init_list[:-1]}' + # truncate union initializer list to first element + if struct.union: + default_init_list = default_init_list.split(',')[0] default_init_body = '\n' + custom_defeault_construct_txt[struct.name] if struct.name in custom_defeault_construct_txt else '' out.append(f''' {safe_name}::{safe_name}(){default_init_list}
diff --git a/scripts/generators/struct_helper_generator.py b/scripts/generators/struct_helper_generator.py index f92a872..12cb231 100644 --- a/scripts/generators/struct_helper_generator.py +++ b/scripts/generators/struct_helper_generator.py
@@ -19,7 +19,7 @@ # limitations under the License. import os -from generators.base_generator import BaseGenerator +from base_generator import BaseGenerator from generators.generator_utils import PlatformGuardHelper class StructHelperOutputGenerator(BaseGenerator):
diff --git a/scripts/generators/vulkan_object.py b/scripts/generators/vulkan_object.py deleted file mode 100644 index 642e817..0000000 --- a/scripts/generators/vulkan_object.py +++ /dev/null
@@ -1,405 +0,0 @@ -#!/usr/bin/python3 -i -# -# Copyright (c) 2023-2024 Valve Corporation -# Copyright (c) 2023-2024 LunarG, Inc. -# -# SPDX-License-Identifier: Apache-2.0 - -from dataclasses import dataclass, field -from enum import IntFlag, Enum, auto - -@dataclass -class Extension: - """<extension>""" - name: str # ex) VK_KHR_SURFACE - nameString: str # marco with string, ex) VK_KHR_SURFACE_EXTENSION_NAME - - # Only one will be True, the other is False - instance: bool - device: bool - - depends: (str | None) - vendorTag: (str | None) # ex) EXT, KHR, etc - platform: (str | None) # ex) android - protect: (str | None) # ex) VK_USE_PLATFORM_ANDROID_KHR - provisional: bool - promotedTo: (str | None) # ex) VK_VERSION_1_1 - deprecatedBy: (str | None) - obsoletedBy: (str | None) - specialUse: list[str] - - # These are here to allow for easy reverse lookups - # Quotes allow us to forward declare the dataclass - commands: list['Command'] = field(default_factory=list, init=False) - enums: list['Enum'] = field(default_factory=list, init=False) - bitmasks: list['Bitmask'] = field(default_factory=list, init=False) - # Use the Enum name to see what fields are extended - enumFields: dict[str, list['EnumField']] = field(default_factory=dict, init=False) - # Use the Bitmaks name to see what flags are extended - flags: dict[str, list['Flag']] = field(default_factory=dict, init=False) - -@dataclass -class Version: - """ - <feature> which represents a version - This will NEVER be Version 1.0, since having 'no version' is same as being 1.0 - """ - name: str # ex) VK_VERSION_1_1 - nameString: str # ex) "VK_VERSION_1_1" (no marco, so has quotes) - nameApi: str # ex) VK_API_VERSION_1_1 - number: str # ex) 1.1 - -@dataclass -class Handle: - """<type> which represents a dispatch handle""" - name: str # ex) VkBuffer - type: str # ex) VK_OBJECT_TYPE_BUFFER - protect: (str | None) # ex) VK_USE_PLATFORM_ANDROID_KHR - - parent: 'Handle' # Chain of parent handles, can be None - - # Only one will be True, the other is False - instance: bool - device: bool - - dispatchable: bool - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class Param: - """<command/param>""" - name: str - alias: str - type: str # ex) void, VkFormat, etc - - noAutoValidity: bool - - const: bool # type contains 'const' - length: (str | None) # the known length of pointer, will never be 'null-terminated' - nullTerminated: bool # If a UTF-8 string, it will be null-terminated - pointer: bool # type contains a pointer (include 'PFN' function pointers) - fixedSizeArray: list[str] # for VkTransformMatrixKHR:matrix this is [3, 4] - - optional: bool - optionalPointer: bool # if type contains a pointer, is the pointer value optional - - externSync: bool - externSyncPointer: list[str] # if type contains a pointer, might only specific members modified - - # C string of member, example: - # - const void* pNext - # - VkFormat format - # - VkStructureType sType - cDeclaration: str - - def __lt__(self, other): - return self.name < other.name - -class Queues(IntFlag): - TRANSFER = auto() # VK_QUEUE_TRANSFER_BIT - GRAPHICS = auto() # VK_QUEUE_GRAPHICS_BIT - COMPUTE = auto() # VK_QUEUE_COMPUTE_BIT - PROTECTED = auto() # VK_QUEUE_PROTECTED_BIT - SPARSE_BINDING = auto() # VK_QUEUE_SPARSE_BINDING_BIT - OPTICAL_FLOW = auto() # VK_QUEUE_OPTICAL_FLOW_BIT_NV - DECODE = auto() # VK_QUEUE_VIDEO_DECODE_BIT_KHR - ENCODE = auto() # VK_QUEUE_VIDEO_ENCODE_BIT_KHR - ALL = TRANSFER | GRAPHICS | COMPUTE | PROTECTED | SPARSE_BINDING | OPTICAL_FLOW | DECODE | ENCODE - -class CommandScope(Enum): - NONE = auto() - INSIDE = auto() - OUTSIDE = auto() - BOTH = auto() - -@dataclass -class Command: - """<command>""" - name: str # ex) vkCmdDraw - alias: str # Because commands are interfaces into layers/drivers, we need all command alias - protect: (str | None) # ex) 'VK_ENABLE_BETA_EXTENSIONS' - - extensions: list[Extension] # All extensions that enable the struct - version: (Version | None) # None if Version 1.0 - - returnType: str # ex) void, VkResult, etc - - params: list[Param] # Each parameter of the command - - # Only one will be True, the other is False - instance: bool - device: bool - - tasks: list[str] # ex) [ action, state, synchronization ] - queues: Queues # zero == No Queues found - successCodes: list[str] # ex) [ VK_SUCCESS, VK_INCOMPLETE ] - errorCodes: list[str] # ex) [ VK_ERROR_OUT_OF_HOST_MEMORY ] - - # Shows support if command can be in a primary and/or secondary command buffer - primary: bool - secondary: bool - - renderPass: CommandScope - videoCoding: CommandScope - - implicitExternSyncParams: list[str] - - # C prototype string - ex: - # VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance( - # const VkInstanceCreateInfo* pCreateInfo, - # const VkAllocationCallbacks* pAllocator, - # VkInstance* pInstance); - cPrototype: str - - # function pointer typedef - ex: - # typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance) - # (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance); - cFunctionPointer: str - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class Member: - """<member>""" - name: str # ex) sharingMode - type: str # ex) VkSharingMode - - noAutoValidity: bool - limitType: (str | None) # ex) 'max', 'bitmask', 'bits', 'min,mul' - - const: bool # type contains 'const' - length: (str | None) # the known length of pointer, will never be 'null-terminated' - nullTerminated: bool # If a UTF-8 string, it will be null-terminated - pointer: bool # type contains a pointer (include 'PFN' function pointers) - fixedSizeArray: list[str] # for VkTransformMatrixKHR:matrix this is [3, 4] - - optional: bool - optionalPointer: bool # if type contains a pointer, is the pointer value optional - - externSync: bool - - # C string of member, example: - # - const void* pNext - # - VkFormat format - # - VkStructureType sType - cDeclaration: str - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class Struct: - """<type category="struct"> or <type category="union">""" - name: str # ex. VkBufferCreateInfo - extensions: list[Extension] # All extensions that enable the struct - version: (Version | None) # None if Version 1.0 - protect: (str | None) # ex) VK_ENABLE_BETA_EXTENSIONS - - members: list[Member] - - union: bool # Unions are just a subset of a Structs - returnedOnly: bool - - sType: (str | None) # ex) VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO - allowDuplicate: bool # can have a pNext point to itself - - # These use to be list['Struct'] but some circular loops occur and cause - # pydevd warnings and made debugging slow (30 seconds to index a Struct) - extends: list[str] # Struct names that this struct extends - extendedBy: list[str] # Struct names that can be extended by this struct - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class EnumField: - """<enum> of type enum""" - name: str # ex) VK_DYNAMIC_STATE_SCISSOR - negative: bool # True if negative values are allowed (ex. VkResult) - protect: (str | None) # ex) VK_ENABLE_BETA_EXTENSIONS - - # some fields are enabled from 2 extensions (ex) VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR) - extensions: list[Extension] # None if part of 1.0 core - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class Enum: - """<enums> of type enum""" - name: str # ex) VkDynamicState - protect: (str | None) # ex) VK_ENABLE_BETA_EXTENSIONS - - bitWidth: int # 32 or 64 - returnedOnly: bool - - fields: list[EnumField] - - extensions: list[Extension] # None if part of 1.0 core - # Unique list of all extension that are involved in 'fields' (superset of 'extensions') - fieldExtensions: list[Extension] - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class Flag: - """<enum> of type bitmask""" - name: str # ex) VK_ACCESS_2_SHADER_READ_BIT - protect: (str | None) # ex) VK_ENABLE_BETA_EXTENSIONS - - value: int - multiBit: bool # if true, more than one bit is set (ex) VK_SHADER_STAGE_ALL_GRAPHICS) - zero: bool # if true, the value is zero (ex) VK_PIPELINE_STAGE_NONE) - - # some fields are enabled from 2 extensions (ex) VK_TOOL_PURPOSE_DEBUG_REPORTING_BIT_EXT) - extensions: list[Extension] # None if part of 1.0 core - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class Bitmask: - """<enums> of type bitmask""" - name: str # ex) VkAccessFlagBits2 - flagName: str # ex) VkAccessFlags2 - protect: (str | None) # ex) VK_ENABLE_BETA_EXTENSIONS - - bitWidth: int # 32 or 64 - returnedOnly: bool - - flags: list[Flag] - - extensions: list[Extension] # None if part of 1.0 core - # Unique list of all extension that are involved in 'flag' (superset of 'extensions') - flagExtensions: list[Extension] - - def __lt__(self, other): - return self.name < other.name - -@dataclass -class FormatComponent: - """<format/component>""" - type: str # ex) R, G, B, A, D, S, etc - bits: str # will be an INT or 'compressed' - numericFormat: str # ex) UNORM, SINT, etc - planeIndex: (int | None) # None if no planeIndex in format - -@dataclass -class FormatPlane: - """<format/plane>""" - index: int - widthDivisor: int - heightDivisor: int - compatible: str - -@dataclass -class Format: - """<format>""" - name: str - className: str - blockSize: int - texelsPerBlock: int - blockExtent: list[str] - packed: (int | None) # None == not-packed - chroma: (str | None) - compressed: (str | None) - components: list[FormatComponent] # <format/component> - planes: list[FormatPlane] # <format/plane> - spirvImageFormat: (str | None) - -@dataclass -class SyncSupport: - """<syncsupport>""" - queues: Queues - stages: list[Flag] # VkPipelineStageFlagBits2 - max: bool # If this supports max values - -@dataclass -class SyncEquivalent: - """<syncequivalent>""" - stages: list[Flag] # VkPipelineStageFlagBits2 - accesses: list[Flag] # VkAccessFlagBits2 - max: bool # If this equivalent to everything - -@dataclass -class SyncStage: - """<syncstage>""" - flag: Flag # VkPipelineStageFlagBits2 - support: SyncSupport - equivalent: SyncEquivalent - -@dataclass -class SyncAccess: - """<syncaccess>""" - flag: Flag # VkAccessFlagBits2 - support: SyncSupport - equivalent: SyncEquivalent - -@dataclass -class SyncPipelineStage: - """<syncpipelinestage>""" - order: (str | None) - before: (str | None) - after: (str | None) - value: str - -@dataclass -class SyncPipeline: - """<syncpipeline>""" - name: str - depends: list[str] - stages: list[SyncPipelineStage] - -@dataclass -class SpirvEnables: - """What is needed to enable the SPIR-V element""" - version: (str | None) - extension: (str | None) - struct: (str | None) - feature: (str | None) - requires: (str | None) - property: (str | None) - member: (str | None) - value: (str | None) - -@dataclass -class Spirv: - """<spirvextension> and <spirvcapability>""" - name: str - # Only one will be True, the other is False - extension: bool - capability: bool - enable: list[SpirvEnables] - -# This is the global Vulkan Object that holds all the information from parsing the XML -# This class is designed so all generator scripts can use this to obtain data -@dataclass -class VulkanObject(): - headerVersion: int = 0 # value of VK_HEADER_VERSION - - extensions: dict[str, Extension] = field(default_factory=dict, init=False) - versions: dict[str, Version] = field(default_factory=dict, init=False) - - handles: dict[str, Handle] = field(default_factory=dict, init=False) - commands: dict[str, Command] = field(default_factory=dict, init=False) - structs: dict[str, Struct] = field(default_factory=dict, init=False) - enums: dict[str, Enum] = field(default_factory=dict, init=False) - bitmasks: dict[str, Bitmask] = field(default_factory=dict, init=False) - formats: dict[str, Format] = field(default_factory=dict, init=False) - - syncStage: list[SyncStage] = field(default_factory=list, init=False) - syncAccess: list[SyncAccess] = field(default_factory=list, init=False) - syncPipeline: list[SyncPipeline] = field(default_factory=list, init=False) - - spirv: list[Spirv] = field(default_factory=list, init=False) - - # ex) [ xlib : VK_USE_PLATFORM_XLIB_KHR ] - platforms: dict[str, str] = field(default_factory=dict, init=False) - # list of all vendor Sufix names (KHR, EXT, etc. ) - vendorTags: list[str] = field(default_factory=list, init=False) - # ex) [ Queues.COMPUTE : VK_QUEUE_COMPUTE_BIT ] - queueBits: dict[IntFlag, str] = field(default_factory=dict, init=False)
diff --git a/scripts/known_good.json b/scripts/known_good.json index c94251b..f661fd9 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json
@@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.4.304" + "commit": "v1.4.350" }, { "name": "googletest", @@ -46,4 +46,4 @@ "googletest": "GOOGLETEST_INSTALL_DIR", "magic_enum": "MAGIC_ENUM_INSTALL_DIR" } -} \ No newline at end of file +}
diff --git a/src/layer/layer_settings_manager.cpp b/src/layer/layer_settings_manager.cpp index 391d339..38179f2 100644 --- a/src/layer/layer_settings_manager.cpp +++ b/src/layer/layer_settings_manager.cpp
@@ -38,31 +38,31 @@ * Android API level 26. If not avaible use the old __system_property_get function. */ -// Weak function declaration, used only when not decalered in the Android headers +// Weak function declaration, used only when not declared in the Android headers void __system_property_read_callback(const prop_info *info, void (*callback)(void *cookie, const char *name, const char *value, uint32_t serial), void *cookie) __attribute__((weak)); static std::string GetAndroidProperty(const char *name) { std::string output; - if (__system_property_read_callback != nullptr) { - const prop_info *pi = __system_property_find(name); - if (pi) { - __system_property_read_callback( - pi, - [](void *cookie, const char *name, const char *value, uint32_t serial) { - (void)name; - (void)serial; - reinterpret_cast<std::string *>(cookie)->assign(value); - }, - reinterpret_cast<void *>(&output)); - } - } else { - char value_buf[PROP_VALUE_MAX] = ""; - size_t len = static_cast<size_t>(__system_property_get(name, value_buf)); - if (len > 0 && len < sizeof(value_buf)) { - output.assign(value_buf, len); - } +#if __ANDROID_API__ >= 26 + const prop_info *pi = __system_property_find(name); + if (pi) { + __system_property_read_callback( + pi, + [](void *cookie, const char *name, const char *value, uint32_t serial) { + (void)name; + (void)serial; + reinterpret_cast<std::string *>(cookie)->assign(value); + }, + reinterpret_cast<void *>(&output)); } +#else + char value_buf[PROP_VALUE_MAX] = ""; + size_t len = static_cast<size_t>(__system_property_get(name, value_buf)); + if (len > 0 && len < sizeof(value_buf)) { + output.assign(value_buf, len); + } +#endif return output; } #endif @@ -290,6 +290,11 @@ return this->string_setting_cache[settingName]; } +const std::string &LayerSettings::GetLayerName() const { + assert(!this->layer_name.empty()); + return this->layer_name; +} + bool LayerSettings::HasEnvSetting(const char *pSettingName) { assert(pSettingName != nullptr); @@ -328,7 +333,7 @@ for (int trim_index = TRIM_FIRST; trim_index <= TRIM_LAST; ++trim_index) { const std::string &env_name = - GetEnvSettingName(cur_layer_name, this->prefix.c_str(), pSettingName, static_cast<TrimMode>(trim_index)); + GetEnvSettingName(cur_layer_name, nullptr, pSettingName, static_cast<TrimMode>(trim_index)); std::string result = GetEnvironment(env_name.c_str()); if (!result.empty()) { return result;
diff --git a/src/layer/layer_settings_manager.hpp b/src/layer/layer_settings_manager.hpp index cbe5037..45fd270 100644 --- a/src/layer/layer_settings_manager.hpp +++ b/src/layer/layer_settings_manager.hpp
@@ -1,6 +1,6 @@ -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 // @@ -42,6 +42,8 @@ std::vector<std::string> &GetSettingCache(const std::string &pSettingName); + const std::string &GetLayerName() const; + private: const VkLayerSettingEXT *FindLayerSettingValue(const char *pSettingName);
diff --git a/src/layer/vk_layer_settings.cpp b/src/layer/vk_layer_settings.cpp index bc696f6..4d3e198 100644 --- a/src/layer/vk_layer_settings.cpp +++ b/src/layer/vk_layer_settings.cpp
@@ -1,6 +1,6 @@ -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 // @@ -690,17 +690,30 @@ return false; } -VkResult vkuGetUnknownSettings(const VkLayerSettingsCreateInfoEXT *pCreateInfo, uint32_t settingsCount, const char **pSettings, - uint32_t *pUnknownSettingCount, const char **pUnknownSettings) { +VkResult vkuGetUnknownSettings(VkuLayerSettingSet layerSettingSet, uint32_t layerSettingsCount, const char **pLayerSettings, + const VkLayerSettingsCreateInfoEXT *pCreateInfo, uint32_t *pUnknownSettingCount, + const char **pUnknownSettings) { assert(pUnknownSettingCount != nullptr); + if (layerSettingSet == VK_NULL_HANDLE) { + return VK_ERROR_INITIALIZATION_FAILED; + } + + vl::LayerSettings *layer_setting_set = (vl::LayerSettings *)layerSettingSet; + const VkLayerSettingsCreateInfoEXT *current_create_info = pCreateInfo; uint32_t current_unknown_setting_count = 0; while (current_create_info != nullptr) { for (uint32_t info_index = 0, info_count = current_create_info->settingCount; info_index < info_count; ++info_index) { + const VkLayerSettingEXT *setting = ¤t_create_info->pSettings[info_index]; + + if (layer_setting_set->GetLayerName() != setting->pLayerName) { + continue; + } + const char *current_setting_name = current_create_info->pSettings[info_index].pSettingName; - if (!vkuHasSetting(settingsCount, pSettings, current_setting_name)) { + if (!vkuHasSetting(layerSettingsCount, pLayerSettings, current_setting_name)) { if (pUnknownSettings != nullptr && current_unknown_setting_count < *pUnknownSettingCount) { pUnknownSettings[current_unknown_setting_count] = current_setting_name; }
diff --git a/src/layer/vk_layer_settings_helper.cpp b/src/layer/vk_layer_settings_helper.cpp index dd9a6f6..a6967b0 100644 --- a/src/layer/vk_layer_settings_helper.cpp +++ b/src/layer/vk_layer_settings_helper.cpp
@@ -220,56 +220,11 @@ return result; } -static uint32_t TokenToUint(const std::string &token) { - uint32_t int_id = 0; - if ((token.find("0x") == 0) || token.find("0X") == 0) { // Handle hex format - int_id = static_cast<uint32_t>(std::strtoul(token.c_str(), nullptr, 16)); - } else { - int_id = static_cast<uint32_t>(std::strtoul(token.c_str(), nullptr, 10)); // Decimal format - } - return int_id; -} - -static void SetCustomStypeInfo(std::vector<const char *> raw_id_list, std::vector<VkuCustomSTypeInfo> &custom_stype_info) { - // List format is a list of integer pairs - for (std::size_t i = 0, n = raw_id_list.size(); i < n; i += 2) { - uint32_t stype_id = TokenToUint(raw_id_list[i + 0]); - uint32_t struct_size_in_bytes = TokenToUint(raw_id_list[i + 1]); - - bool found = false; - // Prevent duplicate entries - for (auto item : custom_stype_info) { - if (item.first == stype_id) { - found = true; - break; - } - } - if (!found) { - custom_stype_info.push_back(std::make_pair(stype_id, struct_size_in_bytes)); - } - } -} - -VkResult vkuGetLayerSettingValues(VkuLayerSettingSet layerSettingSet, const char *pSettingName, - std::vector<VkuCustomSTypeInfo> &settingValues) { - uint32_t value_count = 0; - VkResult result = vkuGetLayerSettingValues(layerSettingSet, pSettingName, VKU_LAYER_SETTING_TYPE_STRING, &value_count, nullptr); - if (result != VK_SUCCESS) { - return result; - } - - if (value_count > 0) { - std::vector<const char *> values(value_count); - result = vkuGetLayerSettingValues(layerSettingSet, pSettingName, VKU_LAYER_SETTING_TYPE_STRING, &value_count, &values[0]); - SetCustomStypeInfo(values, settingValues); - } - return result; -} - -VkResult vkuGetUnknownSettings(const VkLayerSettingsCreateInfoEXT *pFirstCreateInfo, uint32_t settingsCount, const char **pSettings, - std::vector<const char *> &unknownSettings) { +VkResult vkuGetUnknownSettings(VkuLayerSettingSet layerSettingSet, uint32_t layerSettingsCount, const char **pLayerSettings, + const VkLayerSettingsCreateInfoEXT *pFirstCreateInfo, std::vector<const char *> &unknownSettings) { uint32_t unknown_setting_count = 0; - VkResult result = vkuGetUnknownSettings(pFirstCreateInfo, settingsCount, pSettings, &unknown_setting_count, nullptr); + VkResult result = vkuGetUnknownSettings(layerSettingSet, layerSettingsCount, pLayerSettings, pFirstCreateInfo, + &unknown_setting_count, nullptr); if (result != VK_SUCCESS) { return result; } @@ -277,7 +232,8 @@ if (unknown_setting_count > 0) { unknownSettings.resize(unknown_setting_count); - result = vkuGetUnknownSettings(pFirstCreateInfo, settingsCount, pSettings, &unknown_setting_count, &unknownSettings[0]); + result = vkuGetUnknownSettings(layerSettingSet, layerSettingsCount, pLayerSettings, pFirstCreateInfo, + &unknown_setting_count, &unknownSettings[0]); } return result;
diff --git a/src/vulkan/vk_safe_struct_core.cpp b/src/vulkan/vk_safe_struct_core.cpp index 191919c..ac4811f 100644 --- a/src/vulkan/vk_safe_struct_core.cpp +++ b/src/vulkan/vk_safe_struct_core.cpp
@@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -22,227 +22,6 @@ namespace vku { -safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - srcAccessMask(in_struct->srcAccessMask), - dstAccessMask(in_struct->dstAccessMask), - srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), - dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex), - buffer(in_struct->buffer), - offset(in_struct->offset), - size(in_struct->size) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier() - : sType(VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER), - pNext(nullptr), - srcAccessMask(), - dstAccessMask(), - srcQueueFamilyIndex(), - dstQueueFamilyIndex(), - buffer(), - offset(), - size() {} - -safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& copy_src) { - sType = copy_src.sType; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; - dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; - buffer = copy_src.buffer; - offset = copy_src.offset; - size = copy_src.size; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkBufferMemoryBarrier& safe_VkBufferMemoryBarrier::operator=(const safe_VkBufferMemoryBarrier& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; - dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; - buffer = copy_src.buffer; - offset = copy_src.offset; - size = copy_src.size; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkBufferMemoryBarrier::~safe_VkBufferMemoryBarrier() { FreePnextChain(pNext); } - -void safe_VkBufferMemoryBarrier::initialize(const VkBufferMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - srcAccessMask = in_struct->srcAccessMask; - dstAccessMask = in_struct->dstAccessMask; - srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; - dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; - buffer = in_struct->buffer; - offset = in_struct->offset; - size = in_struct->size; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkBufferMemoryBarrier::initialize(const safe_VkBufferMemoryBarrier* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - srcAccessMask = copy_src->srcAccessMask; - dstAccessMask = copy_src->dstAccessMask; - srcQueueFamilyIndex = copy_src->srcQueueFamilyIndex; - dstQueueFamilyIndex = copy_src->dstQueueFamilyIndex; - buffer = copy_src->buffer; - offset = copy_src->offset; - size = copy_src->size; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - srcAccessMask(in_struct->srcAccessMask), - dstAccessMask(in_struct->dstAccessMask), - oldLayout(in_struct->oldLayout), - newLayout(in_struct->newLayout), - srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), - dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex), - image(in_struct->image), - subresourceRange(in_struct->subresourceRange) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier() - : sType(VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER), - pNext(nullptr), - srcAccessMask(), - dstAccessMask(), - oldLayout(), - newLayout(), - srcQueueFamilyIndex(), - dstQueueFamilyIndex(), - image(), - subresourceRange() {} - -safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& copy_src) { - sType = copy_src.sType; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - oldLayout = copy_src.oldLayout; - newLayout = copy_src.newLayout; - srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; - dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; - image = copy_src.image; - subresourceRange = copy_src.subresourceRange; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkImageMemoryBarrier& safe_VkImageMemoryBarrier::operator=(const safe_VkImageMemoryBarrier& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - oldLayout = copy_src.oldLayout; - newLayout = copy_src.newLayout; - srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; - dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; - image = copy_src.image; - subresourceRange = copy_src.subresourceRange; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkImageMemoryBarrier::~safe_VkImageMemoryBarrier() { FreePnextChain(pNext); } - -void safe_VkImageMemoryBarrier::initialize(const VkImageMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - srcAccessMask = in_struct->srcAccessMask; - dstAccessMask = in_struct->dstAccessMask; - oldLayout = in_struct->oldLayout; - newLayout = in_struct->newLayout; - srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; - dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; - image = in_struct->image; - subresourceRange = in_struct->subresourceRange; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkImageMemoryBarrier::initialize(const safe_VkImageMemoryBarrier* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - srcAccessMask = copy_src->srcAccessMask; - dstAccessMask = copy_src->dstAccessMask; - oldLayout = copy_src->oldLayout; - newLayout = copy_src->newLayout; - srcQueueFamilyIndex = copy_src->srcQueueFamilyIndex; - dstQueueFamilyIndex = copy_src->dstQueueFamilyIndex; - image = copy_src->image; - subresourceRange = copy_src->subresourceRange; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkMemoryBarrier::safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), srcAccessMask(in_struct->srcAccessMask), dstAccessMask(in_struct->dstAccessMask) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkMemoryBarrier::safe_VkMemoryBarrier() - : sType(VK_STRUCTURE_TYPE_MEMORY_BARRIER), pNext(nullptr), srcAccessMask(), dstAccessMask() {} - -safe_VkMemoryBarrier::safe_VkMemoryBarrier(const safe_VkMemoryBarrier& copy_src) { - sType = copy_src.sType; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkMemoryBarrier& safe_VkMemoryBarrier::operator=(const safe_VkMemoryBarrier& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkMemoryBarrier::~safe_VkMemoryBarrier() { FreePnextChain(pNext); } - -void safe_VkMemoryBarrier::initialize(const VkMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - srcAccessMask = in_struct->srcAccessMask; - dstAccessMask = in_struct->dstAccessMask; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkMemoryBarrier::initialize(const safe_VkMemoryBarrier* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - srcAccessMask = copy_src->srcAccessMask; - dstAccessMask = copy_src->dstAccessMask; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkAllocationCallbacks::safe_VkAllocationCallbacks(const VkAllocationCallbacks* in_struct, [[maybe_unused]] PNextCopyState* copy_state) : pUserData(in_struct->pUserData), @@ -387,16 +166,25 @@ if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + if (in_struct->enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + + if (in_struct->enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (in_struct->pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo); } @@ -418,16 +206,25 @@ enabledExtensionCount = copy_src.enabledExtensionCount; pNext = SafePnextCopy(copy_src.pNext); - char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + if (copy_src.enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + + if (copy_src.enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (copy_src.pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(*copy_src.pApplicationInfo); } @@ -457,16 +254,25 @@ enabledExtensionCount = copy_src.enabledExtensionCount; pNext = SafePnextCopy(copy_src.pNext); - char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + if (copy_src.enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + + if (copy_src.enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (copy_src.pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(*copy_src.pApplicationInfo); return *this; @@ -513,16 +319,25 @@ enabledExtensionCount = in_struct->enabledExtensionCount; pNext = SafePnextCopy(in_struct->pNext, copy_state); - char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + if (in_struct->enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + + if (in_struct->enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (in_struct->pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(in_struct->pApplicationInfo); } @@ -534,16 +349,25 @@ enabledExtensionCount = copy_src->enabledExtensionCount; pNext = SafePnextCopy(copy_src->pNext); - char** tmp_ppEnabledLayerNames = new char*[copy_src->enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src->ppEnabledLayerNames[i]); + if (copy_src->enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[copy_src->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[copy_src->enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src->ppEnabledExtensionNames[i]); + + if (copy_src->enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[copy_src->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (copy_src->pApplicationInfo) pApplicationInfo = new safe_VkApplicationInfo(*copy_src->pApplicationInfo); } @@ -655,16 +479,25 @@ if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + if (in_struct->enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + + if (in_struct->enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && in_struct->pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { @@ -699,16 +532,25 @@ pEnabledFeatures = nullptr; pNext = SafePnextCopy(copy_src.pNext); - char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + if (copy_src.enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + + if (copy_src.enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && copy_src.pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { @@ -750,16 +592,25 @@ pEnabledFeatures = nullptr; pNext = SafePnextCopy(copy_src.pNext); - char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + if (copy_src.enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[copy_src.enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src.ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + + if (copy_src.enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[copy_src.enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src.ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && copy_src.pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { @@ -819,16 +670,25 @@ pEnabledFeatures = nullptr; pNext = SafePnextCopy(in_struct->pNext, copy_state); - char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + if (in_struct->enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[in_struct->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(in_struct->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + + if (in_struct->enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[in_struct->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(in_struct->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && in_struct->pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { @@ -851,16 +711,25 @@ pEnabledFeatures = nullptr; pNext = SafePnextCopy(copy_src->pNext); - char** tmp_ppEnabledLayerNames = new char*[copy_src->enabledLayerCount]; - for (uint32_t i = 0; i < enabledLayerCount; ++i) { - tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src->ppEnabledLayerNames[i]); + if (copy_src->enabledLayerCount > 0) { + char** tmp_ppEnabledLayerNames = new char*[copy_src->enabledLayerCount]; + for (uint32_t i = 0; i < enabledLayerCount; ++i) { + tmp_ppEnabledLayerNames[i] = SafeStringCopy(copy_src->ppEnabledLayerNames[i]); + } + ppEnabledLayerNames = tmp_ppEnabledLayerNames; + } else { + ppEnabledLayerNames = nullptr; } - ppEnabledLayerNames = tmp_ppEnabledLayerNames; - char** tmp_ppEnabledExtensionNames = new char*[copy_src->enabledExtensionCount]; - for (uint32_t i = 0; i < enabledExtensionCount; ++i) { - tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src->ppEnabledExtensionNames[i]); + + if (copy_src->enabledExtensionCount > 0) { + char** tmp_ppEnabledExtensionNames = new char*[copy_src->enabledExtensionCount]; + for (uint32_t i = 0; i < enabledExtensionCount; ++i) { + tmp_ppEnabledExtensionNames[i] = SafeStringCopy(copy_src->ppEnabledExtensionNames[i]); + } + ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; + } else { + ppEnabledExtensionNames = nullptr; } - ppEnabledExtensionNames = tmp_ppEnabledExtensionNames; if (queueCreateInfoCount && copy_src->pQueueCreateInfos) { pQueueCreateInfos = new safe_VkDeviceQueueCreateInfo[queueCreateInfoCount]; for (uint32_t i = 0; i < queueCreateInfoCount; ++i) { @@ -1184,6 +1053,80 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) + : image(in_struct->image), bindCount(in_struct->bindCount), pBinds(nullptr) { + if (bindCount && in_struct->pBinds) { + pBinds = new VkSparseImageMemoryBind[bindCount]; + for (uint32_t i = 0; i < bindCount; ++i) { + pBinds[i] = in_struct->pBinds[i]; + } + } +} + +safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo() : image(), bindCount(), pBinds(nullptr) {} + +safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo& copy_src) { + image = copy_src.image; + bindCount = copy_src.bindCount; + pBinds = nullptr; + if (bindCount && copy_src.pBinds) { + pBinds = new VkSparseImageMemoryBind[bindCount]; + for (uint32_t i = 0; i < bindCount; ++i) { + pBinds[i] = copy_src.pBinds[i]; + } + } +} + +safe_VkSparseImageMemoryBindInfo& safe_VkSparseImageMemoryBindInfo::operator=(const safe_VkSparseImageMemoryBindInfo& copy_src) { + if (©_src == this) return *this; + + if (pBinds) delete[] pBinds; + + image = copy_src.image; + bindCount = copy_src.bindCount; + pBinds = nullptr; + if (bindCount && copy_src.pBinds) { + pBinds = new VkSparseImageMemoryBind[bindCount]; + for (uint32_t i = 0; i < bindCount; ++i) { + pBinds[i] = copy_src.pBinds[i]; + } + } + + return *this; +} + +safe_VkSparseImageMemoryBindInfo::~safe_VkSparseImageMemoryBindInfo() { + if (pBinds) delete[] pBinds; +} + +void safe_VkSparseImageMemoryBindInfo::initialize(const VkSparseImageMemoryBindInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pBinds) delete[] pBinds; + image = in_struct->image; + bindCount = in_struct->bindCount; + pBinds = nullptr; + if (bindCount && in_struct->pBinds) { + pBinds = new VkSparseImageMemoryBind[bindCount]; + for (uint32_t i = 0; i < bindCount; ++i) { + pBinds[i] = in_struct->pBinds[i]; + } + } +} + +void safe_VkSparseImageMemoryBindInfo::initialize(const safe_VkSparseImageMemoryBindInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + image = copy_src->image; + bindCount = copy_src->bindCount; + pBinds = nullptr; + if (bindCount && copy_src->pBinds) { + pBinds = new VkSparseImageMemoryBind[bindCount]; + for (uint32_t i = 0; i < bindCount; ++i) { + pBinds[i] = copy_src->pBinds[i]; + } + } +} + safe_VkSparseBufferMemoryBindInfo::safe_VkSparseBufferMemoryBindInfo(const VkSparseBufferMemoryBindInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) : buffer(in_struct->buffer), bindCount(in_struct->bindCount), pBinds(nullptr) { @@ -1334,80 +1277,6 @@ } } -safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const VkSparseImageMemoryBindInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) - : image(in_struct->image), bindCount(in_struct->bindCount), pBinds(nullptr) { - if (bindCount && in_struct->pBinds) { - pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i = 0; i < bindCount; ++i) { - pBinds[i] = in_struct->pBinds[i]; - } - } -} - -safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo() : image(), bindCount(), pBinds(nullptr) {} - -safe_VkSparseImageMemoryBindInfo::safe_VkSparseImageMemoryBindInfo(const safe_VkSparseImageMemoryBindInfo& copy_src) { - image = copy_src.image; - bindCount = copy_src.bindCount; - pBinds = nullptr; - if (bindCount && copy_src.pBinds) { - pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i = 0; i < bindCount; ++i) { - pBinds[i] = copy_src.pBinds[i]; - } - } -} - -safe_VkSparseImageMemoryBindInfo& safe_VkSparseImageMemoryBindInfo::operator=(const safe_VkSparseImageMemoryBindInfo& copy_src) { - if (©_src == this) return *this; - - if (pBinds) delete[] pBinds; - - image = copy_src.image; - bindCount = copy_src.bindCount; - pBinds = nullptr; - if (bindCount && copy_src.pBinds) { - pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i = 0; i < bindCount; ++i) { - pBinds[i] = copy_src.pBinds[i]; - } - } - - return *this; -} - -safe_VkSparseImageMemoryBindInfo::~safe_VkSparseImageMemoryBindInfo() { - if (pBinds) delete[] pBinds; -} - -void safe_VkSparseImageMemoryBindInfo::initialize(const VkSparseImageMemoryBindInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pBinds) delete[] pBinds; - image = in_struct->image; - bindCount = in_struct->bindCount; - pBinds = nullptr; - if (bindCount && in_struct->pBinds) { - pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i = 0; i < bindCount; ++i) { - pBinds[i] = in_struct->pBinds[i]; - } - } -} - -void safe_VkSparseImageMemoryBindInfo::initialize(const safe_VkSparseImageMemoryBindInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - image = copy_src->image; - bindCount = copy_src->bindCount; - pBinds = nullptr; - if (bindCount && copy_src->pBinds) { - pBinds = new VkSparseImageMemoryBind[bindCount]; - for (uint32_t i = 0; i < bindCount; ++i) { - pBinds[i] = copy_src->pBinds[i]; - } - } -} - safe_VkBindSparseInfo::safe_VkBindSparseInfo(const VkBindSparseInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -1764,49 +1633,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkEventCreateInfo::safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), flags(in_struct->flags) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkEventCreateInfo::safe_VkEventCreateInfo() : sType(VK_STRUCTURE_TYPE_EVENT_CREATE_INFO), pNext(nullptr), flags() {} - -safe_VkEventCreateInfo::safe_VkEventCreateInfo(const safe_VkEventCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkEventCreateInfo& safe_VkEventCreateInfo::operator=(const safe_VkEventCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkEventCreateInfo::~safe_VkEventCreateInfo() { FreePnextChain(pNext); } - -void safe_VkEventCreateInfo::initialize(const VkEventCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkEventCreateInfo::initialize(const safe_VkEventCreateInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkQueryPoolCreateInfo::safe_VkQueryPoolCreateInfo(const VkQueryPoolCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -1988,72 +1814,6 @@ } } -safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - buffer(in_struct->buffer), - format(in_struct->format), - offset(in_struct->offset), - range(in_struct->range) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo() - : sType(VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO), pNext(nullptr), flags(), buffer(), format(), offset(), range() {} - -safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - buffer = copy_src.buffer; - format = copy_src.format; - offset = copy_src.offset; - range = copy_src.range; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkBufferViewCreateInfo& safe_VkBufferViewCreateInfo::operator=(const safe_VkBufferViewCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - buffer = copy_src.buffer; - format = copy_src.format; - offset = copy_src.offset; - range = copy_src.range; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkBufferViewCreateInfo::~safe_VkBufferViewCreateInfo() { FreePnextChain(pNext); } - -void safe_VkBufferViewCreateInfo::initialize(const VkBufferViewCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - buffer = in_struct->buffer; - format = in_struct->format; - offset = in_struct->offset; - range = in_struct->range; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkBufferViewCreateInfo::initialize(const safe_VkBufferViewCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - buffer = copy_src->buffer; - format = copy_src->format; - offset = copy_src->offset; - range = copy_src->range; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkImageCreateInfo::safe_VkImageCreateInfo(const VkImageCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -2294,6 +2054,584 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), queueFamilyIndex(in_struct->queueFamilyIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo() + : sType(VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO), pNext(nullptr), flags(), queueFamilyIndex() {} + +safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + queueFamilyIndex = copy_src.queueFamilyIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkCommandPoolCreateInfo& safe_VkCommandPoolCreateInfo::operator=(const safe_VkCommandPoolCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + queueFamilyIndex = copy_src.queueFamilyIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkCommandPoolCreateInfo::~safe_VkCommandPoolCreateInfo() { FreePnextChain(pNext); } + +void safe_VkCommandPoolCreateInfo::initialize(const VkCommandPoolCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + queueFamilyIndex = in_struct->queueFamilyIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkCommandPoolCreateInfo::initialize(const safe_VkCommandPoolCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + queueFamilyIndex = copy_src->queueFamilyIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + commandPool(in_struct->commandPool), + level(in_struct->level), + commandBufferCount(in_struct->commandBufferCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo() + : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO), pNext(nullptr), commandPool(), level(), commandBufferCount() {} + +safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& copy_src) { + sType = copy_src.sType; + commandPool = copy_src.commandPool; + level = copy_src.level; + commandBufferCount = copy_src.commandBufferCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkCommandBufferAllocateInfo& safe_VkCommandBufferAllocateInfo::operator=(const safe_VkCommandBufferAllocateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + commandPool = copy_src.commandPool; + level = copy_src.level; + commandBufferCount = copy_src.commandBufferCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkCommandBufferAllocateInfo::~safe_VkCommandBufferAllocateInfo() { FreePnextChain(pNext); } + +void safe_VkCommandBufferAllocateInfo::initialize(const VkCommandBufferAllocateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + commandPool = in_struct->commandPool; + level = in_struct->level; + commandBufferCount = in_struct->commandBufferCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkCommandBufferAllocateInfo::initialize(const safe_VkCommandBufferAllocateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + commandPool = copy_src->commandPool; + level = copy_src->level; + commandBufferCount = copy_src->commandBufferCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + renderPass(in_struct->renderPass), + subpass(in_struct->subpass), + framebuffer(in_struct->framebuffer), + occlusionQueryEnable(in_struct->occlusionQueryEnable), + queryFlags(in_struct->queryFlags), + pipelineStatistics(in_struct->pipelineStatistics) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo() + : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO), + pNext(nullptr), + renderPass(), + subpass(), + framebuffer(), + occlusionQueryEnable(), + queryFlags(), + pipelineStatistics() {} + +safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& copy_src) { + sType = copy_src.sType; + renderPass = copy_src.renderPass; + subpass = copy_src.subpass; + framebuffer = copy_src.framebuffer; + occlusionQueryEnable = copy_src.occlusionQueryEnable; + queryFlags = copy_src.queryFlags; + pipelineStatistics = copy_src.pipelineStatistics; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkCommandBufferInheritanceInfo& safe_VkCommandBufferInheritanceInfo::operator=( + const safe_VkCommandBufferInheritanceInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + renderPass = copy_src.renderPass; + subpass = copy_src.subpass; + framebuffer = copy_src.framebuffer; + occlusionQueryEnable = copy_src.occlusionQueryEnable; + queryFlags = copy_src.queryFlags; + pipelineStatistics = copy_src.pipelineStatistics; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkCommandBufferInheritanceInfo::~safe_VkCommandBufferInheritanceInfo() { FreePnextChain(pNext); } + +void safe_VkCommandBufferInheritanceInfo::initialize(const VkCommandBufferInheritanceInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + renderPass = in_struct->renderPass; + subpass = in_struct->subpass; + framebuffer = in_struct->framebuffer; + occlusionQueryEnable = in_struct->occlusionQueryEnable; + queryFlags = in_struct->queryFlags; + pipelineStatistics = in_struct->pipelineStatistics; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkCommandBufferInheritanceInfo::initialize(const safe_VkCommandBufferInheritanceInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + renderPass = copy_src->renderPass; + subpass = copy_src->subpass; + framebuffer = copy_src->framebuffer; + occlusionQueryEnable = copy_src->occlusionQueryEnable; + queryFlags = copy_src->queryFlags; + pipelineStatistics = copy_src->pipelineStatistics; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), pInheritanceInfo(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo); +} + +safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo() + : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO), pNext(nullptr), flags(), pInheritanceInfo(nullptr) {} + +safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*copy_src.pInheritanceInfo); +} + +safe_VkCommandBufferBeginInfo& safe_VkCommandBufferBeginInfo::operator=(const safe_VkCommandBufferBeginInfo& copy_src) { + if (©_src == this) return *this; + + if (pInheritanceInfo) delete pInheritanceInfo; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*copy_src.pInheritanceInfo); + + return *this; +} + +safe_VkCommandBufferBeginInfo::~safe_VkCommandBufferBeginInfo() { + if (pInheritanceInfo) delete pInheritanceInfo; + FreePnextChain(pNext); +} + +void safe_VkCommandBufferBeginInfo::initialize(const VkCommandBufferBeginInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pInheritanceInfo) delete pInheritanceInfo; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo); +} + +void safe_VkCommandBufferBeginInfo::initialize(const safe_VkCommandBufferBeginInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pInheritanceInfo = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*copy_src->pInheritanceInfo); +} + +safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const VkBufferMemoryBarrier* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcAccessMask(in_struct->srcAccessMask), + dstAccessMask(in_struct->dstAccessMask), + srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), + dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex), + buffer(in_struct->buffer), + offset(in_struct->offset), + size(in_struct->size) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier() + : sType(VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER), + pNext(nullptr), + srcAccessMask(), + dstAccessMask(), + srcQueueFamilyIndex(), + dstQueueFamilyIndex(), + buffer(), + offset(), + size() {} + +safe_VkBufferMemoryBarrier::safe_VkBufferMemoryBarrier(const safe_VkBufferMemoryBarrier& copy_src) { + sType = copy_src.sType; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + buffer = copy_src.buffer; + offset = copy_src.offset; + size = copy_src.size; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBufferMemoryBarrier& safe_VkBufferMemoryBarrier::operator=(const safe_VkBufferMemoryBarrier& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + buffer = copy_src.buffer; + offset = copy_src.offset; + size = copy_src.size; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBufferMemoryBarrier::~safe_VkBufferMemoryBarrier() { FreePnextChain(pNext); } + +void safe_VkBufferMemoryBarrier::initialize(const VkBufferMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcAccessMask = in_struct->srcAccessMask; + dstAccessMask = in_struct->dstAccessMask; + srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; + dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; + buffer = in_struct->buffer; + offset = in_struct->offset; + size = in_struct->size; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBufferMemoryBarrier::initialize(const safe_VkBufferMemoryBarrier* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcAccessMask = copy_src->srcAccessMask; + dstAccessMask = copy_src->dstAccessMask; + srcQueueFamilyIndex = copy_src->srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src->dstQueueFamilyIndex; + buffer = copy_src->buffer; + offset = copy_src->offset; + size = copy_src->size; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const VkImageMemoryBarrier* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcAccessMask(in_struct->srcAccessMask), + dstAccessMask(in_struct->dstAccessMask), + oldLayout(in_struct->oldLayout), + newLayout(in_struct->newLayout), + srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), + dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex), + image(in_struct->image), + subresourceRange(in_struct->subresourceRange) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier() + : sType(VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER), + pNext(nullptr), + srcAccessMask(), + dstAccessMask(), + oldLayout(), + newLayout(), + srcQueueFamilyIndex(), + dstQueueFamilyIndex(), + image(), + subresourceRange() {} + +safe_VkImageMemoryBarrier::safe_VkImageMemoryBarrier(const safe_VkImageMemoryBarrier& copy_src) { + sType = copy_src.sType; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + oldLayout = copy_src.oldLayout; + newLayout = copy_src.newLayout; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + image = copy_src.image; + subresourceRange = copy_src.subresourceRange; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkImageMemoryBarrier& safe_VkImageMemoryBarrier::operator=(const safe_VkImageMemoryBarrier& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + oldLayout = copy_src.oldLayout; + newLayout = copy_src.newLayout; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + image = copy_src.image; + subresourceRange = copy_src.subresourceRange; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkImageMemoryBarrier::~safe_VkImageMemoryBarrier() { FreePnextChain(pNext); } + +void safe_VkImageMemoryBarrier::initialize(const VkImageMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcAccessMask = in_struct->srcAccessMask; + dstAccessMask = in_struct->dstAccessMask; + oldLayout = in_struct->oldLayout; + newLayout = in_struct->newLayout; + srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; + dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; + image = in_struct->image; + subresourceRange = in_struct->subresourceRange; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkImageMemoryBarrier::initialize(const safe_VkImageMemoryBarrier* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcAccessMask = copy_src->srcAccessMask; + dstAccessMask = copy_src->dstAccessMask; + oldLayout = copy_src->oldLayout; + newLayout = copy_src->newLayout; + srcQueueFamilyIndex = copy_src->srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src->dstQueueFamilyIndex; + image = copy_src->image; + subresourceRange = copy_src->subresourceRange; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkMemoryBarrier::safe_VkMemoryBarrier(const VkMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), srcAccessMask(in_struct->srcAccessMask), dstAccessMask(in_struct->dstAccessMask) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryBarrier::safe_VkMemoryBarrier() + : sType(VK_STRUCTURE_TYPE_MEMORY_BARRIER), pNext(nullptr), srcAccessMask(), dstAccessMask() {} + +safe_VkMemoryBarrier::safe_VkMemoryBarrier(const safe_VkMemoryBarrier& copy_src) { + sType = copy_src.sType; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryBarrier& safe_VkMemoryBarrier::operator=(const safe_VkMemoryBarrier& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryBarrier::~safe_VkMemoryBarrier() { FreePnextChain(pNext); } + +void safe_VkMemoryBarrier::initialize(const VkMemoryBarrier* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcAccessMask = in_struct->srcAccessMask; + dstAccessMask = in_struct->dstAccessMask; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryBarrier::initialize(const safe_VkMemoryBarrier* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcAccessMask = copy_src->srcAccessMask; + dstAccessMask = copy_src->dstAccessMask; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkEventCreateInfo::safe_VkEventCreateInfo(const VkEventCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkEventCreateInfo::safe_VkEventCreateInfo() : sType(VK_STRUCTURE_TYPE_EVENT_CREATE_INFO), pNext(nullptr), flags() {} + +safe_VkEventCreateInfo::safe_VkEventCreateInfo(const safe_VkEventCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkEventCreateInfo& safe_VkEventCreateInfo::operator=(const safe_VkEventCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkEventCreateInfo::~safe_VkEventCreateInfo() { FreePnextChain(pNext); } + +void safe_VkEventCreateInfo::initialize(const VkEventCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkEventCreateInfo::initialize(const safe_VkEventCreateInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const VkBufferViewCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + buffer(in_struct->buffer), + format(in_struct->format), + offset(in_struct->offset), + range(in_struct->range) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo() + : sType(VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO), pNext(nullptr), flags(), buffer(), format(), offset(), range() {} + +safe_VkBufferViewCreateInfo::safe_VkBufferViewCreateInfo(const safe_VkBufferViewCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + buffer = copy_src.buffer; + format = copy_src.format; + offset = copy_src.offset; + range = copy_src.range; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBufferViewCreateInfo& safe_VkBufferViewCreateInfo::operator=(const safe_VkBufferViewCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + buffer = copy_src.buffer; + format = copy_src.format; + offset = copy_src.offset; + range = copy_src.range; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBufferViewCreateInfo::~safe_VkBufferViewCreateInfo() { FreePnextChain(pNext); } + +void safe_VkBufferViewCreateInfo::initialize(const VkBufferViewCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + buffer = in_struct->buffer; + format = in_struct->format; + offset = in_struct->offset; + range = in_struct->range; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBufferViewCreateInfo::initialize(const safe_VkBufferViewCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + buffer = copy_src->buffer; + format = copy_src->format; + offset = copy_src->offset; + range = copy_src->range; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkShaderModuleCreateInfo::safe_VkShaderModuleCreateInfo(const VkShaderModuleCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), flags(in_struct->flags), codeSize(in_struct->codeSize), pCode(nullptr) { @@ -2705,809 +3043,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo( - const VkPipelineVertexInputStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - vertexBindingDescriptionCount(in_struct->vertexBindingDescriptionCount), - pVertexBindingDescriptions(nullptr), - vertexAttributeDescriptionCount(in_struct->vertexAttributeDescriptionCount), - pVertexAttributeDescriptions(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pVertexBindingDescriptions) { - pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount]; - memcpy((void*)pVertexBindingDescriptions, (void*)in_struct->pVertexBindingDescriptions, - sizeof(VkVertexInputBindingDescription) * in_struct->vertexBindingDescriptionCount); - } - - if (in_struct->pVertexAttributeDescriptions) { - pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount]; - memcpy((void*)pVertexAttributeDescriptions, (void*)in_struct->pVertexAttributeDescriptions, - sizeof(VkVertexInputAttributeDescription) * in_struct->vertexAttributeDescriptionCount); - } -} - -safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - vertexBindingDescriptionCount(), - pVertexBindingDescriptions(nullptr), - vertexAttributeDescriptionCount(), - pVertexAttributeDescriptions(nullptr) {} - -safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo( - const safe_VkPipelineVertexInputStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - vertexBindingDescriptionCount = copy_src.vertexBindingDescriptionCount; - pVertexBindingDescriptions = nullptr; - vertexAttributeDescriptionCount = copy_src.vertexAttributeDescriptionCount; - pVertexAttributeDescriptions = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pVertexBindingDescriptions) { - pVertexBindingDescriptions = new VkVertexInputBindingDescription[copy_src.vertexBindingDescriptionCount]; - memcpy((void*)pVertexBindingDescriptions, (void*)copy_src.pVertexBindingDescriptions, - sizeof(VkVertexInputBindingDescription) * copy_src.vertexBindingDescriptionCount); - } - - if (copy_src.pVertexAttributeDescriptions) { - pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[copy_src.vertexAttributeDescriptionCount]; - memcpy((void*)pVertexAttributeDescriptions, (void*)copy_src.pVertexAttributeDescriptions, - sizeof(VkVertexInputAttributeDescription) * copy_src.vertexAttributeDescriptionCount); - } -} - -safe_VkPipelineVertexInputStateCreateInfo& safe_VkPipelineVertexInputStateCreateInfo::operator=( - const safe_VkPipelineVertexInputStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pVertexBindingDescriptions) delete[] pVertexBindingDescriptions; - if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - vertexBindingDescriptionCount = copy_src.vertexBindingDescriptionCount; - pVertexBindingDescriptions = nullptr; - vertexAttributeDescriptionCount = copy_src.vertexAttributeDescriptionCount; - pVertexAttributeDescriptions = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pVertexBindingDescriptions) { - pVertexBindingDescriptions = new VkVertexInputBindingDescription[copy_src.vertexBindingDescriptionCount]; - memcpy((void*)pVertexBindingDescriptions, (void*)copy_src.pVertexBindingDescriptions, - sizeof(VkVertexInputBindingDescription) * copy_src.vertexBindingDescriptionCount); - } - - if (copy_src.pVertexAttributeDescriptions) { - pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[copy_src.vertexAttributeDescriptionCount]; - memcpy((void*)pVertexAttributeDescriptions, (void*)copy_src.pVertexAttributeDescriptions, - sizeof(VkVertexInputAttributeDescription) * copy_src.vertexAttributeDescriptionCount); - } - - return *this; -} - -safe_VkPipelineVertexInputStateCreateInfo::~safe_VkPipelineVertexInputStateCreateInfo() { - if (pVertexBindingDescriptions) delete[] pVertexBindingDescriptions; - if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; - FreePnextChain(pNext); -} - -void safe_VkPipelineVertexInputStateCreateInfo::initialize(const VkPipelineVertexInputStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pVertexBindingDescriptions) delete[] pVertexBindingDescriptions; - if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - vertexBindingDescriptionCount = in_struct->vertexBindingDescriptionCount; - pVertexBindingDescriptions = nullptr; - vertexAttributeDescriptionCount = in_struct->vertexAttributeDescriptionCount; - pVertexAttributeDescriptions = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pVertexBindingDescriptions) { - pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount]; - memcpy((void*)pVertexBindingDescriptions, (void*)in_struct->pVertexBindingDescriptions, - sizeof(VkVertexInputBindingDescription) * in_struct->vertexBindingDescriptionCount); - } - - if (in_struct->pVertexAttributeDescriptions) { - pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount]; - memcpy((void*)pVertexAttributeDescriptions, (void*)in_struct->pVertexAttributeDescriptions, - sizeof(VkVertexInputAttributeDescription) * in_struct->vertexAttributeDescriptionCount); - } -} - -void safe_VkPipelineVertexInputStateCreateInfo::initialize(const safe_VkPipelineVertexInputStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - vertexBindingDescriptionCount = copy_src->vertexBindingDescriptionCount; - pVertexBindingDescriptions = nullptr; - vertexAttributeDescriptionCount = copy_src->vertexAttributeDescriptionCount; - pVertexAttributeDescriptions = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pVertexBindingDescriptions) { - pVertexBindingDescriptions = new VkVertexInputBindingDescription[copy_src->vertexBindingDescriptionCount]; - memcpy((void*)pVertexBindingDescriptions, (void*)copy_src->pVertexBindingDescriptions, - sizeof(VkVertexInputBindingDescription) * copy_src->vertexBindingDescriptionCount); - } - - if (copy_src->pVertexAttributeDescriptions) { - pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[copy_src->vertexAttributeDescriptionCount]; - memcpy((void*)pVertexAttributeDescriptions, (void*)copy_src->pVertexAttributeDescriptions, - sizeof(VkVertexInputAttributeDescription) * copy_src->vertexAttributeDescriptionCount); - } -} - -safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo( - const VkPipelineInputAssemblyStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - topology(in_struct->topology), - primitiveRestartEnable(in_struct->primitiveRestartEnable) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - topology(), - primitiveRestartEnable() {} - -safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo( - const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - topology = copy_src.topology; - primitiveRestartEnable = copy_src.primitiveRestartEnable; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineInputAssemblyStateCreateInfo& safe_VkPipelineInputAssemblyStateCreateInfo::operator=( - const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - topology = copy_src.topology; - primitiveRestartEnable = copy_src.primitiveRestartEnable; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineInputAssemblyStateCreateInfo::~safe_VkPipelineInputAssemblyStateCreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - topology = in_struct->topology; - primitiveRestartEnable = in_struct->primitiveRestartEnable; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - topology = copy_src->topology; - primitiveRestartEnable = copy_src->primitiveRestartEnable; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo( - const VkPipelineTessellationStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), flags(in_struct->flags), patchControlPoints(in_struct->patchControlPoints) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO), pNext(nullptr), flags(), patchControlPoints() {} - -safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo( - const safe_VkPipelineTessellationStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - patchControlPoints = copy_src.patchControlPoints; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineTessellationStateCreateInfo& safe_VkPipelineTessellationStateCreateInfo::operator=( - const safe_VkPipelineTessellationStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - patchControlPoints = copy_src.patchControlPoints; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineTessellationStateCreateInfo::~safe_VkPipelineTessellationStateCreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineTessellationStateCreateInfo::initialize(const VkPipelineTessellationStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - patchControlPoints = in_struct->patchControlPoints; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineTessellationStateCreateInfo::initialize(const safe_VkPipelineTessellationStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - patchControlPoints = copy_src->patchControlPoints; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo( - const VkPipelineRasterizationStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - depthClampEnable(in_struct->depthClampEnable), - rasterizerDiscardEnable(in_struct->rasterizerDiscardEnable), - polygonMode(in_struct->polygonMode), - cullMode(in_struct->cullMode), - frontFace(in_struct->frontFace), - depthBiasEnable(in_struct->depthBiasEnable), - depthBiasConstantFactor(in_struct->depthBiasConstantFactor), - depthBiasClamp(in_struct->depthBiasClamp), - depthBiasSlopeFactor(in_struct->depthBiasSlopeFactor), - lineWidth(in_struct->lineWidth) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - depthClampEnable(), - rasterizerDiscardEnable(), - polygonMode(), - cullMode(), - frontFace(), - depthBiasEnable(), - depthBiasConstantFactor(), - depthBiasClamp(), - depthBiasSlopeFactor(), - lineWidth() {} - -safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo( - const safe_VkPipelineRasterizationStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - depthClampEnable = copy_src.depthClampEnable; - rasterizerDiscardEnable = copy_src.rasterizerDiscardEnable; - polygonMode = copy_src.polygonMode; - cullMode = copy_src.cullMode; - frontFace = copy_src.frontFace; - depthBiasEnable = copy_src.depthBiasEnable; - depthBiasConstantFactor = copy_src.depthBiasConstantFactor; - depthBiasClamp = copy_src.depthBiasClamp; - depthBiasSlopeFactor = copy_src.depthBiasSlopeFactor; - lineWidth = copy_src.lineWidth; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineRasterizationStateCreateInfo& safe_VkPipelineRasterizationStateCreateInfo::operator=( - const safe_VkPipelineRasterizationStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - depthClampEnable = copy_src.depthClampEnable; - rasterizerDiscardEnable = copy_src.rasterizerDiscardEnable; - polygonMode = copy_src.polygonMode; - cullMode = copy_src.cullMode; - frontFace = copy_src.frontFace; - depthBiasEnable = copy_src.depthBiasEnable; - depthBiasConstantFactor = copy_src.depthBiasConstantFactor; - depthBiasClamp = copy_src.depthBiasClamp; - depthBiasSlopeFactor = copy_src.depthBiasSlopeFactor; - lineWidth = copy_src.lineWidth; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineRasterizationStateCreateInfo::~safe_VkPipelineRasterizationStateCreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineRasterizationStateCreateInfo::initialize(const VkPipelineRasterizationStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - depthClampEnable = in_struct->depthClampEnable; - rasterizerDiscardEnable = in_struct->rasterizerDiscardEnable; - polygonMode = in_struct->polygonMode; - cullMode = in_struct->cullMode; - frontFace = in_struct->frontFace; - depthBiasEnable = in_struct->depthBiasEnable; - depthBiasConstantFactor = in_struct->depthBiasConstantFactor; - depthBiasClamp = in_struct->depthBiasClamp; - depthBiasSlopeFactor = in_struct->depthBiasSlopeFactor; - lineWidth = in_struct->lineWidth; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineRasterizationStateCreateInfo::initialize(const safe_VkPipelineRasterizationStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - depthClampEnable = copy_src->depthClampEnable; - rasterizerDiscardEnable = copy_src->rasterizerDiscardEnable; - polygonMode = copy_src->polygonMode; - cullMode = copy_src->cullMode; - frontFace = copy_src->frontFace; - depthBiasEnable = copy_src->depthBiasEnable; - depthBiasConstantFactor = copy_src->depthBiasConstantFactor; - depthBiasClamp = copy_src->depthBiasClamp; - depthBiasSlopeFactor = copy_src->depthBiasSlopeFactor; - lineWidth = copy_src->lineWidth; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo( - const VkPipelineMultisampleStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - rasterizationSamples(in_struct->rasterizationSamples), - sampleShadingEnable(in_struct->sampleShadingEnable), - minSampleShading(in_struct->minSampleShading), - pSampleMask(nullptr), - alphaToCoverageEnable(in_struct->alphaToCoverageEnable), - alphaToOneEnable(in_struct->alphaToOneEnable) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pSampleMask) { - pSampleMask = new VkSampleMask(*in_struct->pSampleMask); - } -} - -safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - rasterizationSamples(), - sampleShadingEnable(), - minSampleShading(), - pSampleMask(nullptr), - alphaToCoverageEnable(), - alphaToOneEnable() {} - -safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo( - const safe_VkPipelineMultisampleStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - rasterizationSamples = copy_src.rasterizationSamples; - sampleShadingEnable = copy_src.sampleShadingEnable; - minSampleShading = copy_src.minSampleShading; - pSampleMask = nullptr; - alphaToCoverageEnable = copy_src.alphaToCoverageEnable; - alphaToOneEnable = copy_src.alphaToOneEnable; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pSampleMask) { - pSampleMask = new VkSampleMask(*copy_src.pSampleMask); - } -} - -safe_VkPipelineMultisampleStateCreateInfo& safe_VkPipelineMultisampleStateCreateInfo::operator=( - const safe_VkPipelineMultisampleStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pSampleMask) delete pSampleMask; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - rasterizationSamples = copy_src.rasterizationSamples; - sampleShadingEnable = copy_src.sampleShadingEnable; - minSampleShading = copy_src.minSampleShading; - pSampleMask = nullptr; - alphaToCoverageEnable = copy_src.alphaToCoverageEnable; - alphaToOneEnable = copy_src.alphaToOneEnable; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pSampleMask) { - pSampleMask = new VkSampleMask(*copy_src.pSampleMask); - } - - return *this; -} - -safe_VkPipelineMultisampleStateCreateInfo::~safe_VkPipelineMultisampleStateCreateInfo() { - if (pSampleMask) delete pSampleMask; - FreePnextChain(pNext); -} - -void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMultisampleStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pSampleMask) delete pSampleMask; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - rasterizationSamples = in_struct->rasterizationSamples; - sampleShadingEnable = in_struct->sampleShadingEnable; - minSampleShading = in_struct->minSampleShading; - pSampleMask = nullptr; - alphaToCoverageEnable = in_struct->alphaToCoverageEnable; - alphaToOneEnable = in_struct->alphaToOneEnable; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pSampleMask) { - pSampleMask = new VkSampleMask(*in_struct->pSampleMask); - } -} - -void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipelineMultisampleStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - rasterizationSamples = copy_src->rasterizationSamples; - sampleShadingEnable = copy_src->sampleShadingEnable; - minSampleShading = copy_src->minSampleShading; - pSampleMask = nullptr; - alphaToCoverageEnable = copy_src->alphaToCoverageEnable; - alphaToOneEnable = copy_src->alphaToOneEnable; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pSampleMask) { - pSampleMask = new VkSampleMask(*copy_src->pSampleMask); - } -} - -safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo( - const VkPipelineDepthStencilStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - depthTestEnable(in_struct->depthTestEnable), - depthWriteEnable(in_struct->depthWriteEnable), - depthCompareOp(in_struct->depthCompareOp), - depthBoundsTestEnable(in_struct->depthBoundsTestEnable), - stencilTestEnable(in_struct->stencilTestEnable), - front(in_struct->front), - back(in_struct->back), - minDepthBounds(in_struct->minDepthBounds), - maxDepthBounds(in_struct->maxDepthBounds) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - depthTestEnable(), - depthWriteEnable(), - depthCompareOp(), - depthBoundsTestEnable(), - stencilTestEnable(), - front(), - back(), - minDepthBounds(), - maxDepthBounds() {} - -safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo( - const safe_VkPipelineDepthStencilStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - depthTestEnable = copy_src.depthTestEnable; - depthWriteEnable = copy_src.depthWriteEnable; - depthCompareOp = copy_src.depthCompareOp; - depthBoundsTestEnable = copy_src.depthBoundsTestEnable; - stencilTestEnable = copy_src.stencilTestEnable; - front = copy_src.front; - back = copy_src.back; - minDepthBounds = copy_src.minDepthBounds; - maxDepthBounds = copy_src.maxDepthBounds; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineDepthStencilStateCreateInfo& safe_VkPipelineDepthStencilStateCreateInfo::operator=( - const safe_VkPipelineDepthStencilStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - depthTestEnable = copy_src.depthTestEnable; - depthWriteEnable = copy_src.depthWriteEnable; - depthCompareOp = copy_src.depthCompareOp; - depthBoundsTestEnable = copy_src.depthBoundsTestEnable; - stencilTestEnable = copy_src.stencilTestEnable; - front = copy_src.front; - back = copy_src.back; - minDepthBounds = copy_src.minDepthBounds; - maxDepthBounds = copy_src.maxDepthBounds; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineDepthStencilStateCreateInfo::~safe_VkPipelineDepthStencilStateCreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - depthTestEnable = in_struct->depthTestEnable; - depthWriteEnable = in_struct->depthWriteEnable; - depthCompareOp = in_struct->depthCompareOp; - depthBoundsTestEnable = in_struct->depthBoundsTestEnable; - stencilTestEnable = in_struct->stencilTestEnable; - front = in_struct->front; - back = in_struct->back; - minDepthBounds = in_struct->minDepthBounds; - maxDepthBounds = in_struct->maxDepthBounds; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const safe_VkPipelineDepthStencilStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - depthTestEnable = copy_src->depthTestEnable; - depthWriteEnable = copy_src->depthWriteEnable; - depthCompareOp = copy_src->depthCompareOp; - depthBoundsTestEnable = copy_src->depthBoundsTestEnable; - stencilTestEnable = copy_src->stencilTestEnable; - front = copy_src->front; - back = copy_src->back; - minDepthBounds = copy_src->minDepthBounds; - maxDepthBounds = copy_src->maxDepthBounds; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo( - const VkPipelineColorBlendStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - logicOpEnable(in_struct->logicOpEnable), - logicOp(in_struct->logicOp), - attachmentCount(in_struct->attachmentCount), - pAttachments(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pAttachments) { - pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount]; - memcpy((void*)pAttachments, (void*)in_struct->pAttachments, - sizeof(VkPipelineColorBlendAttachmentState) * in_struct->attachmentCount); - } - - for (uint32_t i = 0; i < 4; ++i) { - blendConstants[i] = in_struct->blendConstants[i]; - } -} - -safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - logicOpEnable(), - logicOp(), - attachmentCount(), - pAttachments(nullptr) {} - -safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo( - const safe_VkPipelineColorBlendStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - logicOpEnable = copy_src.logicOpEnable; - logicOp = copy_src.logicOp; - attachmentCount = copy_src.attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pAttachments) { - pAttachments = new VkPipelineColorBlendAttachmentState[copy_src.attachmentCount]; - memcpy((void*)pAttachments, (void*)copy_src.pAttachments, - sizeof(VkPipelineColorBlendAttachmentState) * copy_src.attachmentCount); - } - - for (uint32_t i = 0; i < 4; ++i) { - blendConstants[i] = copy_src.blendConstants[i]; - } -} - -safe_VkPipelineColorBlendStateCreateInfo& safe_VkPipelineColorBlendStateCreateInfo::operator=( - const safe_VkPipelineColorBlendStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pAttachments) delete[] pAttachments; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - logicOpEnable = copy_src.logicOpEnable; - logicOp = copy_src.logicOp; - attachmentCount = copy_src.attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pAttachments) { - pAttachments = new VkPipelineColorBlendAttachmentState[copy_src.attachmentCount]; - memcpy((void*)pAttachments, (void*)copy_src.pAttachments, - sizeof(VkPipelineColorBlendAttachmentState) * copy_src.attachmentCount); - } - - for (uint32_t i = 0; i < 4; ++i) { - blendConstants[i] = copy_src.blendConstants[i]; - } - - return *this; -} - -safe_VkPipelineColorBlendStateCreateInfo::~safe_VkPipelineColorBlendStateCreateInfo() { - if (pAttachments) delete[] pAttachments; - FreePnextChain(pNext); -} - -void safe_VkPipelineColorBlendStateCreateInfo::initialize(const VkPipelineColorBlendStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pAttachments) delete[] pAttachments; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - logicOpEnable = in_struct->logicOpEnable; - logicOp = in_struct->logicOp; - attachmentCount = in_struct->attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pAttachments) { - pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount]; - memcpy((void*)pAttachments, (void*)in_struct->pAttachments, - sizeof(VkPipelineColorBlendAttachmentState) * in_struct->attachmentCount); - } - - for (uint32_t i = 0; i < 4; ++i) { - blendConstants[i] = in_struct->blendConstants[i]; - } -} - -void safe_VkPipelineColorBlendStateCreateInfo::initialize(const safe_VkPipelineColorBlendStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - logicOpEnable = copy_src->logicOpEnable; - logicOp = copy_src->logicOp; - attachmentCount = copy_src->attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pAttachments) { - pAttachments = new VkPipelineColorBlendAttachmentState[copy_src->attachmentCount]; - memcpy((void*)pAttachments, (void*)copy_src->pAttachments, - sizeof(VkPipelineColorBlendAttachmentState) * copy_src->attachmentCount); - } - - for (uint32_t i = 0; i < 4; ++i) { - blendConstants[i] = copy_src->blendConstants[i]; - } -} - -safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), flags(in_struct->flags), dynamicStateCount(in_struct->dynamicStateCount), pDynamicStates(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pDynamicStates) { - pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount]; - memcpy((void*)pDynamicStates, (void*)in_struct->pDynamicStates, sizeof(VkDynamicState) * in_struct->dynamicStateCount); - } -} - -safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO), - pNext(nullptr), - flags(), - dynamicStateCount(), - pDynamicStates(nullptr) {} - -safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo( - const safe_VkPipelineDynamicStateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - dynamicStateCount = copy_src.dynamicStateCount; - pDynamicStates = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pDynamicStates) { - pDynamicStates = new VkDynamicState[copy_src.dynamicStateCount]; - memcpy((void*)pDynamicStates, (void*)copy_src.pDynamicStates, sizeof(VkDynamicState) * copy_src.dynamicStateCount); - } -} - -safe_VkPipelineDynamicStateCreateInfo& safe_VkPipelineDynamicStateCreateInfo::operator=( - const safe_VkPipelineDynamicStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pDynamicStates) delete[] pDynamicStates; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - dynamicStateCount = copy_src.dynamicStateCount; - pDynamicStates = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pDynamicStates) { - pDynamicStates = new VkDynamicState[copy_src.dynamicStateCount]; - memcpy((void*)pDynamicStates, (void*)copy_src.pDynamicStates, sizeof(VkDynamicState) * copy_src.dynamicStateCount); - } - - return *this; -} - -safe_VkPipelineDynamicStateCreateInfo::~safe_VkPipelineDynamicStateCreateInfo() { - if (pDynamicStates) delete[] pDynamicStates; - FreePnextChain(pNext); -} - -void safe_VkPipelineDynamicStateCreateInfo::initialize(const VkPipelineDynamicStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pDynamicStates) delete[] pDynamicStates; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - dynamicStateCount = in_struct->dynamicStateCount; - pDynamicStates = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pDynamicStates) { - pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount]; - memcpy((void*)pDynamicStates, (void*)in_struct->pDynamicStates, sizeof(VkDynamicState) * in_struct->dynamicStateCount); - } -} - -void safe_VkPipelineDynamicStateCreateInfo::initialize(const safe_VkPipelineDynamicStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - dynamicStateCount = copy_src->dynamicStateCount; - pDynamicStates = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pDynamicStates) { - pDynamicStates = new VkDynamicState[copy_src->dynamicStateCount]; - memcpy((void*)pDynamicStates, (void*)copy_src->pDynamicStates, sizeof(VkDynamicState) * copy_src->dynamicStateCount); - } -} - safe_VkPipelineLayoutCreateInfo::safe_VkPipelineLayoutCreateInfo(const VkPipelineLayoutCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -4547,6 +4082,809 @@ } } +safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo( + const VkPipelineColorBlendStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + logicOpEnable(in_struct->logicOpEnable), + logicOp(in_struct->logicOp), + attachmentCount(in_struct->attachmentCount), + pAttachments(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pAttachments) { + pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount]; + memcpy((void*)pAttachments, (void*)in_struct->pAttachments, + sizeof(VkPipelineColorBlendAttachmentState) * in_struct->attachmentCount); + } + + for (uint32_t i = 0; i < 4; ++i) { + blendConstants[i] = in_struct->blendConstants[i]; + } +} + +safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + logicOpEnable(), + logicOp(), + attachmentCount(), + pAttachments(nullptr) {} + +safe_VkPipelineColorBlendStateCreateInfo::safe_VkPipelineColorBlendStateCreateInfo( + const safe_VkPipelineColorBlendStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + logicOpEnable = copy_src.logicOpEnable; + logicOp = copy_src.logicOp; + attachmentCount = copy_src.attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pAttachments) { + pAttachments = new VkPipelineColorBlendAttachmentState[copy_src.attachmentCount]; + memcpy((void*)pAttachments, (void*)copy_src.pAttachments, + sizeof(VkPipelineColorBlendAttachmentState) * copy_src.attachmentCount); + } + + for (uint32_t i = 0; i < 4; ++i) { + blendConstants[i] = copy_src.blendConstants[i]; + } +} + +safe_VkPipelineColorBlendStateCreateInfo& safe_VkPipelineColorBlendStateCreateInfo::operator=( + const safe_VkPipelineColorBlendStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pAttachments) delete[] pAttachments; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + logicOpEnable = copy_src.logicOpEnable; + logicOp = copy_src.logicOp; + attachmentCount = copy_src.attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pAttachments) { + pAttachments = new VkPipelineColorBlendAttachmentState[copy_src.attachmentCount]; + memcpy((void*)pAttachments, (void*)copy_src.pAttachments, + sizeof(VkPipelineColorBlendAttachmentState) * copy_src.attachmentCount); + } + + for (uint32_t i = 0; i < 4; ++i) { + blendConstants[i] = copy_src.blendConstants[i]; + } + + return *this; +} + +safe_VkPipelineColorBlendStateCreateInfo::~safe_VkPipelineColorBlendStateCreateInfo() { + if (pAttachments) delete[] pAttachments; + FreePnextChain(pNext); +} + +void safe_VkPipelineColorBlendStateCreateInfo::initialize(const VkPipelineColorBlendStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pAttachments) delete[] pAttachments; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + logicOpEnable = in_struct->logicOpEnable; + logicOp = in_struct->logicOp; + attachmentCount = in_struct->attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pAttachments) { + pAttachments = new VkPipelineColorBlendAttachmentState[in_struct->attachmentCount]; + memcpy((void*)pAttachments, (void*)in_struct->pAttachments, + sizeof(VkPipelineColorBlendAttachmentState) * in_struct->attachmentCount); + } + + for (uint32_t i = 0; i < 4; ++i) { + blendConstants[i] = in_struct->blendConstants[i]; + } +} + +void safe_VkPipelineColorBlendStateCreateInfo::initialize(const safe_VkPipelineColorBlendStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + logicOpEnable = copy_src->logicOpEnable; + logicOp = copy_src->logicOp; + attachmentCount = copy_src->attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pAttachments) { + pAttachments = new VkPipelineColorBlendAttachmentState[copy_src->attachmentCount]; + memcpy((void*)pAttachments, (void*)copy_src->pAttachments, + sizeof(VkPipelineColorBlendAttachmentState) * copy_src->attachmentCount); + } + + for (uint32_t i = 0; i < 4; ++i) { + blendConstants[i] = copy_src->blendConstants[i]; + } +} + +safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo( + const VkPipelineDepthStencilStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + depthTestEnable(in_struct->depthTestEnable), + depthWriteEnable(in_struct->depthWriteEnable), + depthCompareOp(in_struct->depthCompareOp), + depthBoundsTestEnable(in_struct->depthBoundsTestEnable), + stencilTestEnable(in_struct->stencilTestEnable), + front(in_struct->front), + back(in_struct->back), + minDepthBounds(in_struct->minDepthBounds), + maxDepthBounds(in_struct->maxDepthBounds) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + depthTestEnable(), + depthWriteEnable(), + depthCompareOp(), + depthBoundsTestEnable(), + stencilTestEnable(), + front(), + back(), + minDepthBounds(), + maxDepthBounds() {} + +safe_VkPipelineDepthStencilStateCreateInfo::safe_VkPipelineDepthStencilStateCreateInfo( + const safe_VkPipelineDepthStencilStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + depthTestEnable = copy_src.depthTestEnable; + depthWriteEnable = copy_src.depthWriteEnable; + depthCompareOp = copy_src.depthCompareOp; + depthBoundsTestEnable = copy_src.depthBoundsTestEnable; + stencilTestEnable = copy_src.stencilTestEnable; + front = copy_src.front; + back = copy_src.back; + minDepthBounds = copy_src.minDepthBounds; + maxDepthBounds = copy_src.maxDepthBounds; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineDepthStencilStateCreateInfo& safe_VkPipelineDepthStencilStateCreateInfo::operator=( + const safe_VkPipelineDepthStencilStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + depthTestEnable = copy_src.depthTestEnable; + depthWriteEnable = copy_src.depthWriteEnable; + depthCompareOp = copy_src.depthCompareOp; + depthBoundsTestEnable = copy_src.depthBoundsTestEnable; + stencilTestEnable = copy_src.stencilTestEnable; + front = copy_src.front; + back = copy_src.back; + minDepthBounds = copy_src.minDepthBounds; + maxDepthBounds = copy_src.maxDepthBounds; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineDepthStencilStateCreateInfo::~safe_VkPipelineDepthStencilStateCreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const VkPipelineDepthStencilStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + depthTestEnable = in_struct->depthTestEnable; + depthWriteEnable = in_struct->depthWriteEnable; + depthCompareOp = in_struct->depthCompareOp; + depthBoundsTestEnable = in_struct->depthBoundsTestEnable; + stencilTestEnable = in_struct->stencilTestEnable; + front = in_struct->front; + back = in_struct->back; + minDepthBounds = in_struct->minDepthBounds; + maxDepthBounds = in_struct->maxDepthBounds; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineDepthStencilStateCreateInfo::initialize(const safe_VkPipelineDepthStencilStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + depthTestEnable = copy_src->depthTestEnable; + depthWriteEnable = copy_src->depthWriteEnable; + depthCompareOp = copy_src->depthCompareOp; + depthBoundsTestEnable = copy_src->depthBoundsTestEnable; + stencilTestEnable = copy_src->stencilTestEnable; + front = copy_src->front; + back = copy_src->back; + minDepthBounds = copy_src->minDepthBounds; + maxDepthBounds = copy_src->maxDepthBounds; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo(const VkPipelineDynamicStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), dynamicStateCount(in_struct->dynamicStateCount), pDynamicStates(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDynamicStates) { + pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount]; + memcpy((void*)pDynamicStates, (void*)in_struct->pDynamicStates, sizeof(VkDynamicState) * in_struct->dynamicStateCount); + } +} + +safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + dynamicStateCount(), + pDynamicStates(nullptr) {} + +safe_VkPipelineDynamicStateCreateInfo::safe_VkPipelineDynamicStateCreateInfo( + const safe_VkPipelineDynamicStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + dynamicStateCount = copy_src.dynamicStateCount; + pDynamicStates = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDynamicStates) { + pDynamicStates = new VkDynamicState[copy_src.dynamicStateCount]; + memcpy((void*)pDynamicStates, (void*)copy_src.pDynamicStates, sizeof(VkDynamicState) * copy_src.dynamicStateCount); + } +} + +safe_VkPipelineDynamicStateCreateInfo& safe_VkPipelineDynamicStateCreateInfo::operator=( + const safe_VkPipelineDynamicStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pDynamicStates) delete[] pDynamicStates; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + dynamicStateCount = copy_src.dynamicStateCount; + pDynamicStates = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDynamicStates) { + pDynamicStates = new VkDynamicState[copy_src.dynamicStateCount]; + memcpy((void*)pDynamicStates, (void*)copy_src.pDynamicStates, sizeof(VkDynamicState) * copy_src.dynamicStateCount); + } + + return *this; +} + +safe_VkPipelineDynamicStateCreateInfo::~safe_VkPipelineDynamicStateCreateInfo() { + if (pDynamicStates) delete[] pDynamicStates; + FreePnextChain(pNext); +} + +void safe_VkPipelineDynamicStateCreateInfo::initialize(const VkPipelineDynamicStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDynamicStates) delete[] pDynamicStates; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + dynamicStateCount = in_struct->dynamicStateCount; + pDynamicStates = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pDynamicStates) { + pDynamicStates = new VkDynamicState[in_struct->dynamicStateCount]; + memcpy((void*)pDynamicStates, (void*)in_struct->pDynamicStates, sizeof(VkDynamicState) * in_struct->dynamicStateCount); + } +} + +void safe_VkPipelineDynamicStateCreateInfo::initialize(const safe_VkPipelineDynamicStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + dynamicStateCount = copy_src->dynamicStateCount; + pDynamicStates = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pDynamicStates) { + pDynamicStates = new VkDynamicState[copy_src->dynamicStateCount]; + memcpy((void*)pDynamicStates, (void*)copy_src->pDynamicStates, sizeof(VkDynamicState) * copy_src->dynamicStateCount); + } +} + +safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo( + const VkPipelineInputAssemblyStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + topology(in_struct->topology), + primitiveRestartEnable(in_struct->primitiveRestartEnable) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + topology(), + primitiveRestartEnable() {} + +safe_VkPipelineInputAssemblyStateCreateInfo::safe_VkPipelineInputAssemblyStateCreateInfo( + const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + topology = copy_src.topology; + primitiveRestartEnable = copy_src.primitiveRestartEnable; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineInputAssemblyStateCreateInfo& safe_VkPipelineInputAssemblyStateCreateInfo::operator=( + const safe_VkPipelineInputAssemblyStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + topology = copy_src.topology; + primitiveRestartEnable = copy_src.primitiveRestartEnable; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineInputAssemblyStateCreateInfo::~safe_VkPipelineInputAssemblyStateCreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const VkPipelineInputAssemblyStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + topology = in_struct->topology; + primitiveRestartEnable = in_struct->primitiveRestartEnable; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineInputAssemblyStateCreateInfo::initialize(const safe_VkPipelineInputAssemblyStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + topology = copy_src->topology; + primitiveRestartEnable = copy_src->primitiveRestartEnable; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo( + const VkPipelineMultisampleStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + rasterizationSamples(in_struct->rasterizationSamples), + sampleShadingEnable(in_struct->sampleShadingEnable), + minSampleShading(in_struct->minSampleShading), + pSampleMask(nullptr), + alphaToCoverageEnable(in_struct->alphaToCoverageEnable), + alphaToOneEnable(in_struct->alphaToOneEnable) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pSampleMask) { + pSampleMask = new VkSampleMask(*in_struct->pSampleMask); + } +} + +safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + rasterizationSamples(), + sampleShadingEnable(), + minSampleShading(), + pSampleMask(nullptr), + alphaToCoverageEnable(), + alphaToOneEnable() {} + +safe_VkPipelineMultisampleStateCreateInfo::safe_VkPipelineMultisampleStateCreateInfo( + const safe_VkPipelineMultisampleStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + rasterizationSamples = copy_src.rasterizationSamples; + sampleShadingEnable = copy_src.sampleShadingEnable; + minSampleShading = copy_src.minSampleShading; + pSampleMask = nullptr; + alphaToCoverageEnable = copy_src.alphaToCoverageEnable; + alphaToOneEnable = copy_src.alphaToOneEnable; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pSampleMask) { + pSampleMask = new VkSampleMask(*copy_src.pSampleMask); + } +} + +safe_VkPipelineMultisampleStateCreateInfo& safe_VkPipelineMultisampleStateCreateInfo::operator=( + const safe_VkPipelineMultisampleStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pSampleMask) delete pSampleMask; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + rasterizationSamples = copy_src.rasterizationSamples; + sampleShadingEnable = copy_src.sampleShadingEnable; + minSampleShading = copy_src.minSampleShading; + pSampleMask = nullptr; + alphaToCoverageEnable = copy_src.alphaToCoverageEnable; + alphaToOneEnable = copy_src.alphaToOneEnable; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pSampleMask) { + pSampleMask = new VkSampleMask(*copy_src.pSampleMask); + } + + return *this; +} + +safe_VkPipelineMultisampleStateCreateInfo::~safe_VkPipelineMultisampleStateCreateInfo() { + if (pSampleMask) delete pSampleMask; + FreePnextChain(pNext); +} + +void safe_VkPipelineMultisampleStateCreateInfo::initialize(const VkPipelineMultisampleStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pSampleMask) delete pSampleMask; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + rasterizationSamples = in_struct->rasterizationSamples; + sampleShadingEnable = in_struct->sampleShadingEnable; + minSampleShading = in_struct->minSampleShading; + pSampleMask = nullptr; + alphaToCoverageEnable = in_struct->alphaToCoverageEnable; + alphaToOneEnable = in_struct->alphaToOneEnable; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pSampleMask) { + pSampleMask = new VkSampleMask(*in_struct->pSampleMask); + } +} + +void safe_VkPipelineMultisampleStateCreateInfo::initialize(const safe_VkPipelineMultisampleStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + rasterizationSamples = copy_src->rasterizationSamples; + sampleShadingEnable = copy_src->sampleShadingEnable; + minSampleShading = copy_src->minSampleShading; + pSampleMask = nullptr; + alphaToCoverageEnable = copy_src->alphaToCoverageEnable; + alphaToOneEnable = copy_src->alphaToOneEnable; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pSampleMask) { + pSampleMask = new VkSampleMask(*copy_src->pSampleMask); + } +} + +safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo( + const VkPipelineRasterizationStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + depthClampEnable(in_struct->depthClampEnable), + rasterizerDiscardEnable(in_struct->rasterizerDiscardEnable), + polygonMode(in_struct->polygonMode), + cullMode(in_struct->cullMode), + frontFace(in_struct->frontFace), + depthBiasEnable(in_struct->depthBiasEnable), + depthBiasConstantFactor(in_struct->depthBiasConstantFactor), + depthBiasClamp(in_struct->depthBiasClamp), + depthBiasSlopeFactor(in_struct->depthBiasSlopeFactor), + lineWidth(in_struct->lineWidth) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + depthClampEnable(), + rasterizerDiscardEnable(), + polygonMode(), + cullMode(), + frontFace(), + depthBiasEnable(), + depthBiasConstantFactor(), + depthBiasClamp(), + depthBiasSlopeFactor(), + lineWidth() {} + +safe_VkPipelineRasterizationStateCreateInfo::safe_VkPipelineRasterizationStateCreateInfo( + const safe_VkPipelineRasterizationStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + depthClampEnable = copy_src.depthClampEnable; + rasterizerDiscardEnable = copy_src.rasterizerDiscardEnable; + polygonMode = copy_src.polygonMode; + cullMode = copy_src.cullMode; + frontFace = copy_src.frontFace; + depthBiasEnable = copy_src.depthBiasEnable; + depthBiasConstantFactor = copy_src.depthBiasConstantFactor; + depthBiasClamp = copy_src.depthBiasClamp; + depthBiasSlopeFactor = copy_src.depthBiasSlopeFactor; + lineWidth = copy_src.lineWidth; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineRasterizationStateCreateInfo& safe_VkPipelineRasterizationStateCreateInfo::operator=( + const safe_VkPipelineRasterizationStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + depthClampEnable = copy_src.depthClampEnable; + rasterizerDiscardEnable = copy_src.rasterizerDiscardEnable; + polygonMode = copy_src.polygonMode; + cullMode = copy_src.cullMode; + frontFace = copy_src.frontFace; + depthBiasEnable = copy_src.depthBiasEnable; + depthBiasConstantFactor = copy_src.depthBiasConstantFactor; + depthBiasClamp = copy_src.depthBiasClamp; + depthBiasSlopeFactor = copy_src.depthBiasSlopeFactor; + lineWidth = copy_src.lineWidth; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineRasterizationStateCreateInfo::~safe_VkPipelineRasterizationStateCreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineRasterizationStateCreateInfo::initialize(const VkPipelineRasterizationStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + depthClampEnable = in_struct->depthClampEnable; + rasterizerDiscardEnable = in_struct->rasterizerDiscardEnable; + polygonMode = in_struct->polygonMode; + cullMode = in_struct->cullMode; + frontFace = in_struct->frontFace; + depthBiasEnable = in_struct->depthBiasEnable; + depthBiasConstantFactor = in_struct->depthBiasConstantFactor; + depthBiasClamp = in_struct->depthBiasClamp; + depthBiasSlopeFactor = in_struct->depthBiasSlopeFactor; + lineWidth = in_struct->lineWidth; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineRasterizationStateCreateInfo::initialize(const safe_VkPipelineRasterizationStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + depthClampEnable = copy_src->depthClampEnable; + rasterizerDiscardEnable = copy_src->rasterizerDiscardEnable; + polygonMode = copy_src->polygonMode; + cullMode = copy_src->cullMode; + frontFace = copy_src->frontFace; + depthBiasEnable = copy_src->depthBiasEnable; + depthBiasConstantFactor = copy_src->depthBiasConstantFactor; + depthBiasClamp = copy_src->depthBiasClamp; + depthBiasSlopeFactor = copy_src->depthBiasSlopeFactor; + lineWidth = copy_src->lineWidth; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo( + const VkPipelineTessellationStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), patchControlPoints(in_struct->patchControlPoints) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO), pNext(nullptr), flags(), patchControlPoints() {} + +safe_VkPipelineTessellationStateCreateInfo::safe_VkPipelineTessellationStateCreateInfo( + const safe_VkPipelineTessellationStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + patchControlPoints = copy_src.patchControlPoints; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineTessellationStateCreateInfo& safe_VkPipelineTessellationStateCreateInfo::operator=( + const safe_VkPipelineTessellationStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + patchControlPoints = copy_src.patchControlPoints; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineTessellationStateCreateInfo::~safe_VkPipelineTessellationStateCreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineTessellationStateCreateInfo::initialize(const VkPipelineTessellationStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + patchControlPoints = in_struct->patchControlPoints; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineTessellationStateCreateInfo::initialize(const safe_VkPipelineTessellationStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + patchControlPoints = copy_src->patchControlPoints; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo( + const VkPipelineVertexInputStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + vertexBindingDescriptionCount(in_struct->vertexBindingDescriptionCount), + pVertexBindingDescriptions(nullptr), + vertexAttributeDescriptionCount(in_struct->vertexAttributeDescriptionCount), + pVertexAttributeDescriptions(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pVertexBindingDescriptions) { + pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount]; + memcpy((void*)pVertexBindingDescriptions, (void*)in_struct->pVertexBindingDescriptions, + sizeof(VkVertexInputBindingDescription) * in_struct->vertexBindingDescriptionCount); + } + + if (in_struct->pVertexAttributeDescriptions) { + pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount]; + memcpy((void*)pVertexAttributeDescriptions, (void*)in_struct->pVertexAttributeDescriptions, + sizeof(VkVertexInputAttributeDescription) * in_struct->vertexAttributeDescriptionCount); + } +} + +safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO), + pNext(nullptr), + flags(), + vertexBindingDescriptionCount(), + pVertexBindingDescriptions(nullptr), + vertexAttributeDescriptionCount(), + pVertexAttributeDescriptions(nullptr) {} + +safe_VkPipelineVertexInputStateCreateInfo::safe_VkPipelineVertexInputStateCreateInfo( + const safe_VkPipelineVertexInputStateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + vertexBindingDescriptionCount = copy_src.vertexBindingDescriptionCount; + pVertexBindingDescriptions = nullptr; + vertexAttributeDescriptionCount = copy_src.vertexAttributeDescriptionCount; + pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pVertexBindingDescriptions) { + pVertexBindingDescriptions = new VkVertexInputBindingDescription[copy_src.vertexBindingDescriptionCount]; + memcpy((void*)pVertexBindingDescriptions, (void*)copy_src.pVertexBindingDescriptions, + sizeof(VkVertexInputBindingDescription) * copy_src.vertexBindingDescriptionCount); + } + + if (copy_src.pVertexAttributeDescriptions) { + pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[copy_src.vertexAttributeDescriptionCount]; + memcpy((void*)pVertexAttributeDescriptions, (void*)copy_src.pVertexAttributeDescriptions, + sizeof(VkVertexInputAttributeDescription) * copy_src.vertexAttributeDescriptionCount); + } +} + +safe_VkPipelineVertexInputStateCreateInfo& safe_VkPipelineVertexInputStateCreateInfo::operator=( + const safe_VkPipelineVertexInputStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pVertexBindingDescriptions) delete[] pVertexBindingDescriptions; + if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + vertexBindingDescriptionCount = copy_src.vertexBindingDescriptionCount; + pVertexBindingDescriptions = nullptr; + vertexAttributeDescriptionCount = copy_src.vertexAttributeDescriptionCount; + pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pVertexBindingDescriptions) { + pVertexBindingDescriptions = new VkVertexInputBindingDescription[copy_src.vertexBindingDescriptionCount]; + memcpy((void*)pVertexBindingDescriptions, (void*)copy_src.pVertexBindingDescriptions, + sizeof(VkVertexInputBindingDescription) * copy_src.vertexBindingDescriptionCount); + } + + if (copy_src.pVertexAttributeDescriptions) { + pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[copy_src.vertexAttributeDescriptionCount]; + memcpy((void*)pVertexAttributeDescriptions, (void*)copy_src.pVertexAttributeDescriptions, + sizeof(VkVertexInputAttributeDescription) * copy_src.vertexAttributeDescriptionCount); + } + + return *this; +} + +safe_VkPipelineVertexInputStateCreateInfo::~safe_VkPipelineVertexInputStateCreateInfo() { + if (pVertexBindingDescriptions) delete[] pVertexBindingDescriptions; + if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; + FreePnextChain(pNext); +} + +void safe_VkPipelineVertexInputStateCreateInfo::initialize(const VkPipelineVertexInputStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pVertexBindingDescriptions) delete[] pVertexBindingDescriptions; + if (pVertexAttributeDescriptions) delete[] pVertexAttributeDescriptions; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + vertexBindingDescriptionCount = in_struct->vertexBindingDescriptionCount; + pVertexBindingDescriptions = nullptr; + vertexAttributeDescriptionCount = in_struct->vertexAttributeDescriptionCount; + pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pVertexBindingDescriptions) { + pVertexBindingDescriptions = new VkVertexInputBindingDescription[in_struct->vertexBindingDescriptionCount]; + memcpy((void*)pVertexBindingDescriptions, (void*)in_struct->pVertexBindingDescriptions, + sizeof(VkVertexInputBindingDescription) * in_struct->vertexBindingDescriptionCount); + } + + if (in_struct->pVertexAttributeDescriptions) { + pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[in_struct->vertexAttributeDescriptionCount]; + memcpy((void*)pVertexAttributeDescriptions, (void*)in_struct->pVertexAttributeDescriptions, + sizeof(VkVertexInputAttributeDescription) * in_struct->vertexAttributeDescriptionCount); + } +} + +void safe_VkPipelineVertexInputStateCreateInfo::initialize(const safe_VkPipelineVertexInputStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + vertexBindingDescriptionCount = copy_src->vertexBindingDescriptionCount; + pVertexBindingDescriptions = nullptr; + vertexAttributeDescriptionCount = copy_src->vertexAttributeDescriptionCount; + pVertexAttributeDescriptions = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pVertexBindingDescriptions) { + pVertexBindingDescriptions = new VkVertexInputBindingDescription[copy_src->vertexBindingDescriptionCount]; + memcpy((void*)pVertexBindingDescriptions, (void*)copy_src->pVertexBindingDescriptions, + sizeof(VkVertexInputBindingDescription) * copy_src->vertexBindingDescriptionCount); + } + + if (copy_src->pVertexAttributeDescriptions) { + pVertexAttributeDescriptions = new VkVertexInputAttributeDescription[copy_src->vertexAttributeDescriptionCount]; + memcpy((void*)pVertexAttributeDescriptions, (void*)copy_src->pVertexAttributeDescriptions, + sizeof(VkVertexInputAttributeDescription) * copy_src->vertexAttributeDescriptionCount); + } +} + safe_VkFramebufferCreateInfo::safe_VkFramebufferCreateInfo(const VkFramebufferCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -5085,254 +5423,6 @@ } } -safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const VkCommandPoolCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), flags(in_struct->flags), queueFamilyIndex(in_struct->queueFamilyIndex) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo() - : sType(VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO), pNext(nullptr), flags(), queueFamilyIndex() {} - -safe_VkCommandPoolCreateInfo::safe_VkCommandPoolCreateInfo(const safe_VkCommandPoolCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - queueFamilyIndex = copy_src.queueFamilyIndex; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkCommandPoolCreateInfo& safe_VkCommandPoolCreateInfo::operator=(const safe_VkCommandPoolCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - queueFamilyIndex = copy_src.queueFamilyIndex; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkCommandPoolCreateInfo::~safe_VkCommandPoolCreateInfo() { FreePnextChain(pNext); } - -void safe_VkCommandPoolCreateInfo::initialize(const VkCommandPoolCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - queueFamilyIndex = in_struct->queueFamilyIndex; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkCommandPoolCreateInfo::initialize(const safe_VkCommandPoolCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - queueFamilyIndex = copy_src->queueFamilyIndex; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const VkCommandBufferAllocateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - commandPool(in_struct->commandPool), - level(in_struct->level), - commandBufferCount(in_struct->commandBufferCount) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo() - : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO), pNext(nullptr), commandPool(), level(), commandBufferCount() {} - -safe_VkCommandBufferAllocateInfo::safe_VkCommandBufferAllocateInfo(const safe_VkCommandBufferAllocateInfo& copy_src) { - sType = copy_src.sType; - commandPool = copy_src.commandPool; - level = copy_src.level; - commandBufferCount = copy_src.commandBufferCount; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkCommandBufferAllocateInfo& safe_VkCommandBufferAllocateInfo::operator=(const safe_VkCommandBufferAllocateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - commandPool = copy_src.commandPool; - level = copy_src.level; - commandBufferCount = copy_src.commandBufferCount; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkCommandBufferAllocateInfo::~safe_VkCommandBufferAllocateInfo() { FreePnextChain(pNext); } - -void safe_VkCommandBufferAllocateInfo::initialize(const VkCommandBufferAllocateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - commandPool = in_struct->commandPool; - level = in_struct->level; - commandBufferCount = in_struct->commandBufferCount; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkCommandBufferAllocateInfo::initialize(const safe_VkCommandBufferAllocateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - commandPool = copy_src->commandPool; - level = copy_src->level; - commandBufferCount = copy_src->commandBufferCount; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const VkCommandBufferInheritanceInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - renderPass(in_struct->renderPass), - subpass(in_struct->subpass), - framebuffer(in_struct->framebuffer), - occlusionQueryEnable(in_struct->occlusionQueryEnable), - queryFlags(in_struct->queryFlags), - pipelineStatistics(in_struct->pipelineStatistics) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo() - : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO), - pNext(nullptr), - renderPass(), - subpass(), - framebuffer(), - occlusionQueryEnable(), - queryFlags(), - pipelineStatistics() {} - -safe_VkCommandBufferInheritanceInfo::safe_VkCommandBufferInheritanceInfo(const safe_VkCommandBufferInheritanceInfo& copy_src) { - sType = copy_src.sType; - renderPass = copy_src.renderPass; - subpass = copy_src.subpass; - framebuffer = copy_src.framebuffer; - occlusionQueryEnable = copy_src.occlusionQueryEnable; - queryFlags = copy_src.queryFlags; - pipelineStatistics = copy_src.pipelineStatistics; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkCommandBufferInheritanceInfo& safe_VkCommandBufferInheritanceInfo::operator=( - const safe_VkCommandBufferInheritanceInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - renderPass = copy_src.renderPass; - subpass = copy_src.subpass; - framebuffer = copy_src.framebuffer; - occlusionQueryEnable = copy_src.occlusionQueryEnable; - queryFlags = copy_src.queryFlags; - pipelineStatistics = copy_src.pipelineStatistics; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkCommandBufferInheritanceInfo::~safe_VkCommandBufferInheritanceInfo() { FreePnextChain(pNext); } - -void safe_VkCommandBufferInheritanceInfo::initialize(const VkCommandBufferInheritanceInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - renderPass = in_struct->renderPass; - subpass = in_struct->subpass; - framebuffer = in_struct->framebuffer; - occlusionQueryEnable = in_struct->occlusionQueryEnable; - queryFlags = in_struct->queryFlags; - pipelineStatistics = in_struct->pipelineStatistics; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkCommandBufferInheritanceInfo::initialize(const safe_VkCommandBufferInheritanceInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - renderPass = copy_src->renderPass; - subpass = copy_src->subpass; - framebuffer = copy_src->framebuffer; - occlusionQueryEnable = copy_src->occlusionQueryEnable; - queryFlags = copy_src->queryFlags; - pipelineStatistics = copy_src->pipelineStatistics; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const VkCommandBufferBeginInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), flags(in_struct->flags), pInheritanceInfo(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo); -} - -safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo() - : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO), pNext(nullptr), flags(), pInheritanceInfo(nullptr) {} - -safe_VkCommandBufferBeginInfo::safe_VkCommandBufferBeginInfo(const safe_VkCommandBufferBeginInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - pInheritanceInfo = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*copy_src.pInheritanceInfo); -} - -safe_VkCommandBufferBeginInfo& safe_VkCommandBufferBeginInfo::operator=(const safe_VkCommandBufferBeginInfo& copy_src) { - if (©_src == this) return *this; - - if (pInheritanceInfo) delete pInheritanceInfo; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - pInheritanceInfo = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*copy_src.pInheritanceInfo); - - return *this; -} - -safe_VkCommandBufferBeginInfo::~safe_VkCommandBufferBeginInfo() { - if (pInheritanceInfo) delete pInheritanceInfo; - FreePnextChain(pNext); -} - -void safe_VkCommandBufferBeginInfo::initialize(const VkCommandBufferBeginInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pInheritanceInfo) delete pInheritanceInfo; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - pInheritanceInfo = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (in_struct->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(in_struct->pInheritanceInfo); -} - -void safe_VkCommandBufferBeginInfo::initialize(const safe_VkCommandBufferBeginInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - pInheritanceInfo = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (copy_src->pInheritanceInfo) pInheritanceInfo = new safe_VkCommandBufferInheritanceInfo(*copy_src->pInheritanceInfo); -} - safe_VkRenderPassBeginInfo::safe_VkRenderPassBeginInfo(const VkRenderPassBeginInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -5434,75 +5524,6 @@ } } -safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties( - const VkPhysicalDeviceSubgroupProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - subgroupSize(in_struct->subgroupSize), - supportedStages(in_struct->supportedStages), - supportedOperations(in_struct->supportedOperations), - quadOperationsInAllStages(in_struct->quadOperationsInAllStages) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES), - pNext(nullptr), - subgroupSize(), - supportedStages(), - supportedOperations(), - quadOperationsInAllStages() {} - -safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties( - const safe_VkPhysicalDeviceSubgroupProperties& copy_src) { - sType = copy_src.sType; - subgroupSize = copy_src.subgroupSize; - supportedStages = copy_src.supportedStages; - supportedOperations = copy_src.supportedOperations; - quadOperationsInAllStages = copy_src.quadOperationsInAllStages; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceSubgroupProperties& safe_VkPhysicalDeviceSubgroupProperties::operator=( - const safe_VkPhysicalDeviceSubgroupProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - subgroupSize = copy_src.subgroupSize; - supportedStages = copy_src.supportedStages; - supportedOperations = copy_src.supportedOperations; - quadOperationsInAllStages = copy_src.quadOperationsInAllStages; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceSubgroupProperties::~safe_VkPhysicalDeviceSubgroupProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceSubgroupProperties::initialize(const VkPhysicalDeviceSubgroupProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - subgroupSize = in_struct->subgroupSize; - supportedStages = in_struct->supportedStages; - supportedOperations = in_struct->supportedOperations; - quadOperationsInAllStages = in_struct->quadOperationsInAllStages; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceSubgroupProperties::initialize(const safe_VkPhysicalDeviceSubgroupProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - subgroupSize = copy_src->subgroupSize; - supportedStages = copy_src->supportedStages; - supportedOperations = copy_src->supportedOperations; - quadOperationsInAllStages = copy_src->quadOperationsInAllStages; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkBindBufferMemoryInfo::safe_VkBindBufferMemoryInfo(const VkBindBufferMemoryInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), buffer(in_struct->buffer), memory(in_struct->memory), memoryOffset(in_struct->memoryOffset) { @@ -5609,75 +5630,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures( - const VkPhysicalDevice16BitStorageFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - storageBuffer16BitAccess(in_struct->storageBuffer16BitAccess), - uniformAndStorageBuffer16BitAccess(in_struct->uniformAndStorageBuffer16BitAccess), - storagePushConstant16(in_struct->storagePushConstant16), - storageInputOutput16(in_struct->storageInputOutput16) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES), - pNext(nullptr), - storageBuffer16BitAccess(), - uniformAndStorageBuffer16BitAccess(), - storagePushConstant16(), - storageInputOutput16() {} - -safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures( - const safe_VkPhysicalDevice16BitStorageFeatures& copy_src) { - sType = copy_src.sType; - storageBuffer16BitAccess = copy_src.storageBuffer16BitAccess; - uniformAndStorageBuffer16BitAccess = copy_src.uniformAndStorageBuffer16BitAccess; - storagePushConstant16 = copy_src.storagePushConstant16; - storageInputOutput16 = copy_src.storageInputOutput16; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevice16BitStorageFeatures& safe_VkPhysicalDevice16BitStorageFeatures::operator=( - const safe_VkPhysicalDevice16BitStorageFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - storageBuffer16BitAccess = copy_src.storageBuffer16BitAccess; - uniformAndStorageBuffer16BitAccess = copy_src.uniformAndStorageBuffer16BitAccess; - storagePushConstant16 = copy_src.storagePushConstant16; - storageInputOutput16 = copy_src.storageInputOutput16; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevice16BitStorageFeatures::~safe_VkPhysicalDevice16BitStorageFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - storageBuffer16BitAccess = in_struct->storageBuffer16BitAccess; - uniformAndStorageBuffer16BitAccess = in_struct->uniformAndStorageBuffer16BitAccess; - storagePushConstant16 = in_struct->storagePushConstant16; - storageInputOutput16 = in_struct->storageInputOutput16; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const safe_VkPhysicalDevice16BitStorageFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - storageBuffer16BitAccess = copy_src->storageBuffer16BitAccess; - uniformAndStorageBuffer16BitAccess = copy_src->uniformAndStorageBuffer16BitAccess; - storagePushConstant16 = copy_src->storagePushConstant16; - storageInputOutput16 = copy_src->storageInputOutput16; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkMemoryDedicatedRequirements::safe_VkMemoryDedicatedRequirements(const VkMemoryDedicatedRequirements* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -5835,101 +5787,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - deviceMask(in_struct->deviceMask), - deviceRenderAreaCount(in_struct->deviceRenderAreaCount), - pDeviceRenderAreas(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pDeviceRenderAreas) { - pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount]; - memcpy((void*)pDeviceRenderAreas, (void*)in_struct->pDeviceRenderAreas, - sizeof(VkRect2D) * in_struct->deviceRenderAreaCount); - } -} - -safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo() - : sType(VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO), - pNext(nullptr), - deviceMask(), - deviceRenderAreaCount(), - pDeviceRenderAreas(nullptr) {} - -safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo( - const safe_VkDeviceGroupRenderPassBeginInfo& copy_src) { - sType = copy_src.sType; - deviceMask = copy_src.deviceMask; - deviceRenderAreaCount = copy_src.deviceRenderAreaCount; - pDeviceRenderAreas = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pDeviceRenderAreas) { - pDeviceRenderAreas = new VkRect2D[copy_src.deviceRenderAreaCount]; - memcpy((void*)pDeviceRenderAreas, (void*)copy_src.pDeviceRenderAreas, sizeof(VkRect2D) * copy_src.deviceRenderAreaCount); - } -} - -safe_VkDeviceGroupRenderPassBeginInfo& safe_VkDeviceGroupRenderPassBeginInfo::operator=( - const safe_VkDeviceGroupRenderPassBeginInfo& copy_src) { - if (©_src == this) return *this; - - if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; - FreePnextChain(pNext); - - sType = copy_src.sType; - deviceMask = copy_src.deviceMask; - deviceRenderAreaCount = copy_src.deviceRenderAreaCount; - pDeviceRenderAreas = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pDeviceRenderAreas) { - pDeviceRenderAreas = new VkRect2D[copy_src.deviceRenderAreaCount]; - memcpy((void*)pDeviceRenderAreas, (void*)copy_src.pDeviceRenderAreas, sizeof(VkRect2D) * copy_src.deviceRenderAreaCount); - } - - return *this; -} - -safe_VkDeviceGroupRenderPassBeginInfo::~safe_VkDeviceGroupRenderPassBeginInfo() { - if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; - FreePnextChain(pNext); -} - -void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; - FreePnextChain(pNext); - sType = in_struct->sType; - deviceMask = in_struct->deviceMask; - deviceRenderAreaCount = in_struct->deviceRenderAreaCount; - pDeviceRenderAreas = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pDeviceRenderAreas) { - pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount]; - memcpy((void*)pDeviceRenderAreas, (void*)in_struct->pDeviceRenderAreas, - sizeof(VkRect2D) * in_struct->deviceRenderAreaCount); - } -} - -void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const safe_VkDeviceGroupRenderPassBeginInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - deviceMask = copy_src->deviceMask; - deviceRenderAreaCount = copy_src->deviceRenderAreaCount; - pDeviceRenderAreas = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pDeviceRenderAreas) { - pDeviceRenderAreas = new VkRect2D[copy_src->deviceRenderAreaCount]; - memcpy((void*)pDeviceRenderAreas, (void*)copy_src->pDeviceRenderAreas, sizeof(VkRect2D) * copy_src->deviceRenderAreaCount); - } -} - safe_VkDeviceGroupCommandBufferBeginInfo::safe_VkDeviceGroupCommandBufferBeginInfo( const VkDeviceGroupCommandBufferBeginInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), deviceMask(in_struct->deviceMask) { @@ -7285,143 +7142,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties( - const VkPhysicalDevicePointClippingProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), pointClippingBehavior(in_struct->pointClippingBehavior) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES), pNext(nullptr), pointClippingBehavior() {} - -safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties( - const safe_VkPhysicalDevicePointClippingProperties& copy_src) { - sType = copy_src.sType; - pointClippingBehavior = copy_src.pointClippingBehavior; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePointClippingProperties& safe_VkPhysicalDevicePointClippingProperties::operator=( - const safe_VkPhysicalDevicePointClippingProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - pointClippingBehavior = copy_src.pointClippingBehavior; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePointClippingProperties::~safe_VkPhysicalDevicePointClippingProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDevicePointClippingProperties::initialize(const VkPhysicalDevicePointClippingProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - pointClippingBehavior = in_struct->pointClippingBehavior; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePointClippingProperties::initialize(const safe_VkPhysicalDevicePointClippingProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pointClippingBehavior = copy_src->pointClippingBehavior; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo( - const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), aspectReferenceCount(in_struct->aspectReferenceCount), pAspectReferences(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pAspectReferences) { - pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount]; - memcpy((void*)pAspectReferences, (void*)in_struct->pAspectReferences, - sizeof(VkInputAttachmentAspectReference) * in_struct->aspectReferenceCount); - } -} - -safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo() - : sType(VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO), - pNext(nullptr), - aspectReferenceCount(), - pAspectReferences(nullptr) {} - -safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo( - const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src) { - sType = copy_src.sType; - aspectReferenceCount = copy_src.aspectReferenceCount; - pAspectReferences = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pAspectReferences) { - pAspectReferences = new VkInputAttachmentAspectReference[copy_src.aspectReferenceCount]; - memcpy((void*)pAspectReferences, (void*)copy_src.pAspectReferences, - sizeof(VkInputAttachmentAspectReference) * copy_src.aspectReferenceCount); - } -} - -safe_VkRenderPassInputAttachmentAspectCreateInfo& safe_VkRenderPassInputAttachmentAspectCreateInfo::operator=( - const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pAspectReferences) delete[] pAspectReferences; - FreePnextChain(pNext); - - sType = copy_src.sType; - aspectReferenceCount = copy_src.aspectReferenceCount; - pAspectReferences = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pAspectReferences) { - pAspectReferences = new VkInputAttachmentAspectReference[copy_src.aspectReferenceCount]; - memcpy((void*)pAspectReferences, (void*)copy_src.pAspectReferences, - sizeof(VkInputAttachmentAspectReference) * copy_src.aspectReferenceCount); - } - - return *this; -} - -safe_VkRenderPassInputAttachmentAspectCreateInfo::~safe_VkRenderPassInputAttachmentAspectCreateInfo() { - if (pAspectReferences) delete[] pAspectReferences; - FreePnextChain(pNext); -} - -void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pAspectReferences) delete[] pAspectReferences; - FreePnextChain(pNext); - sType = in_struct->sType; - aspectReferenceCount = in_struct->aspectReferenceCount; - pAspectReferences = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pAspectReferences) { - pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount]; - memcpy((void*)pAspectReferences, (void*)in_struct->pAspectReferences, - sizeof(VkInputAttachmentAspectReference) * in_struct->aspectReferenceCount); - } -} - -void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - aspectReferenceCount = copy_src->aspectReferenceCount; - pAspectReferences = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pAspectReferences) { - pAspectReferences = new VkInputAttachmentAspectReference[copy_src->aspectReferenceCount]; - memcpy((void*)pAspectReferences, (void*)copy_src->pAspectReferences, - sizeof(VkInputAttachmentAspectReference) * copy_src->aspectReferenceCount); - } -} - safe_VkImageViewUsageCreateInfo::safe_VkImageViewUsageCreateInfo(const VkImageViewUsageCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), usage(in_struct->usage) { @@ -7468,401 +7188,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo( - const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), domainOrigin(in_struct->domainOrigin) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO), pNext(nullptr), domainOrigin() {} - -safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo( - const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src) { - sType = copy_src.sType; - domainOrigin = copy_src.domainOrigin; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineTessellationDomainOriginStateCreateInfo& safe_VkPipelineTessellationDomainOriginStateCreateInfo::operator=( - const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - domainOrigin = copy_src.domainOrigin; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineTessellationDomainOriginStateCreateInfo::~safe_VkPipelineTessellationDomainOriginStateCreateInfo() { - FreePnextChain(pNext); -} - -void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize( - const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - domainOrigin = in_struct->domainOrigin; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize( - const safe_VkPipelineTessellationDomainOriginStateCreateInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - domainOrigin = copy_src->domainOrigin; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - subpassCount(in_struct->subpassCount), - pViewMasks(nullptr), - dependencyCount(in_struct->dependencyCount), - pViewOffsets(nullptr), - correlationMaskCount(in_struct->correlationMaskCount), - pCorrelationMasks(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pViewMasks) { - pViewMasks = new uint32_t[in_struct->subpassCount]; - memcpy((void*)pViewMasks, (void*)in_struct->pViewMasks, sizeof(uint32_t) * in_struct->subpassCount); - } - - if (in_struct->pViewOffsets) { - pViewOffsets = new int32_t[in_struct->dependencyCount]; - memcpy((void*)pViewOffsets, (void*)in_struct->pViewOffsets, sizeof(int32_t) * in_struct->dependencyCount); - } - - if (in_struct->pCorrelationMasks) { - pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount]; - memcpy((void*)pCorrelationMasks, (void*)in_struct->pCorrelationMasks, sizeof(uint32_t) * in_struct->correlationMaskCount); - } -} - -safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo() - : sType(VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO), - pNext(nullptr), - subpassCount(), - pViewMasks(nullptr), - dependencyCount(), - pViewOffsets(nullptr), - correlationMaskCount(), - pCorrelationMasks(nullptr) {} - -safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& copy_src) { - sType = copy_src.sType; - subpassCount = copy_src.subpassCount; - pViewMasks = nullptr; - dependencyCount = copy_src.dependencyCount; - pViewOffsets = nullptr; - correlationMaskCount = copy_src.correlationMaskCount; - pCorrelationMasks = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pViewMasks) { - pViewMasks = new uint32_t[copy_src.subpassCount]; - memcpy((void*)pViewMasks, (void*)copy_src.pViewMasks, sizeof(uint32_t) * copy_src.subpassCount); - } - - if (copy_src.pViewOffsets) { - pViewOffsets = new int32_t[copy_src.dependencyCount]; - memcpy((void*)pViewOffsets, (void*)copy_src.pViewOffsets, sizeof(int32_t) * copy_src.dependencyCount); - } - - if (copy_src.pCorrelationMasks) { - pCorrelationMasks = new uint32_t[copy_src.correlationMaskCount]; - memcpy((void*)pCorrelationMasks, (void*)copy_src.pCorrelationMasks, sizeof(uint32_t) * copy_src.correlationMaskCount); - } -} - -safe_VkRenderPassMultiviewCreateInfo& safe_VkRenderPassMultiviewCreateInfo::operator=( - const safe_VkRenderPassMultiviewCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pViewMasks) delete[] pViewMasks; - if (pViewOffsets) delete[] pViewOffsets; - if (pCorrelationMasks) delete[] pCorrelationMasks; - FreePnextChain(pNext); - - sType = copy_src.sType; - subpassCount = copy_src.subpassCount; - pViewMasks = nullptr; - dependencyCount = copy_src.dependencyCount; - pViewOffsets = nullptr; - correlationMaskCount = copy_src.correlationMaskCount; - pCorrelationMasks = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pViewMasks) { - pViewMasks = new uint32_t[copy_src.subpassCount]; - memcpy((void*)pViewMasks, (void*)copy_src.pViewMasks, sizeof(uint32_t) * copy_src.subpassCount); - } - - if (copy_src.pViewOffsets) { - pViewOffsets = new int32_t[copy_src.dependencyCount]; - memcpy((void*)pViewOffsets, (void*)copy_src.pViewOffsets, sizeof(int32_t) * copy_src.dependencyCount); - } - - if (copy_src.pCorrelationMasks) { - pCorrelationMasks = new uint32_t[copy_src.correlationMaskCount]; - memcpy((void*)pCorrelationMasks, (void*)copy_src.pCorrelationMasks, sizeof(uint32_t) * copy_src.correlationMaskCount); - } - - return *this; -} - -safe_VkRenderPassMultiviewCreateInfo::~safe_VkRenderPassMultiviewCreateInfo() { - if (pViewMasks) delete[] pViewMasks; - if (pViewOffsets) delete[] pViewOffsets; - if (pCorrelationMasks) delete[] pCorrelationMasks; - FreePnextChain(pNext); -} - -void safe_VkRenderPassMultiviewCreateInfo::initialize(const VkRenderPassMultiviewCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pViewMasks) delete[] pViewMasks; - if (pViewOffsets) delete[] pViewOffsets; - if (pCorrelationMasks) delete[] pCorrelationMasks; - FreePnextChain(pNext); - sType = in_struct->sType; - subpassCount = in_struct->subpassCount; - pViewMasks = nullptr; - dependencyCount = in_struct->dependencyCount; - pViewOffsets = nullptr; - correlationMaskCount = in_struct->correlationMaskCount; - pCorrelationMasks = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pViewMasks) { - pViewMasks = new uint32_t[in_struct->subpassCount]; - memcpy((void*)pViewMasks, (void*)in_struct->pViewMasks, sizeof(uint32_t) * in_struct->subpassCount); - } - - if (in_struct->pViewOffsets) { - pViewOffsets = new int32_t[in_struct->dependencyCount]; - memcpy((void*)pViewOffsets, (void*)in_struct->pViewOffsets, sizeof(int32_t) * in_struct->dependencyCount); - } - - if (in_struct->pCorrelationMasks) { - pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount]; - memcpy((void*)pCorrelationMasks, (void*)in_struct->pCorrelationMasks, sizeof(uint32_t) * in_struct->correlationMaskCount); - } -} - -void safe_VkRenderPassMultiviewCreateInfo::initialize(const safe_VkRenderPassMultiviewCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - subpassCount = copy_src->subpassCount; - pViewMasks = nullptr; - dependencyCount = copy_src->dependencyCount; - pViewOffsets = nullptr; - correlationMaskCount = copy_src->correlationMaskCount; - pCorrelationMasks = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pViewMasks) { - pViewMasks = new uint32_t[copy_src->subpassCount]; - memcpy((void*)pViewMasks, (void*)copy_src->pViewMasks, sizeof(uint32_t) * copy_src->subpassCount); - } - - if (copy_src->pViewOffsets) { - pViewOffsets = new int32_t[copy_src->dependencyCount]; - memcpy((void*)pViewOffsets, (void*)copy_src->pViewOffsets, sizeof(int32_t) * copy_src->dependencyCount); - } - - if (copy_src->pCorrelationMasks) { - pCorrelationMasks = new uint32_t[copy_src->correlationMaskCount]; - memcpy((void*)pCorrelationMasks, (void*)copy_src->pCorrelationMasks, sizeof(uint32_t) * copy_src->correlationMaskCount); - } -} - -safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - multiview(in_struct->multiview), - multiviewGeometryShader(in_struct->multiviewGeometryShader), - multiviewTessellationShader(in_struct->multiviewTessellationShader) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES), - pNext(nullptr), - multiview(), - multiviewGeometryShader(), - multiviewTessellationShader() {} - -safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures( - const safe_VkPhysicalDeviceMultiviewFeatures& copy_src) { - sType = copy_src.sType; - multiview = copy_src.multiview; - multiviewGeometryShader = copy_src.multiviewGeometryShader; - multiviewTessellationShader = copy_src.multiviewTessellationShader; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceMultiviewFeatures& safe_VkPhysicalDeviceMultiviewFeatures::operator=( - const safe_VkPhysicalDeviceMultiviewFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - multiview = copy_src.multiview; - multiviewGeometryShader = copy_src.multiviewGeometryShader; - multiviewTessellationShader = copy_src.multiviewTessellationShader; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceMultiviewFeatures::~safe_VkPhysicalDeviceMultiviewFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - multiview = in_struct->multiview; - multiviewGeometryShader = in_struct->multiviewGeometryShader; - multiviewTessellationShader = in_struct->multiviewTessellationShader; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const safe_VkPhysicalDeviceMultiviewFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - multiview = copy_src->multiview; - multiviewGeometryShader = copy_src->multiviewGeometryShader; - multiviewTessellationShader = copy_src->multiviewTessellationShader; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties( - const VkPhysicalDeviceMultiviewProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - maxMultiviewViewCount(in_struct->maxMultiviewViewCount), - maxMultiviewInstanceIndex(in_struct->maxMultiviewInstanceIndex) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES), - pNext(nullptr), - maxMultiviewViewCount(), - maxMultiviewInstanceIndex() {} - -safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties( - const safe_VkPhysicalDeviceMultiviewProperties& copy_src) { - sType = copy_src.sType; - maxMultiviewViewCount = copy_src.maxMultiviewViewCount; - maxMultiviewInstanceIndex = copy_src.maxMultiviewInstanceIndex; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceMultiviewProperties& safe_VkPhysicalDeviceMultiviewProperties::operator=( - const safe_VkPhysicalDeviceMultiviewProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - maxMultiviewViewCount = copy_src.maxMultiviewViewCount; - maxMultiviewInstanceIndex = copy_src.maxMultiviewInstanceIndex; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceMultiviewProperties::~safe_VkPhysicalDeviceMultiviewProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceMultiviewProperties::initialize(const VkPhysicalDeviceMultiviewProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - maxMultiviewViewCount = in_struct->maxMultiviewViewCount; - maxMultiviewInstanceIndex = in_struct->maxMultiviewInstanceIndex; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceMultiviewProperties::initialize(const safe_VkPhysicalDeviceMultiviewProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - maxMultiviewViewCount = copy_src->maxMultiviewViewCount; - maxMultiviewInstanceIndex = copy_src->maxMultiviewInstanceIndex; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures( - const VkPhysicalDeviceVariablePointersFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - variablePointersStorageBuffer(in_struct->variablePointersStorageBuffer), - variablePointers(in_struct->variablePointers) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES), - pNext(nullptr), - variablePointersStorageBuffer(), - variablePointers() {} - -safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures( - const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src) { - sType = copy_src.sType; - variablePointersStorageBuffer = copy_src.variablePointersStorageBuffer; - variablePointers = copy_src.variablePointers; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceVariablePointersFeatures& safe_VkPhysicalDeviceVariablePointersFeatures::operator=( - const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - variablePointersStorageBuffer = copy_src.variablePointersStorageBuffer; - variablePointers = copy_src.variablePointers; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceVariablePointersFeatures::~safe_VkPhysicalDeviceVariablePointersFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - variablePointersStorageBuffer = in_struct->variablePointersStorageBuffer; - variablePointers = in_struct->variablePointers; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - variablePointersStorageBuffer = copy_src->variablePointersStorageBuffer; - variablePointers = copy_src->variablePointers; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceProtectedMemoryFeatures::safe_VkPhysicalDeviceProtectedMemoryFeatures( const VkPhysicalDeviceProtectedMemoryFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), protectedMemory(in_struct->protectedMemory) { @@ -8059,145 +7384,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo( - const VkSamplerYcbcrConversionCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - format(in_struct->format), - ycbcrModel(in_struct->ycbcrModel), - ycbcrRange(in_struct->ycbcrRange), - components(in_struct->components), - xChromaOffset(in_struct->xChromaOffset), - yChromaOffset(in_struct->yChromaOffset), - chromaFilter(in_struct->chromaFilter), - forceExplicitReconstruction(in_struct->forceExplicitReconstruction) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo() - : sType(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO), - pNext(nullptr), - format(), - ycbcrModel(), - ycbcrRange(), - components(), - xChromaOffset(), - yChromaOffset(), - chromaFilter(), - forceExplicitReconstruction() {} - -safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo( - const safe_VkSamplerYcbcrConversionCreateInfo& copy_src) { - sType = copy_src.sType; - format = copy_src.format; - ycbcrModel = copy_src.ycbcrModel; - ycbcrRange = copy_src.ycbcrRange; - components = copy_src.components; - xChromaOffset = copy_src.xChromaOffset; - yChromaOffset = copy_src.yChromaOffset; - chromaFilter = copy_src.chromaFilter; - forceExplicitReconstruction = copy_src.forceExplicitReconstruction; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSamplerYcbcrConversionCreateInfo& safe_VkSamplerYcbcrConversionCreateInfo::operator=( - const safe_VkSamplerYcbcrConversionCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - format = copy_src.format; - ycbcrModel = copy_src.ycbcrModel; - ycbcrRange = copy_src.ycbcrRange; - components = copy_src.components; - xChromaOffset = copy_src.xChromaOffset; - yChromaOffset = copy_src.yChromaOffset; - chromaFilter = copy_src.chromaFilter; - forceExplicitReconstruction = copy_src.forceExplicitReconstruction; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSamplerYcbcrConversionCreateInfo::~safe_VkSamplerYcbcrConversionCreateInfo() { FreePnextChain(pNext); } - -void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - format = in_struct->format; - ycbcrModel = in_struct->ycbcrModel; - ycbcrRange = in_struct->ycbcrRange; - components = in_struct->components; - xChromaOffset = in_struct->xChromaOffset; - yChromaOffset = in_struct->yChromaOffset; - chromaFilter = in_struct->chromaFilter; - forceExplicitReconstruction = in_struct->forceExplicitReconstruction; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const safe_VkSamplerYcbcrConversionCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - format = copy_src->format; - ycbcrModel = copy_src->ycbcrModel; - ycbcrRange = copy_src->ycbcrRange; - components = copy_src->components; - xChromaOffset = copy_src->xChromaOffset; - yChromaOffset = copy_src->yChromaOffset; - chromaFilter = copy_src->chromaFilter; - forceExplicitReconstruction = copy_src->forceExplicitReconstruction; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), conversion(in_struct->conversion) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo() - : sType(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO), pNext(nullptr), conversion() {} - -safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& copy_src) { - sType = copy_src.sType; - conversion = copy_src.conversion; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSamplerYcbcrConversionInfo& safe_VkSamplerYcbcrConversionInfo::operator=(const safe_VkSamplerYcbcrConversionInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - conversion = copy_src.conversion; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSamplerYcbcrConversionInfo::~safe_VkSamplerYcbcrConversionInfo() { FreePnextChain(pNext); } - -void safe_VkSamplerYcbcrConversionInfo::initialize(const VkSamplerYcbcrConversionInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - conversion = in_struct->conversion; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSamplerYcbcrConversionInfo::initialize(const safe_VkSamplerYcbcrConversionInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - conversion = copy_src->conversion; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkBindImagePlaneMemoryInfo::safe_VkBindImagePlaneMemoryInfo(const VkBindImagePlaneMemoryInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), planeAspect(in_struct->planeAspect) { @@ -8292,233 +7478,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures( - const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), samplerYcbcrConversion(in_struct->samplerYcbcrConversion) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES), pNext(nullptr), samplerYcbcrConversion() {} - -safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures( - const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src) { - sType = copy_src.sType; - samplerYcbcrConversion = copy_src.samplerYcbcrConversion; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::operator=( - const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - samplerYcbcrConversion = copy_src.samplerYcbcrConversion; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize( - const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - samplerYcbcrConversion = in_struct->samplerYcbcrConversion; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize( - const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - samplerYcbcrConversion = copy_src->samplerYcbcrConversion; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties( - const VkSamplerYcbcrConversionImageFormatProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), combinedImageSamplerDescriptorCount(in_struct->combinedImageSamplerDescriptorCount) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties() - : sType(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES), - pNext(nullptr), - combinedImageSamplerDescriptorCount() {} - -safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties( - const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src) { - sType = copy_src.sType; - combinedImageSamplerDescriptorCount = copy_src.combinedImageSamplerDescriptorCount; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSamplerYcbcrConversionImageFormatProperties& safe_VkSamplerYcbcrConversionImageFormatProperties::operator=( - const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - combinedImageSamplerDescriptorCount = copy_src.combinedImageSamplerDescriptorCount; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSamplerYcbcrConversionImageFormatProperties::~safe_VkSamplerYcbcrConversionImageFormatProperties() { FreePnextChain(pNext); } - -void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - combinedImageSamplerDescriptorCount = in_struct->combinedImageSamplerDescriptorCount; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize( - const safe_VkSamplerYcbcrConversionImageFormatProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - combinedImageSamplerDescriptorCount = copy_src->combinedImageSamplerDescriptorCount; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo( - const VkDescriptorUpdateTemplateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - descriptorUpdateEntryCount(in_struct->descriptorUpdateEntryCount), - pDescriptorUpdateEntries(nullptr), - templateType(in_struct->templateType), - descriptorSetLayout(in_struct->descriptorSetLayout), - pipelineBindPoint(in_struct->pipelineBindPoint), - pipelineLayout(in_struct->pipelineLayout), - set(in_struct->set) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pDescriptorUpdateEntries) { - pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount]; - memcpy((void*)pDescriptorUpdateEntries, (void*)in_struct->pDescriptorUpdateEntries, - sizeof(VkDescriptorUpdateTemplateEntry) * in_struct->descriptorUpdateEntryCount); - } -} - -safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo() - : sType(VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO), - pNext(nullptr), - flags(), - descriptorUpdateEntryCount(), - pDescriptorUpdateEntries(nullptr), - templateType(), - descriptorSetLayout(), - pipelineBindPoint(), - pipelineLayout(), - set() {} - -safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo( - const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - descriptorUpdateEntryCount = copy_src.descriptorUpdateEntryCount; - pDescriptorUpdateEntries = nullptr; - templateType = copy_src.templateType; - descriptorSetLayout = copy_src.descriptorSetLayout; - pipelineBindPoint = copy_src.pipelineBindPoint; - pipelineLayout = copy_src.pipelineLayout; - set = copy_src.set; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pDescriptorUpdateEntries) { - pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[copy_src.descriptorUpdateEntryCount]; - memcpy((void*)pDescriptorUpdateEntries, (void*)copy_src.pDescriptorUpdateEntries, - sizeof(VkDescriptorUpdateTemplateEntry) * copy_src.descriptorUpdateEntryCount); - } -} - -safe_VkDescriptorUpdateTemplateCreateInfo& safe_VkDescriptorUpdateTemplateCreateInfo::operator=( - const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - descriptorUpdateEntryCount = copy_src.descriptorUpdateEntryCount; - pDescriptorUpdateEntries = nullptr; - templateType = copy_src.templateType; - descriptorSetLayout = copy_src.descriptorSetLayout; - pipelineBindPoint = copy_src.pipelineBindPoint; - pipelineLayout = copy_src.pipelineLayout; - set = copy_src.set; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pDescriptorUpdateEntries) { - pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[copy_src.descriptorUpdateEntryCount]; - memcpy((void*)pDescriptorUpdateEntries, (void*)copy_src.pDescriptorUpdateEntries, - sizeof(VkDescriptorUpdateTemplateEntry) * copy_src.descriptorUpdateEntryCount); - } - - return *this; -} - -safe_VkDescriptorUpdateTemplateCreateInfo::~safe_VkDescriptorUpdateTemplateCreateInfo() { - if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; - FreePnextChain(pNext); -} - -void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - descriptorUpdateEntryCount = in_struct->descriptorUpdateEntryCount; - pDescriptorUpdateEntries = nullptr; - templateType = in_struct->templateType; - descriptorSetLayout = in_struct->descriptorSetLayout; - pipelineBindPoint = in_struct->pipelineBindPoint; - pipelineLayout = in_struct->pipelineLayout; - set = in_struct->set; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pDescriptorUpdateEntries) { - pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount]; - memcpy((void*)pDescriptorUpdateEntries, (void*)in_struct->pDescriptorUpdateEntries, - sizeof(VkDescriptorUpdateTemplateEntry) * in_struct->descriptorUpdateEntryCount); - } -} - -void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - descriptorUpdateEntryCount = copy_src->descriptorUpdateEntryCount; - pDescriptorUpdateEntries = nullptr; - templateType = copy_src->templateType; - descriptorSetLayout = copy_src->descriptorSetLayout; - pipelineBindPoint = copy_src->pipelineBindPoint; - pipelineLayout = copy_src->pipelineLayout; - set = copy_src->set; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pDescriptorUpdateEntries) { - pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[copy_src->descriptorUpdateEntryCount]; - memcpy((void*)pDescriptorUpdateEntries, (void*)copy_src->pDescriptorUpdateEntries, - sizeof(VkDescriptorUpdateTemplateEntry) * copy_src->descriptorUpdateEntryCount); - } -} - safe_VkPhysicalDeviceExternalImageFormatInfo::safe_VkPhysicalDeviceExternalImageFormatInfo( const VkPhysicalDeviceExternalImageFormatInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), handleType(in_struct->handleType) { @@ -9281,6 +8240,328 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties( + const VkPhysicalDeviceSubgroupProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + subgroupSize(in_struct->subgroupSize), + supportedStages(in_struct->supportedStages), + supportedOperations(in_struct->supportedOperations), + quadOperationsInAllStages(in_struct->quadOperationsInAllStages) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES), + pNext(nullptr), + subgroupSize(), + supportedStages(), + supportedOperations(), + quadOperationsInAllStages() {} + +safe_VkPhysicalDeviceSubgroupProperties::safe_VkPhysicalDeviceSubgroupProperties( + const safe_VkPhysicalDeviceSubgroupProperties& copy_src) { + sType = copy_src.sType; + subgroupSize = copy_src.subgroupSize; + supportedStages = copy_src.supportedStages; + supportedOperations = copy_src.supportedOperations; + quadOperationsInAllStages = copy_src.quadOperationsInAllStages; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceSubgroupProperties& safe_VkPhysicalDeviceSubgroupProperties::operator=( + const safe_VkPhysicalDeviceSubgroupProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + subgroupSize = copy_src.subgroupSize; + supportedStages = copy_src.supportedStages; + supportedOperations = copy_src.supportedOperations; + quadOperationsInAllStages = copy_src.quadOperationsInAllStages; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSubgroupProperties::~safe_VkPhysicalDeviceSubgroupProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceSubgroupProperties::initialize(const VkPhysicalDeviceSubgroupProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + subgroupSize = in_struct->subgroupSize; + supportedStages = in_struct->supportedStages; + supportedOperations = in_struct->supportedOperations; + quadOperationsInAllStages = in_struct->quadOperationsInAllStages; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceSubgroupProperties::initialize(const safe_VkPhysicalDeviceSubgroupProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + subgroupSize = copy_src->subgroupSize; + supportedStages = copy_src->supportedStages; + supportedOperations = copy_src->supportedOperations; + quadOperationsInAllStages = copy_src->quadOperationsInAllStages; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures( + const VkPhysicalDevice16BitStorageFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + storageBuffer16BitAccess(in_struct->storageBuffer16BitAccess), + uniformAndStorageBuffer16BitAccess(in_struct->uniformAndStorageBuffer16BitAccess), + storagePushConstant16(in_struct->storagePushConstant16), + storageInputOutput16(in_struct->storageInputOutput16) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES), + pNext(nullptr), + storageBuffer16BitAccess(), + uniformAndStorageBuffer16BitAccess(), + storagePushConstant16(), + storageInputOutput16() {} + +safe_VkPhysicalDevice16BitStorageFeatures::safe_VkPhysicalDevice16BitStorageFeatures( + const safe_VkPhysicalDevice16BitStorageFeatures& copy_src) { + sType = copy_src.sType; + storageBuffer16BitAccess = copy_src.storageBuffer16BitAccess; + uniformAndStorageBuffer16BitAccess = copy_src.uniformAndStorageBuffer16BitAccess; + storagePushConstant16 = copy_src.storagePushConstant16; + storageInputOutput16 = copy_src.storageInputOutput16; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevice16BitStorageFeatures& safe_VkPhysicalDevice16BitStorageFeatures::operator=( + const safe_VkPhysicalDevice16BitStorageFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + storageBuffer16BitAccess = copy_src.storageBuffer16BitAccess; + uniformAndStorageBuffer16BitAccess = copy_src.uniformAndStorageBuffer16BitAccess; + storagePushConstant16 = copy_src.storagePushConstant16; + storageInputOutput16 = copy_src.storageInputOutput16; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevice16BitStorageFeatures::~safe_VkPhysicalDevice16BitStorageFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const VkPhysicalDevice16BitStorageFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + storageBuffer16BitAccess = in_struct->storageBuffer16BitAccess; + uniformAndStorageBuffer16BitAccess = in_struct->uniformAndStorageBuffer16BitAccess; + storagePushConstant16 = in_struct->storagePushConstant16; + storageInputOutput16 = in_struct->storageInputOutput16; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevice16BitStorageFeatures::initialize(const safe_VkPhysicalDevice16BitStorageFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + storageBuffer16BitAccess = copy_src->storageBuffer16BitAccess; + uniformAndStorageBuffer16BitAccess = copy_src->uniformAndStorageBuffer16BitAccess; + storagePushConstant16 = copy_src->storagePushConstant16; + storageInputOutput16 = copy_src->storageInputOutput16; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures( + const VkPhysicalDeviceVariablePointersFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + variablePointersStorageBuffer(in_struct->variablePointersStorageBuffer), + variablePointers(in_struct->variablePointers) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES), + pNext(nullptr), + variablePointersStorageBuffer(), + variablePointers() {} + +safe_VkPhysicalDeviceVariablePointersFeatures::safe_VkPhysicalDeviceVariablePointersFeatures( + const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src) { + sType = copy_src.sType; + variablePointersStorageBuffer = copy_src.variablePointersStorageBuffer; + variablePointers = copy_src.variablePointers; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVariablePointersFeatures& safe_VkPhysicalDeviceVariablePointersFeatures::operator=( + const safe_VkPhysicalDeviceVariablePointersFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + variablePointersStorageBuffer = copy_src.variablePointersStorageBuffer; + variablePointers = copy_src.variablePointers; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVariablePointersFeatures::~safe_VkPhysicalDeviceVariablePointersFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const VkPhysicalDeviceVariablePointersFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + variablePointersStorageBuffer = in_struct->variablePointersStorageBuffer; + variablePointers = in_struct->variablePointers; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVariablePointersFeatures::initialize(const safe_VkPhysicalDeviceVariablePointersFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + variablePointersStorageBuffer = copy_src->variablePointersStorageBuffer; + variablePointers = copy_src->variablePointers; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo( + const VkDescriptorUpdateTemplateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + descriptorUpdateEntryCount(in_struct->descriptorUpdateEntryCount), + pDescriptorUpdateEntries(nullptr), + templateType(in_struct->templateType), + descriptorSetLayout(in_struct->descriptorSetLayout), + pipelineBindPoint(in_struct->pipelineBindPoint), + pipelineLayout(in_struct->pipelineLayout), + set(in_struct->set) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDescriptorUpdateEntries) { + pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount]; + memcpy((void*)pDescriptorUpdateEntries, (void*)in_struct->pDescriptorUpdateEntries, + sizeof(VkDescriptorUpdateTemplateEntry) * in_struct->descriptorUpdateEntryCount); + } +} + +safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo() + : sType(VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO), + pNext(nullptr), + flags(), + descriptorUpdateEntryCount(), + pDescriptorUpdateEntries(nullptr), + templateType(), + descriptorSetLayout(), + pipelineBindPoint(), + pipelineLayout(), + set() {} + +safe_VkDescriptorUpdateTemplateCreateInfo::safe_VkDescriptorUpdateTemplateCreateInfo( + const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + descriptorUpdateEntryCount = copy_src.descriptorUpdateEntryCount; + pDescriptorUpdateEntries = nullptr; + templateType = copy_src.templateType; + descriptorSetLayout = copy_src.descriptorSetLayout; + pipelineBindPoint = copy_src.pipelineBindPoint; + pipelineLayout = copy_src.pipelineLayout; + set = copy_src.set; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDescriptorUpdateEntries) { + pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[copy_src.descriptorUpdateEntryCount]; + memcpy((void*)pDescriptorUpdateEntries, (void*)copy_src.pDescriptorUpdateEntries, + sizeof(VkDescriptorUpdateTemplateEntry) * copy_src.descriptorUpdateEntryCount); + } +} + +safe_VkDescriptorUpdateTemplateCreateInfo& safe_VkDescriptorUpdateTemplateCreateInfo::operator=( + const safe_VkDescriptorUpdateTemplateCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + descriptorUpdateEntryCount = copy_src.descriptorUpdateEntryCount; + pDescriptorUpdateEntries = nullptr; + templateType = copy_src.templateType; + descriptorSetLayout = copy_src.descriptorSetLayout; + pipelineBindPoint = copy_src.pipelineBindPoint; + pipelineLayout = copy_src.pipelineLayout; + set = copy_src.set; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDescriptorUpdateEntries) { + pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[copy_src.descriptorUpdateEntryCount]; + memcpy((void*)pDescriptorUpdateEntries, (void*)copy_src.pDescriptorUpdateEntries, + sizeof(VkDescriptorUpdateTemplateEntry) * copy_src.descriptorUpdateEntryCount); + } + + return *this; +} + +safe_VkDescriptorUpdateTemplateCreateInfo::~safe_VkDescriptorUpdateTemplateCreateInfo() { + if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; + FreePnextChain(pNext); +} + +void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const VkDescriptorUpdateTemplateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDescriptorUpdateEntries) delete[] pDescriptorUpdateEntries; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + descriptorUpdateEntryCount = in_struct->descriptorUpdateEntryCount; + pDescriptorUpdateEntries = nullptr; + templateType = in_struct->templateType; + descriptorSetLayout = in_struct->descriptorSetLayout; + pipelineBindPoint = in_struct->pipelineBindPoint; + pipelineLayout = in_struct->pipelineLayout; + set = in_struct->set; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pDescriptorUpdateEntries) { + pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[in_struct->descriptorUpdateEntryCount]; + memcpy((void*)pDescriptorUpdateEntries, (void*)in_struct->pDescriptorUpdateEntries, + sizeof(VkDescriptorUpdateTemplateEntry) * in_struct->descriptorUpdateEntryCount); + } +} + +void safe_VkDescriptorUpdateTemplateCreateInfo::initialize(const safe_VkDescriptorUpdateTemplateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + descriptorUpdateEntryCount = copy_src->descriptorUpdateEntryCount; + pDescriptorUpdateEntries = nullptr; + templateType = copy_src->templateType; + descriptorSetLayout = copy_src->descriptorSetLayout; + pipelineBindPoint = copy_src->pipelineBindPoint; + pipelineLayout = copy_src->pipelineLayout; + set = copy_src->set; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pDescriptorUpdateEntries) { + pDescriptorUpdateEntries = new VkDescriptorUpdateTemplateEntry[copy_src->descriptorUpdateEntryCount]; + memcpy((void*)pDescriptorUpdateEntries, (void*)copy_src->pDescriptorUpdateEntries, + sizeof(VkDescriptorUpdateTemplateEntry) * copy_src->descriptorUpdateEntryCount); + } +} + safe_VkPhysicalDeviceMaintenance3Properties::safe_VkPhysicalDeviceMaintenance3Properties( const VkPhysicalDeviceMaintenance3Properties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -9384,6 +8665,815 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo( + const VkSamplerYcbcrConversionCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + format(in_struct->format), + ycbcrModel(in_struct->ycbcrModel), + ycbcrRange(in_struct->ycbcrRange), + components(in_struct->components), + xChromaOffset(in_struct->xChromaOffset), + yChromaOffset(in_struct->yChromaOffset), + chromaFilter(in_struct->chromaFilter), + forceExplicitReconstruction(in_struct->forceExplicitReconstruction) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo() + : sType(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO), + pNext(nullptr), + format(), + ycbcrModel(), + ycbcrRange(), + components(), + xChromaOffset(), + yChromaOffset(), + chromaFilter(), + forceExplicitReconstruction() {} + +safe_VkSamplerYcbcrConversionCreateInfo::safe_VkSamplerYcbcrConversionCreateInfo( + const safe_VkSamplerYcbcrConversionCreateInfo& copy_src) { + sType = copy_src.sType; + format = copy_src.format; + ycbcrModel = copy_src.ycbcrModel; + ycbcrRange = copy_src.ycbcrRange; + components = copy_src.components; + xChromaOffset = copy_src.xChromaOffset; + yChromaOffset = copy_src.yChromaOffset; + chromaFilter = copy_src.chromaFilter; + forceExplicitReconstruction = copy_src.forceExplicitReconstruction; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSamplerYcbcrConversionCreateInfo& safe_VkSamplerYcbcrConversionCreateInfo::operator=( + const safe_VkSamplerYcbcrConversionCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + format = copy_src.format; + ycbcrModel = copy_src.ycbcrModel; + ycbcrRange = copy_src.ycbcrRange; + components = copy_src.components; + xChromaOffset = copy_src.xChromaOffset; + yChromaOffset = copy_src.yChromaOffset; + chromaFilter = copy_src.chromaFilter; + forceExplicitReconstruction = copy_src.forceExplicitReconstruction; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSamplerYcbcrConversionCreateInfo::~safe_VkSamplerYcbcrConversionCreateInfo() { FreePnextChain(pNext); } + +void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const VkSamplerYcbcrConversionCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + format = in_struct->format; + ycbcrModel = in_struct->ycbcrModel; + ycbcrRange = in_struct->ycbcrRange; + components = in_struct->components; + xChromaOffset = in_struct->xChromaOffset; + yChromaOffset = in_struct->yChromaOffset; + chromaFilter = in_struct->chromaFilter; + forceExplicitReconstruction = in_struct->forceExplicitReconstruction; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSamplerYcbcrConversionCreateInfo::initialize(const safe_VkSamplerYcbcrConversionCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + format = copy_src->format; + ycbcrModel = copy_src->ycbcrModel; + ycbcrRange = copy_src->ycbcrRange; + components = copy_src->components; + xChromaOffset = copy_src->xChromaOffset; + yChromaOffset = copy_src->yChromaOffset; + chromaFilter = copy_src->chromaFilter; + forceExplicitReconstruction = copy_src->forceExplicitReconstruction; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const VkSamplerYcbcrConversionInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), conversion(in_struct->conversion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo() + : sType(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO), pNext(nullptr), conversion() {} + +safe_VkSamplerYcbcrConversionInfo::safe_VkSamplerYcbcrConversionInfo(const safe_VkSamplerYcbcrConversionInfo& copy_src) { + sType = copy_src.sType; + conversion = copy_src.conversion; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSamplerYcbcrConversionInfo& safe_VkSamplerYcbcrConversionInfo::operator=(const safe_VkSamplerYcbcrConversionInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + conversion = copy_src.conversion; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSamplerYcbcrConversionInfo::~safe_VkSamplerYcbcrConversionInfo() { FreePnextChain(pNext); } + +void safe_VkSamplerYcbcrConversionInfo::initialize(const VkSamplerYcbcrConversionInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + conversion = in_struct->conversion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSamplerYcbcrConversionInfo::initialize(const safe_VkSamplerYcbcrConversionInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + conversion = copy_src->conversion; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures( + const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), samplerYcbcrConversion(in_struct->samplerYcbcrConversion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES), pNext(nullptr), samplerYcbcrConversion() {} + +safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures( + const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src) { + sType = copy_src.sType; + samplerYcbcrConversion = copy_src.samplerYcbcrConversion; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::operator=( + const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + samplerYcbcrConversion = copy_src.samplerYcbcrConversion; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::~safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize( + const VkPhysicalDeviceSamplerYcbcrConversionFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + samplerYcbcrConversion = in_struct->samplerYcbcrConversion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures::initialize( + const safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + samplerYcbcrConversion = copy_src->samplerYcbcrConversion; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties( + const VkSamplerYcbcrConversionImageFormatProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), combinedImageSamplerDescriptorCount(in_struct->combinedImageSamplerDescriptorCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties() + : sType(VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES), + pNext(nullptr), + combinedImageSamplerDescriptorCount() {} + +safe_VkSamplerYcbcrConversionImageFormatProperties::safe_VkSamplerYcbcrConversionImageFormatProperties( + const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src) { + sType = copy_src.sType; + combinedImageSamplerDescriptorCount = copy_src.combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSamplerYcbcrConversionImageFormatProperties& safe_VkSamplerYcbcrConversionImageFormatProperties::operator=( + const safe_VkSamplerYcbcrConversionImageFormatProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + combinedImageSamplerDescriptorCount = copy_src.combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSamplerYcbcrConversionImageFormatProperties::~safe_VkSamplerYcbcrConversionImageFormatProperties() { FreePnextChain(pNext); } + +void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize(const VkSamplerYcbcrConversionImageFormatProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + combinedImageSamplerDescriptorCount = in_struct->combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSamplerYcbcrConversionImageFormatProperties::initialize( + const safe_VkSamplerYcbcrConversionImageFormatProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + combinedImageSamplerDescriptorCount = copy_src->combinedImageSamplerDescriptorCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo(const VkDeviceGroupRenderPassBeginInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + deviceMask(in_struct->deviceMask), + deviceRenderAreaCount(in_struct->deviceRenderAreaCount), + pDeviceRenderAreas(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDeviceRenderAreas) { + pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount]; + memcpy((void*)pDeviceRenderAreas, (void*)in_struct->pDeviceRenderAreas, + sizeof(VkRect2D) * in_struct->deviceRenderAreaCount); + } +} + +safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo() + : sType(VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO), + pNext(nullptr), + deviceMask(), + deviceRenderAreaCount(), + pDeviceRenderAreas(nullptr) {} + +safe_VkDeviceGroupRenderPassBeginInfo::safe_VkDeviceGroupRenderPassBeginInfo( + const safe_VkDeviceGroupRenderPassBeginInfo& copy_src) { + sType = copy_src.sType; + deviceMask = copy_src.deviceMask; + deviceRenderAreaCount = copy_src.deviceRenderAreaCount; + pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDeviceRenderAreas) { + pDeviceRenderAreas = new VkRect2D[copy_src.deviceRenderAreaCount]; + memcpy((void*)pDeviceRenderAreas, (void*)copy_src.pDeviceRenderAreas, sizeof(VkRect2D) * copy_src.deviceRenderAreaCount); + } +} + +safe_VkDeviceGroupRenderPassBeginInfo& safe_VkDeviceGroupRenderPassBeginInfo::operator=( + const safe_VkDeviceGroupRenderPassBeginInfo& copy_src) { + if (©_src == this) return *this; + + if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; + FreePnextChain(pNext); + + sType = copy_src.sType; + deviceMask = copy_src.deviceMask; + deviceRenderAreaCount = copy_src.deviceRenderAreaCount; + pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDeviceRenderAreas) { + pDeviceRenderAreas = new VkRect2D[copy_src.deviceRenderAreaCount]; + memcpy((void*)pDeviceRenderAreas, (void*)copy_src.pDeviceRenderAreas, sizeof(VkRect2D) * copy_src.deviceRenderAreaCount); + } + + return *this; +} + +safe_VkDeviceGroupRenderPassBeginInfo::~safe_VkDeviceGroupRenderPassBeginInfo() { + if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; + FreePnextChain(pNext); +} + +void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const VkDeviceGroupRenderPassBeginInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDeviceRenderAreas) delete[] pDeviceRenderAreas; + FreePnextChain(pNext); + sType = in_struct->sType; + deviceMask = in_struct->deviceMask; + deviceRenderAreaCount = in_struct->deviceRenderAreaCount; + pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pDeviceRenderAreas) { + pDeviceRenderAreas = new VkRect2D[in_struct->deviceRenderAreaCount]; + memcpy((void*)pDeviceRenderAreas, (void*)in_struct->pDeviceRenderAreas, + sizeof(VkRect2D) * in_struct->deviceRenderAreaCount); + } +} + +void safe_VkDeviceGroupRenderPassBeginInfo::initialize(const safe_VkDeviceGroupRenderPassBeginInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + deviceMask = copy_src->deviceMask; + deviceRenderAreaCount = copy_src->deviceRenderAreaCount; + pDeviceRenderAreas = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pDeviceRenderAreas) { + pDeviceRenderAreas = new VkRect2D[copy_src->deviceRenderAreaCount]; + memcpy((void*)pDeviceRenderAreas, (void*)copy_src->pDeviceRenderAreas, sizeof(VkRect2D) * copy_src->deviceRenderAreaCount); + } +} + +safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties( + const VkPhysicalDevicePointClippingProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pointClippingBehavior(in_struct->pointClippingBehavior) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES), pNext(nullptr), pointClippingBehavior() {} + +safe_VkPhysicalDevicePointClippingProperties::safe_VkPhysicalDevicePointClippingProperties( + const safe_VkPhysicalDevicePointClippingProperties& copy_src) { + sType = copy_src.sType; + pointClippingBehavior = copy_src.pointClippingBehavior; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePointClippingProperties& safe_VkPhysicalDevicePointClippingProperties::operator=( + const safe_VkPhysicalDevicePointClippingProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pointClippingBehavior = copy_src.pointClippingBehavior; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePointClippingProperties::~safe_VkPhysicalDevicePointClippingProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePointClippingProperties::initialize(const VkPhysicalDevicePointClippingProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pointClippingBehavior = in_struct->pointClippingBehavior; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePointClippingProperties::initialize(const safe_VkPhysicalDevicePointClippingProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pointClippingBehavior = copy_src->pointClippingBehavior; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo( + const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), aspectReferenceCount(in_struct->aspectReferenceCount), pAspectReferences(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pAspectReferences) { + pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount]; + memcpy((void*)pAspectReferences, (void*)in_struct->pAspectReferences, + sizeof(VkInputAttachmentAspectReference) * in_struct->aspectReferenceCount); + } +} + +safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO), + pNext(nullptr), + aspectReferenceCount(), + pAspectReferences(nullptr) {} + +safe_VkRenderPassInputAttachmentAspectCreateInfo::safe_VkRenderPassInputAttachmentAspectCreateInfo( + const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src) { + sType = copy_src.sType; + aspectReferenceCount = copy_src.aspectReferenceCount; + pAspectReferences = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pAspectReferences) { + pAspectReferences = new VkInputAttachmentAspectReference[copy_src.aspectReferenceCount]; + memcpy((void*)pAspectReferences, (void*)copy_src.pAspectReferences, + sizeof(VkInputAttachmentAspectReference) * copy_src.aspectReferenceCount); + } +} + +safe_VkRenderPassInputAttachmentAspectCreateInfo& safe_VkRenderPassInputAttachmentAspectCreateInfo::operator=( + const safe_VkRenderPassInputAttachmentAspectCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pAspectReferences) delete[] pAspectReferences; + FreePnextChain(pNext); + + sType = copy_src.sType; + aspectReferenceCount = copy_src.aspectReferenceCount; + pAspectReferences = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pAspectReferences) { + pAspectReferences = new VkInputAttachmentAspectReference[copy_src.aspectReferenceCount]; + memcpy((void*)pAspectReferences, (void*)copy_src.pAspectReferences, + sizeof(VkInputAttachmentAspectReference) * copy_src.aspectReferenceCount); + } + + return *this; +} + +safe_VkRenderPassInputAttachmentAspectCreateInfo::~safe_VkRenderPassInputAttachmentAspectCreateInfo() { + if (pAspectReferences) delete[] pAspectReferences; + FreePnextChain(pNext); +} + +void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const VkRenderPassInputAttachmentAspectCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pAspectReferences) delete[] pAspectReferences; + FreePnextChain(pNext); + sType = in_struct->sType; + aspectReferenceCount = in_struct->aspectReferenceCount; + pAspectReferences = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pAspectReferences) { + pAspectReferences = new VkInputAttachmentAspectReference[in_struct->aspectReferenceCount]; + memcpy((void*)pAspectReferences, (void*)in_struct->pAspectReferences, + sizeof(VkInputAttachmentAspectReference) * in_struct->aspectReferenceCount); + } +} + +void safe_VkRenderPassInputAttachmentAspectCreateInfo::initialize(const safe_VkRenderPassInputAttachmentAspectCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + aspectReferenceCount = copy_src->aspectReferenceCount; + pAspectReferences = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pAspectReferences) { + pAspectReferences = new VkInputAttachmentAspectReference[copy_src->aspectReferenceCount]; + memcpy((void*)pAspectReferences, (void*)copy_src->pAspectReferences, + sizeof(VkInputAttachmentAspectReference) * copy_src->aspectReferenceCount); + } +} + +safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo( + const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), domainOrigin(in_struct->domainOrigin) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO), pNext(nullptr), domainOrigin() {} + +safe_VkPipelineTessellationDomainOriginStateCreateInfo::safe_VkPipelineTessellationDomainOriginStateCreateInfo( + const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src) { + sType = copy_src.sType; + domainOrigin = copy_src.domainOrigin; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineTessellationDomainOriginStateCreateInfo& safe_VkPipelineTessellationDomainOriginStateCreateInfo::operator=( + const safe_VkPipelineTessellationDomainOriginStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + domainOrigin = copy_src.domainOrigin; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineTessellationDomainOriginStateCreateInfo::~safe_VkPipelineTessellationDomainOriginStateCreateInfo() { + FreePnextChain(pNext); +} + +void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize( + const VkPipelineTessellationDomainOriginStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + domainOrigin = in_struct->domainOrigin; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineTessellationDomainOriginStateCreateInfo::initialize( + const safe_VkPipelineTessellationDomainOriginStateCreateInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + domainOrigin = copy_src->domainOrigin; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const VkRenderPassMultiviewCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + subpassCount(in_struct->subpassCount), + pViewMasks(nullptr), + dependencyCount(in_struct->dependencyCount), + pViewOffsets(nullptr), + correlationMaskCount(in_struct->correlationMaskCount), + pCorrelationMasks(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pViewMasks) { + pViewMasks = new uint32_t[in_struct->subpassCount]; + memcpy((void*)pViewMasks, (void*)in_struct->pViewMasks, sizeof(uint32_t) * in_struct->subpassCount); + } + + if (in_struct->pViewOffsets) { + pViewOffsets = new int32_t[in_struct->dependencyCount]; + memcpy((void*)pViewOffsets, (void*)in_struct->pViewOffsets, sizeof(int32_t) * in_struct->dependencyCount); + } + + if (in_struct->pCorrelationMasks) { + pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount]; + memcpy((void*)pCorrelationMasks, (void*)in_struct->pCorrelationMasks, sizeof(uint32_t) * in_struct->correlationMaskCount); + } +} + +safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO), + pNext(nullptr), + subpassCount(), + pViewMasks(nullptr), + dependencyCount(), + pViewOffsets(nullptr), + correlationMaskCount(), + pCorrelationMasks(nullptr) {} + +safe_VkRenderPassMultiviewCreateInfo::safe_VkRenderPassMultiviewCreateInfo(const safe_VkRenderPassMultiviewCreateInfo& copy_src) { + sType = copy_src.sType; + subpassCount = copy_src.subpassCount; + pViewMasks = nullptr; + dependencyCount = copy_src.dependencyCount; + pViewOffsets = nullptr; + correlationMaskCount = copy_src.correlationMaskCount; + pCorrelationMasks = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pViewMasks) { + pViewMasks = new uint32_t[copy_src.subpassCount]; + memcpy((void*)pViewMasks, (void*)copy_src.pViewMasks, sizeof(uint32_t) * copy_src.subpassCount); + } + + if (copy_src.pViewOffsets) { + pViewOffsets = new int32_t[copy_src.dependencyCount]; + memcpy((void*)pViewOffsets, (void*)copy_src.pViewOffsets, sizeof(int32_t) * copy_src.dependencyCount); + } + + if (copy_src.pCorrelationMasks) { + pCorrelationMasks = new uint32_t[copy_src.correlationMaskCount]; + memcpy((void*)pCorrelationMasks, (void*)copy_src.pCorrelationMasks, sizeof(uint32_t) * copy_src.correlationMaskCount); + } +} + +safe_VkRenderPassMultiviewCreateInfo& safe_VkRenderPassMultiviewCreateInfo::operator=( + const safe_VkRenderPassMultiviewCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pViewMasks) delete[] pViewMasks; + if (pViewOffsets) delete[] pViewOffsets; + if (pCorrelationMasks) delete[] pCorrelationMasks; + FreePnextChain(pNext); + + sType = copy_src.sType; + subpassCount = copy_src.subpassCount; + pViewMasks = nullptr; + dependencyCount = copy_src.dependencyCount; + pViewOffsets = nullptr; + correlationMaskCount = copy_src.correlationMaskCount; + pCorrelationMasks = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pViewMasks) { + pViewMasks = new uint32_t[copy_src.subpassCount]; + memcpy((void*)pViewMasks, (void*)copy_src.pViewMasks, sizeof(uint32_t) * copy_src.subpassCount); + } + + if (copy_src.pViewOffsets) { + pViewOffsets = new int32_t[copy_src.dependencyCount]; + memcpy((void*)pViewOffsets, (void*)copy_src.pViewOffsets, sizeof(int32_t) * copy_src.dependencyCount); + } + + if (copy_src.pCorrelationMasks) { + pCorrelationMasks = new uint32_t[copy_src.correlationMaskCount]; + memcpy((void*)pCorrelationMasks, (void*)copy_src.pCorrelationMasks, sizeof(uint32_t) * copy_src.correlationMaskCount); + } + + return *this; +} + +safe_VkRenderPassMultiviewCreateInfo::~safe_VkRenderPassMultiviewCreateInfo() { + if (pViewMasks) delete[] pViewMasks; + if (pViewOffsets) delete[] pViewOffsets; + if (pCorrelationMasks) delete[] pCorrelationMasks; + FreePnextChain(pNext); +} + +void safe_VkRenderPassMultiviewCreateInfo::initialize(const VkRenderPassMultiviewCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pViewMasks) delete[] pViewMasks; + if (pViewOffsets) delete[] pViewOffsets; + if (pCorrelationMasks) delete[] pCorrelationMasks; + FreePnextChain(pNext); + sType = in_struct->sType; + subpassCount = in_struct->subpassCount; + pViewMasks = nullptr; + dependencyCount = in_struct->dependencyCount; + pViewOffsets = nullptr; + correlationMaskCount = in_struct->correlationMaskCount; + pCorrelationMasks = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pViewMasks) { + pViewMasks = new uint32_t[in_struct->subpassCount]; + memcpy((void*)pViewMasks, (void*)in_struct->pViewMasks, sizeof(uint32_t) * in_struct->subpassCount); + } + + if (in_struct->pViewOffsets) { + pViewOffsets = new int32_t[in_struct->dependencyCount]; + memcpy((void*)pViewOffsets, (void*)in_struct->pViewOffsets, sizeof(int32_t) * in_struct->dependencyCount); + } + + if (in_struct->pCorrelationMasks) { + pCorrelationMasks = new uint32_t[in_struct->correlationMaskCount]; + memcpy((void*)pCorrelationMasks, (void*)in_struct->pCorrelationMasks, sizeof(uint32_t) * in_struct->correlationMaskCount); + } +} + +void safe_VkRenderPassMultiviewCreateInfo::initialize(const safe_VkRenderPassMultiviewCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + subpassCount = copy_src->subpassCount; + pViewMasks = nullptr; + dependencyCount = copy_src->dependencyCount; + pViewOffsets = nullptr; + correlationMaskCount = copy_src->correlationMaskCount; + pCorrelationMasks = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pViewMasks) { + pViewMasks = new uint32_t[copy_src->subpassCount]; + memcpy((void*)pViewMasks, (void*)copy_src->pViewMasks, sizeof(uint32_t) * copy_src->subpassCount); + } + + if (copy_src->pViewOffsets) { + pViewOffsets = new int32_t[copy_src->dependencyCount]; + memcpy((void*)pViewOffsets, (void*)copy_src->pViewOffsets, sizeof(int32_t) * copy_src->dependencyCount); + } + + if (copy_src->pCorrelationMasks) { + pCorrelationMasks = new uint32_t[copy_src->correlationMaskCount]; + memcpy((void*)pCorrelationMasks, (void*)copy_src->pCorrelationMasks, sizeof(uint32_t) * copy_src->correlationMaskCount); + } +} + +safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures(const VkPhysicalDeviceMultiviewFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + multiview(in_struct->multiview), + multiviewGeometryShader(in_struct->multiviewGeometryShader), + multiviewTessellationShader(in_struct->multiviewTessellationShader) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES), + pNext(nullptr), + multiview(), + multiviewGeometryShader(), + multiviewTessellationShader() {} + +safe_VkPhysicalDeviceMultiviewFeatures::safe_VkPhysicalDeviceMultiviewFeatures( + const safe_VkPhysicalDeviceMultiviewFeatures& copy_src) { + sType = copy_src.sType; + multiview = copy_src.multiview; + multiviewGeometryShader = copy_src.multiviewGeometryShader; + multiviewTessellationShader = copy_src.multiviewTessellationShader; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMultiviewFeatures& safe_VkPhysicalDeviceMultiviewFeatures::operator=( + const safe_VkPhysicalDeviceMultiviewFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + multiview = copy_src.multiview; + multiviewGeometryShader = copy_src.multiviewGeometryShader; + multiviewTessellationShader = copy_src.multiviewTessellationShader; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMultiviewFeatures::~safe_VkPhysicalDeviceMultiviewFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const VkPhysicalDeviceMultiviewFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + multiview = in_struct->multiview; + multiviewGeometryShader = in_struct->multiviewGeometryShader; + multiviewTessellationShader = in_struct->multiviewTessellationShader; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMultiviewFeatures::initialize(const safe_VkPhysicalDeviceMultiviewFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + multiview = copy_src->multiview; + multiviewGeometryShader = copy_src->multiviewGeometryShader; + multiviewTessellationShader = copy_src->multiviewTessellationShader; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties( + const VkPhysicalDeviceMultiviewProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + maxMultiviewViewCount(in_struct->maxMultiviewViewCount), + maxMultiviewInstanceIndex(in_struct->maxMultiviewInstanceIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES), + pNext(nullptr), + maxMultiviewViewCount(), + maxMultiviewInstanceIndex() {} + +safe_VkPhysicalDeviceMultiviewProperties::safe_VkPhysicalDeviceMultiviewProperties( + const safe_VkPhysicalDeviceMultiviewProperties& copy_src) { + sType = copy_src.sType; + maxMultiviewViewCount = copy_src.maxMultiviewViewCount; + maxMultiviewInstanceIndex = copy_src.maxMultiviewInstanceIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMultiviewProperties& safe_VkPhysicalDeviceMultiviewProperties::operator=( + const safe_VkPhysicalDeviceMultiviewProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxMultiviewViewCount = copy_src.maxMultiviewViewCount; + maxMultiviewInstanceIndex = copy_src.maxMultiviewInstanceIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMultiviewProperties::~safe_VkPhysicalDeviceMultiviewProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMultiviewProperties::initialize(const VkPhysicalDeviceMultiviewProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxMultiviewViewCount = in_struct->maxMultiviewViewCount; + maxMultiviewInstanceIndex = in_struct->maxMultiviewInstanceIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMultiviewProperties::initialize(const safe_VkPhysicalDeviceMultiviewProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxMultiviewViewCount = copy_src->maxMultiviewViewCount; + maxMultiviewInstanceIndex = copy_src->maxMultiviewInstanceIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceShaderDrawParametersFeatures::safe_VkPhysicalDeviceShaderDrawParametersFeatures( const VkPhysicalDeviceShaderDrawParametersFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), shaderDrawParameters(in_struct->shaderDrawParameters) { @@ -9432,6 +9522,98 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceDriverProperties::safe_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), driverID(in_struct->driverID), conformanceVersion(in_struct->conformanceVersion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { + driverName[i] = in_struct->driverName[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { + driverInfo[i] = in_struct->driverInfo[i]; + } +} + +safe_VkPhysicalDeviceDriverProperties::safe_VkPhysicalDeviceDriverProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES), pNext(nullptr), driverID(), conformanceVersion() {} + +safe_VkPhysicalDeviceDriverProperties::safe_VkPhysicalDeviceDriverProperties( + const safe_VkPhysicalDeviceDriverProperties& copy_src) { + sType = copy_src.sType; + driverID = copy_src.driverID; + conformanceVersion = copy_src.conformanceVersion; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { + driverName[i] = copy_src.driverName[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { + driverInfo[i] = copy_src.driverInfo[i]; + } +} + +safe_VkPhysicalDeviceDriverProperties& safe_VkPhysicalDeviceDriverProperties::operator=( + const safe_VkPhysicalDeviceDriverProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + driverID = copy_src.driverID; + conformanceVersion = copy_src.conformanceVersion; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { + driverName[i] = copy_src.driverName[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { + driverInfo[i] = copy_src.driverInfo[i]; + } + + return *this; +} + +safe_VkPhysicalDeviceDriverProperties::~safe_VkPhysicalDeviceDriverProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceDriverProperties::initialize(const VkPhysicalDeviceDriverProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + driverID = in_struct->driverID; + conformanceVersion = in_struct->conformanceVersion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { + driverName[i] = in_struct->driverName[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { + driverInfo[i] = in_struct->driverInfo[i]; + } +} + +void safe_VkPhysicalDeviceDriverProperties::initialize(const safe_VkPhysicalDeviceDriverProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + driverID = copy_src->driverID; + conformanceVersion = copy_src->conformanceVersion; + pNext = SafePnextCopy(copy_src->pNext); + + for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { + driverName[i] = copy_src->driverName[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { + driverInfo[i] = copy_src->driverInfo[i]; + } +} + safe_VkPhysicalDeviceVulkan11Features::safe_VkPhysicalDeviceVulkan11Features(const VkPhysicalDeviceVulkan11Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -10517,810 +10699,827 @@ } } -safe_VkAttachmentDescription2::safe_VkAttachmentDescription2(const VkAttachmentDescription2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) +safe_VkPhysicalDeviceVulkanMemoryModelFeatures::safe_VkPhysicalDeviceVulkanMemoryModelFeatures( + const VkPhysicalDeviceVulkanMemoryModelFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), - flags(in_struct->flags), - format(in_struct->format), - samples(in_struct->samples), - loadOp(in_struct->loadOp), - storeOp(in_struct->storeOp), - stencilLoadOp(in_struct->stencilLoadOp), - stencilStoreOp(in_struct->stencilStoreOp), - initialLayout(in_struct->initialLayout), - finalLayout(in_struct->finalLayout) { + vulkanMemoryModel(in_struct->vulkanMemoryModel), + vulkanMemoryModelDeviceScope(in_struct->vulkanMemoryModelDeviceScope), + vulkanMemoryModelAvailabilityVisibilityChains(in_struct->vulkanMemoryModelAvailabilityVisibilityChains) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } } -safe_VkAttachmentDescription2::safe_VkAttachmentDescription2() - : sType(VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2), +safe_VkPhysicalDeviceVulkanMemoryModelFeatures::safe_VkPhysicalDeviceVulkanMemoryModelFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES), pNext(nullptr), - flags(), - format(), - samples(), - loadOp(), - storeOp(), - stencilLoadOp(), - stencilStoreOp(), - initialLayout(), - finalLayout() {} + vulkanMemoryModel(), + vulkanMemoryModelDeviceScope(), + vulkanMemoryModelAvailabilityVisibilityChains() {} -safe_VkAttachmentDescription2::safe_VkAttachmentDescription2(const safe_VkAttachmentDescription2& copy_src) { +safe_VkPhysicalDeviceVulkanMemoryModelFeatures::safe_VkPhysicalDeviceVulkanMemoryModelFeatures( + const safe_VkPhysicalDeviceVulkanMemoryModelFeatures& copy_src) { sType = copy_src.sType; - flags = copy_src.flags; - format = copy_src.format; - samples = copy_src.samples; - loadOp = copy_src.loadOp; - storeOp = copy_src.storeOp; - stencilLoadOp = copy_src.stencilLoadOp; - stencilStoreOp = copy_src.stencilStoreOp; - initialLayout = copy_src.initialLayout; - finalLayout = copy_src.finalLayout; + vulkanMemoryModel = copy_src.vulkanMemoryModel; + vulkanMemoryModelDeviceScope = copy_src.vulkanMemoryModelDeviceScope; + vulkanMemoryModelAvailabilityVisibilityChains = copy_src.vulkanMemoryModelAvailabilityVisibilityChains; pNext = SafePnextCopy(copy_src.pNext); } -safe_VkAttachmentDescription2& safe_VkAttachmentDescription2::operator=(const safe_VkAttachmentDescription2& copy_src) { +safe_VkPhysicalDeviceVulkanMemoryModelFeatures& safe_VkPhysicalDeviceVulkanMemoryModelFeatures::operator=( + const safe_VkPhysicalDeviceVulkanMemoryModelFeatures& copy_src) { if (©_src == this) return *this; FreePnextChain(pNext); sType = copy_src.sType; - flags = copy_src.flags; - format = copy_src.format; - samples = copy_src.samples; - loadOp = copy_src.loadOp; - storeOp = copy_src.storeOp; - stencilLoadOp = copy_src.stencilLoadOp; - stencilStoreOp = copy_src.stencilStoreOp; - initialLayout = copy_src.initialLayout; - finalLayout = copy_src.finalLayout; + vulkanMemoryModel = copy_src.vulkanMemoryModel; + vulkanMemoryModelDeviceScope = copy_src.vulkanMemoryModelDeviceScope; + vulkanMemoryModelAvailabilityVisibilityChains = copy_src.vulkanMemoryModelAvailabilityVisibilityChains; pNext = SafePnextCopy(copy_src.pNext); return *this; } -safe_VkAttachmentDescription2::~safe_VkAttachmentDescription2() { FreePnextChain(pNext); } +safe_VkPhysicalDeviceVulkanMemoryModelFeatures::~safe_VkPhysicalDeviceVulkanMemoryModelFeatures() { FreePnextChain(pNext); } -void safe_VkAttachmentDescription2::initialize(const VkAttachmentDescription2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceVulkanMemoryModelFeatures::initialize(const VkPhysicalDeviceVulkanMemoryModelFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - flags = in_struct->flags; - format = in_struct->format; - samples = in_struct->samples; - loadOp = in_struct->loadOp; - storeOp = in_struct->storeOp; - stencilLoadOp = in_struct->stencilLoadOp; - stencilStoreOp = in_struct->stencilStoreOp; - initialLayout = in_struct->initialLayout; - finalLayout = in_struct->finalLayout; + vulkanMemoryModel = in_struct->vulkanMemoryModel; + vulkanMemoryModelDeviceScope = in_struct->vulkanMemoryModelDeviceScope; + vulkanMemoryModelAvailabilityVisibilityChains = in_struct->vulkanMemoryModelAvailabilityVisibilityChains; pNext = SafePnextCopy(in_struct->pNext, copy_state); } -void safe_VkAttachmentDescription2::initialize(const safe_VkAttachmentDescription2* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceVulkanMemoryModelFeatures::initialize(const safe_VkPhysicalDeviceVulkanMemoryModelFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vulkanMemoryModel = copy_src->vulkanMemoryModel; + vulkanMemoryModelDeviceScope = copy_src->vulkanMemoryModelDeviceScope; + vulkanMemoryModelAvailabilityVisibilityChains = copy_src->vulkanMemoryModelAvailabilityVisibilityChains; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceHostQueryResetFeatures::safe_VkPhysicalDeviceHostQueryResetFeatures( + const VkPhysicalDeviceHostQueryResetFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), hostQueryReset(in_struct->hostQueryReset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceHostQueryResetFeatures::safe_VkPhysicalDeviceHostQueryResetFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES), pNext(nullptr), hostQueryReset() {} + +safe_VkPhysicalDeviceHostQueryResetFeatures::safe_VkPhysicalDeviceHostQueryResetFeatures( + const safe_VkPhysicalDeviceHostQueryResetFeatures& copy_src) { + sType = copy_src.sType; + hostQueryReset = copy_src.hostQueryReset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceHostQueryResetFeatures& safe_VkPhysicalDeviceHostQueryResetFeatures::operator=( + const safe_VkPhysicalDeviceHostQueryResetFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + hostQueryReset = copy_src.hostQueryReset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceHostQueryResetFeatures::~safe_VkPhysicalDeviceHostQueryResetFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceHostQueryResetFeatures::initialize(const VkPhysicalDeviceHostQueryResetFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + hostQueryReset = in_struct->hostQueryReset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceHostQueryResetFeatures::initialize(const safe_VkPhysicalDeviceHostQueryResetFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + hostQueryReset = copy_src->hostQueryReset; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceTimelineSemaphoreFeatures::safe_VkPhysicalDeviceTimelineSemaphoreFeatures( + const VkPhysicalDeviceTimelineSemaphoreFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), timelineSemaphore(in_struct->timelineSemaphore) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTimelineSemaphoreFeatures::safe_VkPhysicalDeviceTimelineSemaphoreFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES), pNext(nullptr), timelineSemaphore() {} + +safe_VkPhysicalDeviceTimelineSemaphoreFeatures::safe_VkPhysicalDeviceTimelineSemaphoreFeatures( + const safe_VkPhysicalDeviceTimelineSemaphoreFeatures& copy_src) { + sType = copy_src.sType; + timelineSemaphore = copy_src.timelineSemaphore; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTimelineSemaphoreFeatures& safe_VkPhysicalDeviceTimelineSemaphoreFeatures::operator=( + const safe_VkPhysicalDeviceTimelineSemaphoreFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + timelineSemaphore = copy_src.timelineSemaphore; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTimelineSemaphoreFeatures::~safe_VkPhysicalDeviceTimelineSemaphoreFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTimelineSemaphoreFeatures::initialize(const VkPhysicalDeviceTimelineSemaphoreFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + timelineSemaphore = in_struct->timelineSemaphore; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTimelineSemaphoreFeatures::initialize(const safe_VkPhysicalDeviceTimelineSemaphoreFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + timelineSemaphore = copy_src->timelineSemaphore; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceTimelineSemaphoreProperties::safe_VkPhysicalDeviceTimelineSemaphoreProperties( + const VkPhysicalDeviceTimelineSemaphoreProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxTimelineSemaphoreValueDifference(in_struct->maxTimelineSemaphoreValueDifference) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTimelineSemaphoreProperties::safe_VkPhysicalDeviceTimelineSemaphoreProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES), + pNext(nullptr), + maxTimelineSemaphoreValueDifference() {} + +safe_VkPhysicalDeviceTimelineSemaphoreProperties::safe_VkPhysicalDeviceTimelineSemaphoreProperties( + const safe_VkPhysicalDeviceTimelineSemaphoreProperties& copy_src) { + sType = copy_src.sType; + maxTimelineSemaphoreValueDifference = copy_src.maxTimelineSemaphoreValueDifference; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTimelineSemaphoreProperties& safe_VkPhysicalDeviceTimelineSemaphoreProperties::operator=( + const safe_VkPhysicalDeviceTimelineSemaphoreProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxTimelineSemaphoreValueDifference = copy_src.maxTimelineSemaphoreValueDifference; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTimelineSemaphoreProperties::~safe_VkPhysicalDeviceTimelineSemaphoreProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTimelineSemaphoreProperties::initialize(const VkPhysicalDeviceTimelineSemaphoreProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxTimelineSemaphoreValueDifference = in_struct->maxTimelineSemaphoreValueDifference; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTimelineSemaphoreProperties::initialize(const safe_VkPhysicalDeviceTimelineSemaphoreProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxTimelineSemaphoreValueDifference = copy_src->maxTimelineSemaphoreValueDifference; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSemaphoreTypeCreateInfo::safe_VkSemaphoreTypeCreateInfo(const VkSemaphoreTypeCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), semaphoreType(in_struct->semaphoreType), initialValue(in_struct->initialValue) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSemaphoreTypeCreateInfo::safe_VkSemaphoreTypeCreateInfo() + : sType(VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO), pNext(nullptr), semaphoreType(), initialValue() {} + +safe_VkSemaphoreTypeCreateInfo::safe_VkSemaphoreTypeCreateInfo(const safe_VkSemaphoreTypeCreateInfo& copy_src) { + sType = copy_src.sType; + semaphoreType = copy_src.semaphoreType; + initialValue = copy_src.initialValue; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSemaphoreTypeCreateInfo& safe_VkSemaphoreTypeCreateInfo::operator=(const safe_VkSemaphoreTypeCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + semaphoreType = copy_src.semaphoreType; + initialValue = copy_src.initialValue; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSemaphoreTypeCreateInfo::~safe_VkSemaphoreTypeCreateInfo() { FreePnextChain(pNext); } + +void safe_VkSemaphoreTypeCreateInfo::initialize(const VkSemaphoreTypeCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + semaphoreType = in_struct->semaphoreType; + initialValue = in_struct->initialValue; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSemaphoreTypeCreateInfo::initialize(const safe_VkSemaphoreTypeCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + semaphoreType = copy_src->semaphoreType; + initialValue = copy_src->initialValue; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTimelineSemaphoreSubmitInfo::safe_VkTimelineSemaphoreSubmitInfo(const VkTimelineSemaphoreSubmitInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + waitSemaphoreValueCount(in_struct->waitSemaphoreValueCount), + pWaitSemaphoreValues(nullptr), + signalSemaphoreValueCount(in_struct->signalSemaphoreValueCount), + pSignalSemaphoreValues(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pWaitSemaphoreValues) { + pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValueCount]; + memcpy((void*)pWaitSemaphoreValues, (void*)in_struct->pWaitSemaphoreValues, + sizeof(uint64_t) * in_struct->waitSemaphoreValueCount); + } + + if (in_struct->pSignalSemaphoreValues) { + pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValueCount]; + memcpy((void*)pSignalSemaphoreValues, (void*)in_struct->pSignalSemaphoreValues, + sizeof(uint64_t) * in_struct->signalSemaphoreValueCount); + } +} + +safe_VkTimelineSemaphoreSubmitInfo::safe_VkTimelineSemaphoreSubmitInfo() + : sType(VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO), + pNext(nullptr), + waitSemaphoreValueCount(), + pWaitSemaphoreValues(nullptr), + signalSemaphoreValueCount(), + pSignalSemaphoreValues(nullptr) {} + +safe_VkTimelineSemaphoreSubmitInfo::safe_VkTimelineSemaphoreSubmitInfo(const safe_VkTimelineSemaphoreSubmitInfo& copy_src) { + sType = copy_src.sType; + waitSemaphoreValueCount = copy_src.waitSemaphoreValueCount; + pWaitSemaphoreValues = nullptr; + signalSemaphoreValueCount = copy_src.signalSemaphoreValueCount; + pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pWaitSemaphoreValues) { + pWaitSemaphoreValues = new uint64_t[copy_src.waitSemaphoreValueCount]; + memcpy((void*)pWaitSemaphoreValues, (void*)copy_src.pWaitSemaphoreValues, + sizeof(uint64_t) * copy_src.waitSemaphoreValueCount); + } + + if (copy_src.pSignalSemaphoreValues) { + pSignalSemaphoreValues = new uint64_t[copy_src.signalSemaphoreValueCount]; + memcpy((void*)pSignalSemaphoreValues, (void*)copy_src.pSignalSemaphoreValues, + sizeof(uint64_t) * copy_src.signalSemaphoreValueCount); + } +} + +safe_VkTimelineSemaphoreSubmitInfo& safe_VkTimelineSemaphoreSubmitInfo::operator=( + const safe_VkTimelineSemaphoreSubmitInfo& copy_src) { + if (©_src == this) return *this; + + if (pWaitSemaphoreValues) delete[] pWaitSemaphoreValues; + if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; + FreePnextChain(pNext); + + sType = copy_src.sType; + waitSemaphoreValueCount = copy_src.waitSemaphoreValueCount; + pWaitSemaphoreValues = nullptr; + signalSemaphoreValueCount = copy_src.signalSemaphoreValueCount; + pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pWaitSemaphoreValues) { + pWaitSemaphoreValues = new uint64_t[copy_src.waitSemaphoreValueCount]; + memcpy((void*)pWaitSemaphoreValues, (void*)copy_src.pWaitSemaphoreValues, + sizeof(uint64_t) * copy_src.waitSemaphoreValueCount); + } + + if (copy_src.pSignalSemaphoreValues) { + pSignalSemaphoreValues = new uint64_t[copy_src.signalSemaphoreValueCount]; + memcpy((void*)pSignalSemaphoreValues, (void*)copy_src.pSignalSemaphoreValues, + sizeof(uint64_t) * copy_src.signalSemaphoreValueCount); + } + + return *this; +} + +safe_VkTimelineSemaphoreSubmitInfo::~safe_VkTimelineSemaphoreSubmitInfo() { + if (pWaitSemaphoreValues) delete[] pWaitSemaphoreValues; + if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; + FreePnextChain(pNext); +} + +void safe_VkTimelineSemaphoreSubmitInfo::initialize(const VkTimelineSemaphoreSubmitInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pWaitSemaphoreValues) delete[] pWaitSemaphoreValues; + if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; + FreePnextChain(pNext); + sType = in_struct->sType; + waitSemaphoreValueCount = in_struct->waitSemaphoreValueCount; + pWaitSemaphoreValues = nullptr; + signalSemaphoreValueCount = in_struct->signalSemaphoreValueCount; + pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pWaitSemaphoreValues) { + pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValueCount]; + memcpy((void*)pWaitSemaphoreValues, (void*)in_struct->pWaitSemaphoreValues, + sizeof(uint64_t) * in_struct->waitSemaphoreValueCount); + } + + if (in_struct->pSignalSemaphoreValues) { + pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValueCount]; + memcpy((void*)pSignalSemaphoreValues, (void*)in_struct->pSignalSemaphoreValues, + sizeof(uint64_t) * in_struct->signalSemaphoreValueCount); + } +} + +void safe_VkTimelineSemaphoreSubmitInfo::initialize(const safe_VkTimelineSemaphoreSubmitInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + waitSemaphoreValueCount = copy_src->waitSemaphoreValueCount; + pWaitSemaphoreValues = nullptr; + signalSemaphoreValueCount = copy_src->signalSemaphoreValueCount; + pSignalSemaphoreValues = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pWaitSemaphoreValues) { + pWaitSemaphoreValues = new uint64_t[copy_src->waitSemaphoreValueCount]; + memcpy((void*)pWaitSemaphoreValues, (void*)copy_src->pWaitSemaphoreValues, + sizeof(uint64_t) * copy_src->waitSemaphoreValueCount); + } + + if (copy_src->pSignalSemaphoreValues) { + pSignalSemaphoreValues = new uint64_t[copy_src->signalSemaphoreValueCount]; + memcpy((void*)pSignalSemaphoreValues, (void*)copy_src->pSignalSemaphoreValues, + sizeof(uint64_t) * copy_src->signalSemaphoreValueCount); + } +} + +safe_VkSemaphoreWaitInfo::safe_VkSemaphoreWaitInfo(const VkSemaphoreWaitInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + semaphoreCount(in_struct->semaphoreCount), + pSemaphores(nullptr), + pValues(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (semaphoreCount && in_struct->pSemaphores) { + pSemaphores = new VkSemaphore[semaphoreCount]; + for (uint32_t i = 0; i < semaphoreCount; ++i) { + pSemaphores[i] = in_struct->pSemaphores[i]; + } + } + + if (in_struct->pValues) { + pValues = new uint64_t[in_struct->semaphoreCount]; + memcpy((void*)pValues, (void*)in_struct->pValues, sizeof(uint64_t) * in_struct->semaphoreCount); + } +} + +safe_VkSemaphoreWaitInfo::safe_VkSemaphoreWaitInfo() + : sType(VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO), + pNext(nullptr), + flags(), + semaphoreCount(), + pSemaphores(nullptr), + pValues(nullptr) {} + +safe_VkSemaphoreWaitInfo::safe_VkSemaphoreWaitInfo(const safe_VkSemaphoreWaitInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + semaphoreCount = copy_src.semaphoreCount; + pSemaphores = nullptr; + pValues = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (semaphoreCount && copy_src.pSemaphores) { + pSemaphores = new VkSemaphore[semaphoreCount]; + for (uint32_t i = 0; i < semaphoreCount; ++i) { + pSemaphores[i] = copy_src.pSemaphores[i]; + } + } + + if (copy_src.pValues) { + pValues = new uint64_t[copy_src.semaphoreCount]; + memcpy((void*)pValues, (void*)copy_src.pValues, sizeof(uint64_t) * copy_src.semaphoreCount); + } +} + +safe_VkSemaphoreWaitInfo& safe_VkSemaphoreWaitInfo::operator=(const safe_VkSemaphoreWaitInfo& copy_src) { + if (©_src == this) return *this; + + if (pSemaphores) delete[] pSemaphores; + if (pValues) delete[] pValues; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + semaphoreCount = copy_src.semaphoreCount; + pSemaphores = nullptr; + pValues = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (semaphoreCount && copy_src.pSemaphores) { + pSemaphores = new VkSemaphore[semaphoreCount]; + for (uint32_t i = 0; i < semaphoreCount; ++i) { + pSemaphores[i] = copy_src.pSemaphores[i]; + } + } + + if (copy_src.pValues) { + pValues = new uint64_t[copy_src.semaphoreCount]; + memcpy((void*)pValues, (void*)copy_src.pValues, sizeof(uint64_t) * copy_src.semaphoreCount); + } + + return *this; +} + +safe_VkSemaphoreWaitInfo::~safe_VkSemaphoreWaitInfo() { + if (pSemaphores) delete[] pSemaphores; + if (pValues) delete[] pValues; + FreePnextChain(pNext); +} + +void safe_VkSemaphoreWaitInfo::initialize(const VkSemaphoreWaitInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pSemaphores) delete[] pSemaphores; + if (pValues) delete[] pValues; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + semaphoreCount = in_struct->semaphoreCount; + pSemaphores = nullptr; + pValues = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (semaphoreCount && in_struct->pSemaphores) { + pSemaphores = new VkSemaphore[semaphoreCount]; + for (uint32_t i = 0; i < semaphoreCount; ++i) { + pSemaphores[i] = in_struct->pSemaphores[i]; + } + } + + if (in_struct->pValues) { + pValues = new uint64_t[in_struct->semaphoreCount]; + memcpy((void*)pValues, (void*)in_struct->pValues, sizeof(uint64_t) * in_struct->semaphoreCount); + } +} + +void safe_VkSemaphoreWaitInfo::initialize(const safe_VkSemaphoreWaitInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; flags = copy_src->flags; - format = copy_src->format; - samples = copy_src->samples; - loadOp = copy_src->loadOp; - storeOp = copy_src->storeOp; - stencilLoadOp = copy_src->stencilLoadOp; - stencilStoreOp = copy_src->stencilStoreOp; - initialLayout = copy_src->initialLayout; - finalLayout = copy_src->finalLayout; + semaphoreCount = copy_src->semaphoreCount; + pSemaphores = nullptr; + pValues = nullptr; pNext = SafePnextCopy(copy_src->pNext); -} + if (semaphoreCount && copy_src->pSemaphores) { + pSemaphores = new VkSemaphore[semaphoreCount]; + for (uint32_t i = 0; i < semaphoreCount; ++i) { + pSemaphores[i] = copy_src->pSemaphores[i]; + } + } -safe_VkAttachmentReference2::safe_VkAttachmentReference2(const VkAttachmentReference2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), attachment(in_struct->attachment), layout(in_struct->layout), aspectMask(in_struct->aspectMask) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (copy_src->pValues) { + pValues = new uint64_t[copy_src->semaphoreCount]; + memcpy((void*)pValues, (void*)copy_src->pValues, sizeof(uint64_t) * copy_src->semaphoreCount); } } -safe_VkAttachmentReference2::safe_VkAttachmentReference2() - : sType(VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2), pNext(nullptr), attachment(), layout(), aspectMask() {} - -safe_VkAttachmentReference2::safe_VkAttachmentReference2(const safe_VkAttachmentReference2& copy_src) { - sType = copy_src.sType; - attachment = copy_src.attachment; - layout = copy_src.layout; - aspectMask = copy_src.aspectMask; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkAttachmentReference2& safe_VkAttachmentReference2::operator=(const safe_VkAttachmentReference2& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - attachment = copy_src.attachment; - layout = copy_src.layout; - aspectMask = copy_src.aspectMask; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkAttachmentReference2::~safe_VkAttachmentReference2() { FreePnextChain(pNext); } - -void safe_VkAttachmentReference2::initialize(const VkAttachmentReference2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - attachment = in_struct->attachment; - layout = in_struct->layout; - aspectMask = in_struct->aspectMask; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkAttachmentReference2::initialize(const safe_VkAttachmentReference2* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - attachment = copy_src->attachment; - layout = copy_src->layout; - aspectMask = copy_src->aspectMask; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSubpassDescription2::safe_VkSubpassDescription2(const VkSubpassDescription2* in_struct, +safe_VkSemaphoreSignalInfo::safe_VkSemaphoreSignalInfo(const VkSemaphoreSignalInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - pipelineBindPoint(in_struct->pipelineBindPoint), - viewMask(in_struct->viewMask), - inputAttachmentCount(in_struct->inputAttachmentCount), - pInputAttachments(nullptr), - colorAttachmentCount(in_struct->colorAttachmentCount), - pColorAttachments(nullptr), - pResolveAttachments(nullptr), - pDepthStencilAttachment(nullptr), - preserveAttachmentCount(in_struct->preserveAttachmentCount), - pPreserveAttachments(nullptr) { + : sType(in_struct->sType), semaphore(in_struct->semaphore), value(in_struct->value) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - if (inputAttachmentCount && in_struct->pInputAttachments) { - pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; - for (uint32_t i = 0; i < inputAttachmentCount; ++i) { - pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]); - } - } - if (colorAttachmentCount && in_struct->pColorAttachments) { - pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]); - } - } - if (colorAttachmentCount && in_struct->pResolveAttachments) { - pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]); - } - } - if (in_struct->pDepthStencilAttachment) - pDepthStencilAttachment = new safe_VkAttachmentReference2(in_struct->pDepthStencilAttachment); - - if (in_struct->pPreserveAttachments) { - pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount]; - memcpy((void*)pPreserveAttachments, (void*)in_struct->pPreserveAttachments, - sizeof(uint32_t) * in_struct->preserveAttachmentCount); - } } -safe_VkSubpassDescription2::safe_VkSubpassDescription2() - : sType(VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2), - pNext(nullptr), - flags(), - pipelineBindPoint(), - viewMask(), - inputAttachmentCount(), - pInputAttachments(nullptr), - colorAttachmentCount(), - pColorAttachments(nullptr), - pResolveAttachments(nullptr), - pDepthStencilAttachment(nullptr), - preserveAttachmentCount(), - pPreserveAttachments(nullptr) {} +safe_VkSemaphoreSignalInfo::safe_VkSemaphoreSignalInfo() + : sType(VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO), pNext(nullptr), semaphore(), value() {} -safe_VkSubpassDescription2::safe_VkSubpassDescription2(const safe_VkSubpassDescription2& copy_src) { +safe_VkSemaphoreSignalInfo::safe_VkSemaphoreSignalInfo(const safe_VkSemaphoreSignalInfo& copy_src) { sType = copy_src.sType; - flags = copy_src.flags; - pipelineBindPoint = copy_src.pipelineBindPoint; - viewMask = copy_src.viewMask; - inputAttachmentCount = copy_src.inputAttachmentCount; - pInputAttachments = nullptr; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachments = nullptr; - pResolveAttachments = nullptr; - pDepthStencilAttachment = nullptr; - preserveAttachmentCount = copy_src.preserveAttachmentCount; - pPreserveAttachments = nullptr; + semaphore = copy_src.semaphore; + value = copy_src.value; pNext = SafePnextCopy(copy_src.pNext); - if (inputAttachmentCount && copy_src.pInputAttachments) { - pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; - for (uint32_t i = 0; i < inputAttachmentCount; ++i) { - pInputAttachments[i].initialize(©_src.pInputAttachments[i]); - } - } - if (colorAttachmentCount && copy_src.pColorAttachments) { - pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pColorAttachments[i].initialize(©_src.pColorAttachments[i]); - } - } - if (colorAttachmentCount && copy_src.pResolveAttachments) { - pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pResolveAttachments[i].initialize(©_src.pResolveAttachments[i]); - } - } - if (copy_src.pDepthStencilAttachment) - pDepthStencilAttachment = new safe_VkAttachmentReference2(*copy_src.pDepthStencilAttachment); - - if (copy_src.pPreserveAttachments) { - pPreserveAttachments = new uint32_t[copy_src.preserveAttachmentCount]; - memcpy((void*)pPreserveAttachments, (void*)copy_src.pPreserveAttachments, - sizeof(uint32_t) * copy_src.preserveAttachmentCount); - } } -safe_VkSubpassDescription2& safe_VkSubpassDescription2::operator=(const safe_VkSubpassDescription2& copy_src) { +safe_VkSemaphoreSignalInfo& safe_VkSemaphoreSignalInfo::operator=(const safe_VkSemaphoreSignalInfo& copy_src) { if (©_src == this) return *this; - if (pInputAttachments) delete[] pInputAttachments; - if (pColorAttachments) delete[] pColorAttachments; - if (pResolveAttachments) delete[] pResolveAttachments; - if (pDepthStencilAttachment) delete pDepthStencilAttachment; - if (pPreserveAttachments) delete[] pPreserveAttachments; FreePnextChain(pNext); sType = copy_src.sType; - flags = copy_src.flags; - pipelineBindPoint = copy_src.pipelineBindPoint; - viewMask = copy_src.viewMask; - inputAttachmentCount = copy_src.inputAttachmentCount; - pInputAttachments = nullptr; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachments = nullptr; - pResolveAttachments = nullptr; - pDepthStencilAttachment = nullptr; - preserveAttachmentCount = copy_src.preserveAttachmentCount; - pPreserveAttachments = nullptr; + semaphore = copy_src.semaphore; + value = copy_src.value; pNext = SafePnextCopy(copy_src.pNext); - if (inputAttachmentCount && copy_src.pInputAttachments) { - pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; - for (uint32_t i = 0; i < inputAttachmentCount; ++i) { - pInputAttachments[i].initialize(©_src.pInputAttachments[i]); - } - } - if (colorAttachmentCount && copy_src.pColorAttachments) { - pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pColorAttachments[i].initialize(©_src.pColorAttachments[i]); - } - } - if (colorAttachmentCount && copy_src.pResolveAttachments) { - pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pResolveAttachments[i].initialize(©_src.pResolveAttachments[i]); - } - } - if (copy_src.pDepthStencilAttachment) - pDepthStencilAttachment = new safe_VkAttachmentReference2(*copy_src.pDepthStencilAttachment); - - if (copy_src.pPreserveAttachments) { - pPreserveAttachments = new uint32_t[copy_src.preserveAttachmentCount]; - memcpy((void*)pPreserveAttachments, (void*)copy_src.pPreserveAttachments, - sizeof(uint32_t) * copy_src.preserveAttachmentCount); - } return *this; } -safe_VkSubpassDescription2::~safe_VkSubpassDescription2() { - if (pInputAttachments) delete[] pInputAttachments; - if (pColorAttachments) delete[] pColorAttachments; - if (pResolveAttachments) delete[] pResolveAttachments; - if (pDepthStencilAttachment) delete pDepthStencilAttachment; - if (pPreserveAttachments) delete[] pPreserveAttachments; - FreePnextChain(pNext); -} +safe_VkSemaphoreSignalInfo::~safe_VkSemaphoreSignalInfo() { FreePnextChain(pNext); } -void safe_VkSubpassDescription2::initialize(const VkSubpassDescription2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pInputAttachments) delete[] pInputAttachments; - if (pColorAttachments) delete[] pColorAttachments; - if (pResolveAttachments) delete[] pResolveAttachments; - if (pDepthStencilAttachment) delete pDepthStencilAttachment; - if (pPreserveAttachments) delete[] pPreserveAttachments; +void safe_VkSemaphoreSignalInfo::initialize(const VkSemaphoreSignalInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - flags = in_struct->flags; - pipelineBindPoint = in_struct->pipelineBindPoint; - viewMask = in_struct->viewMask; - inputAttachmentCount = in_struct->inputAttachmentCount; - pInputAttachments = nullptr; - colorAttachmentCount = in_struct->colorAttachmentCount; - pColorAttachments = nullptr; - pResolveAttachments = nullptr; - pDepthStencilAttachment = nullptr; - preserveAttachmentCount = in_struct->preserveAttachmentCount; - pPreserveAttachments = nullptr; + semaphore = in_struct->semaphore; + value = in_struct->value; pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (inputAttachmentCount && in_struct->pInputAttachments) { - pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; - for (uint32_t i = 0; i < inputAttachmentCount; ++i) { - pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]); - } - } - if (colorAttachmentCount && in_struct->pColorAttachments) { - pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]); - } - } - if (colorAttachmentCount && in_struct->pResolveAttachments) { - pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]); - } - } - if (in_struct->pDepthStencilAttachment) - pDepthStencilAttachment = new safe_VkAttachmentReference2(in_struct->pDepthStencilAttachment); - - if (in_struct->pPreserveAttachments) { - pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount]; - memcpy((void*)pPreserveAttachments, (void*)in_struct->pPreserveAttachments, - sizeof(uint32_t) * in_struct->preserveAttachmentCount); - } } -void safe_VkSubpassDescription2::initialize(const safe_VkSubpassDescription2* copy_src, +void safe_VkSemaphoreSignalInfo::initialize(const safe_VkSemaphoreSignalInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - flags = copy_src->flags; - pipelineBindPoint = copy_src->pipelineBindPoint; - viewMask = copy_src->viewMask; - inputAttachmentCount = copy_src->inputAttachmentCount; - pInputAttachments = nullptr; - colorAttachmentCount = copy_src->colorAttachmentCount; - pColorAttachments = nullptr; - pResolveAttachments = nullptr; - pDepthStencilAttachment = nullptr; - preserveAttachmentCount = copy_src->preserveAttachmentCount; - pPreserveAttachments = nullptr; + semaphore = copy_src->semaphore; + value = copy_src->value; pNext = SafePnextCopy(copy_src->pNext); - if (inputAttachmentCount && copy_src->pInputAttachments) { - pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; - for (uint32_t i = 0; i < inputAttachmentCount; ++i) { - pInputAttachments[i].initialize(©_src->pInputAttachments[i]); - } - } - if (colorAttachmentCount && copy_src->pColorAttachments) { - pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pColorAttachments[i].initialize(©_src->pColorAttachments[i]); - } - } - if (colorAttachmentCount && copy_src->pResolveAttachments) { - pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; - for (uint32_t i = 0; i < colorAttachmentCount; ++i) { - pResolveAttachments[i].initialize(©_src->pResolveAttachments[i]); - } - } - if (copy_src->pDepthStencilAttachment) - pDepthStencilAttachment = new safe_VkAttachmentReference2(*copy_src->pDepthStencilAttachment); - - if (copy_src->pPreserveAttachments) { - pPreserveAttachments = new uint32_t[copy_src->preserveAttachmentCount]; - memcpy((void*)pPreserveAttachments, (void*)copy_src->pPreserveAttachments, - sizeof(uint32_t) * copy_src->preserveAttachmentCount); - } } -safe_VkSubpassDependency2::safe_VkSubpassDependency2(const VkSubpassDependency2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) +safe_VkPhysicalDeviceBufferDeviceAddressFeatures::safe_VkPhysicalDeviceBufferDeviceAddressFeatures( + const VkPhysicalDeviceBufferDeviceAddressFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), - srcSubpass(in_struct->srcSubpass), - dstSubpass(in_struct->dstSubpass), - srcStageMask(in_struct->srcStageMask), - dstStageMask(in_struct->dstStageMask), - srcAccessMask(in_struct->srcAccessMask), - dstAccessMask(in_struct->dstAccessMask), - dependencyFlags(in_struct->dependencyFlags), - viewOffset(in_struct->viewOffset) { + bufferDeviceAddress(in_struct->bufferDeviceAddress), + bufferDeviceAddressCaptureReplay(in_struct->bufferDeviceAddressCaptureReplay), + bufferDeviceAddressMultiDevice(in_struct->bufferDeviceAddressMultiDevice) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } } -safe_VkSubpassDependency2::safe_VkSubpassDependency2() - : sType(VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2), +safe_VkPhysicalDeviceBufferDeviceAddressFeatures::safe_VkPhysicalDeviceBufferDeviceAddressFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES), pNext(nullptr), - srcSubpass(), - dstSubpass(), - srcStageMask(), - dstStageMask(), - srcAccessMask(), - dstAccessMask(), - dependencyFlags(), - viewOffset() {} + bufferDeviceAddress(), + bufferDeviceAddressCaptureReplay(), + bufferDeviceAddressMultiDevice() {} -safe_VkSubpassDependency2::safe_VkSubpassDependency2(const safe_VkSubpassDependency2& copy_src) { +safe_VkPhysicalDeviceBufferDeviceAddressFeatures::safe_VkPhysicalDeviceBufferDeviceAddressFeatures( + const safe_VkPhysicalDeviceBufferDeviceAddressFeatures& copy_src) { sType = copy_src.sType; - srcSubpass = copy_src.srcSubpass; - dstSubpass = copy_src.dstSubpass; - srcStageMask = copy_src.srcStageMask; - dstStageMask = copy_src.dstStageMask; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - dependencyFlags = copy_src.dependencyFlags; - viewOffset = copy_src.viewOffset; + bufferDeviceAddress = copy_src.bufferDeviceAddress; + bufferDeviceAddressCaptureReplay = copy_src.bufferDeviceAddressCaptureReplay; + bufferDeviceAddressMultiDevice = copy_src.bufferDeviceAddressMultiDevice; pNext = SafePnextCopy(copy_src.pNext); } -safe_VkSubpassDependency2& safe_VkSubpassDependency2::operator=(const safe_VkSubpassDependency2& copy_src) { +safe_VkPhysicalDeviceBufferDeviceAddressFeatures& safe_VkPhysicalDeviceBufferDeviceAddressFeatures::operator=( + const safe_VkPhysicalDeviceBufferDeviceAddressFeatures& copy_src) { if (©_src == this) return *this; FreePnextChain(pNext); sType = copy_src.sType; - srcSubpass = copy_src.srcSubpass; - dstSubpass = copy_src.dstSubpass; - srcStageMask = copy_src.srcStageMask; - dstStageMask = copy_src.dstStageMask; - srcAccessMask = copy_src.srcAccessMask; - dstAccessMask = copy_src.dstAccessMask; - dependencyFlags = copy_src.dependencyFlags; - viewOffset = copy_src.viewOffset; + bufferDeviceAddress = copy_src.bufferDeviceAddress; + bufferDeviceAddressCaptureReplay = copy_src.bufferDeviceAddressCaptureReplay; + bufferDeviceAddressMultiDevice = copy_src.bufferDeviceAddressMultiDevice; pNext = SafePnextCopy(copy_src.pNext); return *this; } -safe_VkSubpassDependency2::~safe_VkSubpassDependency2() { FreePnextChain(pNext); } +safe_VkPhysicalDeviceBufferDeviceAddressFeatures::~safe_VkPhysicalDeviceBufferDeviceAddressFeatures() { FreePnextChain(pNext); } -void safe_VkSubpassDependency2::initialize(const VkSubpassDependency2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceBufferDeviceAddressFeatures::initialize(const VkPhysicalDeviceBufferDeviceAddressFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - srcSubpass = in_struct->srcSubpass; - dstSubpass = in_struct->dstSubpass; - srcStageMask = in_struct->srcStageMask; - dstStageMask = in_struct->dstStageMask; - srcAccessMask = in_struct->srcAccessMask; - dstAccessMask = in_struct->dstAccessMask; - dependencyFlags = in_struct->dependencyFlags; - viewOffset = in_struct->viewOffset; + bufferDeviceAddress = in_struct->bufferDeviceAddress; + bufferDeviceAddressCaptureReplay = in_struct->bufferDeviceAddressCaptureReplay; + bufferDeviceAddressMultiDevice = in_struct->bufferDeviceAddressMultiDevice; pNext = SafePnextCopy(in_struct->pNext, copy_state); } -void safe_VkSubpassDependency2::initialize(const safe_VkSubpassDependency2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceBufferDeviceAddressFeatures::initialize(const safe_VkPhysicalDeviceBufferDeviceAddressFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - srcSubpass = copy_src->srcSubpass; - dstSubpass = copy_src->dstSubpass; - srcStageMask = copy_src->srcStageMask; - dstStageMask = copy_src->dstStageMask; - srcAccessMask = copy_src->srcAccessMask; - dstAccessMask = copy_src->dstAccessMask; - dependencyFlags = copy_src->dependencyFlags; - viewOffset = copy_src->viewOffset; + bufferDeviceAddress = copy_src->bufferDeviceAddress; + bufferDeviceAddressCaptureReplay = copy_src->bufferDeviceAddressCaptureReplay; + bufferDeviceAddressMultiDevice = copy_src->bufferDeviceAddressMultiDevice; pNext = SafePnextCopy(copy_src->pNext); } -safe_VkRenderPassCreateInfo2::safe_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - attachmentCount(in_struct->attachmentCount), - pAttachments(nullptr), - subpassCount(in_struct->subpassCount), - pSubpasses(nullptr), - dependencyCount(in_struct->dependencyCount), - pDependencies(nullptr), - correlatedViewMaskCount(in_struct->correlatedViewMaskCount), - pCorrelatedViewMasks(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (attachmentCount && in_struct->pAttachments) { - pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i].initialize(&in_struct->pAttachments[i]); - } - } - if (subpassCount && in_struct->pSubpasses) { - pSubpasses = new safe_VkSubpassDescription2[subpassCount]; - for (uint32_t i = 0; i < subpassCount; ++i) { - pSubpasses[i].initialize(&in_struct->pSubpasses[i]); - } - } - if (dependencyCount && in_struct->pDependencies) { - pDependencies = new safe_VkSubpassDependency2[dependencyCount]; - for (uint32_t i = 0; i < dependencyCount; ++i) { - pDependencies[i].initialize(&in_struct->pDependencies[i]); - } - } - - if (in_struct->pCorrelatedViewMasks) { - pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount]; - memcpy((void*)pCorrelatedViewMasks, (void*)in_struct->pCorrelatedViewMasks, - sizeof(uint32_t) * in_struct->correlatedViewMaskCount); - } -} - -safe_VkRenderPassCreateInfo2::safe_VkRenderPassCreateInfo2() - : sType(VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2), - pNext(nullptr), - flags(), - attachmentCount(), - pAttachments(nullptr), - subpassCount(), - pSubpasses(nullptr), - dependencyCount(), - pDependencies(nullptr), - correlatedViewMaskCount(), - pCorrelatedViewMasks(nullptr) {} - -safe_VkRenderPassCreateInfo2::safe_VkRenderPassCreateInfo2(const safe_VkRenderPassCreateInfo2& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - attachmentCount = copy_src.attachmentCount; - pAttachments = nullptr; - subpassCount = copy_src.subpassCount; - pSubpasses = nullptr; - dependencyCount = copy_src.dependencyCount; - pDependencies = nullptr; - correlatedViewMaskCount = copy_src.correlatedViewMaskCount; - pCorrelatedViewMasks = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (attachmentCount && copy_src.pAttachments) { - pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i].initialize(©_src.pAttachments[i]); - } - } - if (subpassCount && copy_src.pSubpasses) { - pSubpasses = new safe_VkSubpassDescription2[subpassCount]; - for (uint32_t i = 0; i < subpassCount; ++i) { - pSubpasses[i].initialize(©_src.pSubpasses[i]); - } - } - if (dependencyCount && copy_src.pDependencies) { - pDependencies = new safe_VkSubpassDependency2[dependencyCount]; - for (uint32_t i = 0; i < dependencyCount; ++i) { - pDependencies[i].initialize(©_src.pDependencies[i]); - } - } - - if (copy_src.pCorrelatedViewMasks) { - pCorrelatedViewMasks = new uint32_t[copy_src.correlatedViewMaskCount]; - memcpy((void*)pCorrelatedViewMasks, (void*)copy_src.pCorrelatedViewMasks, - sizeof(uint32_t) * copy_src.correlatedViewMaskCount); - } -} - -safe_VkRenderPassCreateInfo2& safe_VkRenderPassCreateInfo2::operator=(const safe_VkRenderPassCreateInfo2& copy_src) { - if (©_src == this) return *this; - - if (pAttachments) delete[] pAttachments; - if (pSubpasses) delete[] pSubpasses; - if (pDependencies) delete[] pDependencies; - if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - attachmentCount = copy_src.attachmentCount; - pAttachments = nullptr; - subpassCount = copy_src.subpassCount; - pSubpasses = nullptr; - dependencyCount = copy_src.dependencyCount; - pDependencies = nullptr; - correlatedViewMaskCount = copy_src.correlatedViewMaskCount; - pCorrelatedViewMasks = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (attachmentCount && copy_src.pAttachments) { - pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i].initialize(©_src.pAttachments[i]); - } - } - if (subpassCount && copy_src.pSubpasses) { - pSubpasses = new safe_VkSubpassDescription2[subpassCount]; - for (uint32_t i = 0; i < subpassCount; ++i) { - pSubpasses[i].initialize(©_src.pSubpasses[i]); - } - } - if (dependencyCount && copy_src.pDependencies) { - pDependencies = new safe_VkSubpassDependency2[dependencyCount]; - for (uint32_t i = 0; i < dependencyCount; ++i) { - pDependencies[i].initialize(©_src.pDependencies[i]); - } - } - - if (copy_src.pCorrelatedViewMasks) { - pCorrelatedViewMasks = new uint32_t[copy_src.correlatedViewMaskCount]; - memcpy((void*)pCorrelatedViewMasks, (void*)copy_src.pCorrelatedViewMasks, - sizeof(uint32_t) * copy_src.correlatedViewMaskCount); - } - - return *this; -} - -safe_VkRenderPassCreateInfo2::~safe_VkRenderPassCreateInfo2() { - if (pAttachments) delete[] pAttachments; - if (pSubpasses) delete[] pSubpasses; - if (pDependencies) delete[] pDependencies; - if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; - FreePnextChain(pNext); -} - -void safe_VkRenderPassCreateInfo2::initialize(const VkRenderPassCreateInfo2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pAttachments) delete[] pAttachments; - if (pSubpasses) delete[] pSubpasses; - if (pDependencies) delete[] pDependencies; - if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - attachmentCount = in_struct->attachmentCount; - pAttachments = nullptr; - subpassCount = in_struct->subpassCount; - pSubpasses = nullptr; - dependencyCount = in_struct->dependencyCount; - pDependencies = nullptr; - correlatedViewMaskCount = in_struct->correlatedViewMaskCount; - pCorrelatedViewMasks = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (attachmentCount && in_struct->pAttachments) { - pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i].initialize(&in_struct->pAttachments[i]); - } - } - if (subpassCount && in_struct->pSubpasses) { - pSubpasses = new safe_VkSubpassDescription2[subpassCount]; - for (uint32_t i = 0; i < subpassCount; ++i) { - pSubpasses[i].initialize(&in_struct->pSubpasses[i]); - } - } - if (dependencyCount && in_struct->pDependencies) { - pDependencies = new safe_VkSubpassDependency2[dependencyCount]; - for (uint32_t i = 0; i < dependencyCount; ++i) { - pDependencies[i].initialize(&in_struct->pDependencies[i]); - } - } - - if (in_struct->pCorrelatedViewMasks) { - pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount]; - memcpy((void*)pCorrelatedViewMasks, (void*)in_struct->pCorrelatedViewMasks, - sizeof(uint32_t) * in_struct->correlatedViewMaskCount); - } -} - -void safe_VkRenderPassCreateInfo2::initialize(const safe_VkRenderPassCreateInfo2* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - attachmentCount = copy_src->attachmentCount; - pAttachments = nullptr; - subpassCount = copy_src->subpassCount; - pSubpasses = nullptr; - dependencyCount = copy_src->dependencyCount; - pDependencies = nullptr; - correlatedViewMaskCount = copy_src->correlatedViewMaskCount; - pCorrelatedViewMasks = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (attachmentCount && copy_src->pAttachments) { - pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i].initialize(©_src->pAttachments[i]); - } - } - if (subpassCount && copy_src->pSubpasses) { - pSubpasses = new safe_VkSubpassDescription2[subpassCount]; - for (uint32_t i = 0; i < subpassCount; ++i) { - pSubpasses[i].initialize(©_src->pSubpasses[i]); - } - } - if (dependencyCount && copy_src->pDependencies) { - pDependencies = new safe_VkSubpassDependency2[dependencyCount]; - for (uint32_t i = 0; i < dependencyCount; ++i) { - pDependencies[i].initialize(©_src->pDependencies[i]); - } - } - - if (copy_src->pCorrelatedViewMasks) { - pCorrelatedViewMasks = new uint32_t[copy_src->correlatedViewMaskCount]; - memcpy((void*)pCorrelatedViewMasks, (void*)copy_src->pCorrelatedViewMasks, - sizeof(uint32_t) * copy_src->correlatedViewMaskCount); - } -} - -safe_VkSubpassBeginInfo::safe_VkSubpassBeginInfo(const VkSubpassBeginInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), contents(in_struct->contents) { +safe_VkBufferDeviceAddressInfo::safe_VkBufferDeviceAddressInfo(const VkBufferDeviceAddressInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), buffer(in_struct->buffer) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } } -safe_VkSubpassBeginInfo::safe_VkSubpassBeginInfo() : sType(VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO), pNext(nullptr), contents() {} +safe_VkBufferDeviceAddressInfo::safe_VkBufferDeviceAddressInfo() + : sType(VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO), pNext(nullptr), buffer() {} -safe_VkSubpassBeginInfo::safe_VkSubpassBeginInfo(const safe_VkSubpassBeginInfo& copy_src) { +safe_VkBufferDeviceAddressInfo::safe_VkBufferDeviceAddressInfo(const safe_VkBufferDeviceAddressInfo& copy_src) { sType = copy_src.sType; - contents = copy_src.contents; + buffer = copy_src.buffer; pNext = SafePnextCopy(copy_src.pNext); } -safe_VkSubpassBeginInfo& safe_VkSubpassBeginInfo::operator=(const safe_VkSubpassBeginInfo& copy_src) { +safe_VkBufferDeviceAddressInfo& safe_VkBufferDeviceAddressInfo::operator=(const safe_VkBufferDeviceAddressInfo& copy_src) { if (©_src == this) return *this; FreePnextChain(pNext); sType = copy_src.sType; - contents = copy_src.contents; + buffer = copy_src.buffer; pNext = SafePnextCopy(copy_src.pNext); return *this; } -safe_VkSubpassBeginInfo::~safe_VkSubpassBeginInfo() { FreePnextChain(pNext); } +safe_VkBufferDeviceAddressInfo::~safe_VkBufferDeviceAddressInfo() { FreePnextChain(pNext); } -void safe_VkSubpassBeginInfo::initialize(const VkSubpassBeginInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkBufferDeviceAddressInfo::initialize(const VkBufferDeviceAddressInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - contents = in_struct->contents; + buffer = in_struct->buffer; pNext = SafePnextCopy(in_struct->pNext, copy_state); } -void safe_VkSubpassBeginInfo::initialize(const safe_VkSubpassBeginInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkBufferDeviceAddressInfo::initialize(const safe_VkBufferDeviceAddressInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - contents = copy_src->contents; + buffer = copy_src->buffer; pNext = SafePnextCopy(copy_src->pNext); } -safe_VkSubpassEndInfo::safe_VkSubpassEndInfo(const VkSubpassEndInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType) { +safe_VkBufferOpaqueCaptureAddressCreateInfo::safe_VkBufferOpaqueCaptureAddressCreateInfo( + const VkBufferOpaqueCaptureAddressCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), opaqueCaptureAddress(in_struct->opaqueCaptureAddress) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } } -safe_VkSubpassEndInfo::safe_VkSubpassEndInfo() : sType(VK_STRUCTURE_TYPE_SUBPASS_END_INFO), pNext(nullptr) {} +safe_VkBufferOpaqueCaptureAddressCreateInfo::safe_VkBufferOpaqueCaptureAddressCreateInfo() + : sType(VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO), pNext(nullptr), opaqueCaptureAddress() {} -safe_VkSubpassEndInfo::safe_VkSubpassEndInfo(const safe_VkSubpassEndInfo& copy_src) { +safe_VkBufferOpaqueCaptureAddressCreateInfo::safe_VkBufferOpaqueCaptureAddressCreateInfo( + const safe_VkBufferOpaqueCaptureAddressCreateInfo& copy_src) { sType = copy_src.sType; + opaqueCaptureAddress = copy_src.opaqueCaptureAddress; pNext = SafePnextCopy(copy_src.pNext); } -safe_VkSubpassEndInfo& safe_VkSubpassEndInfo::operator=(const safe_VkSubpassEndInfo& copy_src) { +safe_VkBufferOpaqueCaptureAddressCreateInfo& safe_VkBufferOpaqueCaptureAddressCreateInfo::operator=( + const safe_VkBufferOpaqueCaptureAddressCreateInfo& copy_src) { if (©_src == this) return *this; FreePnextChain(pNext); sType = copy_src.sType; + opaqueCaptureAddress = copy_src.opaqueCaptureAddress; pNext = SafePnextCopy(copy_src.pNext); return *this; } -safe_VkSubpassEndInfo::~safe_VkSubpassEndInfo() { FreePnextChain(pNext); } +safe_VkBufferOpaqueCaptureAddressCreateInfo::~safe_VkBufferOpaqueCaptureAddressCreateInfo() { FreePnextChain(pNext); } -void safe_VkSubpassEndInfo::initialize(const VkSubpassEndInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkBufferOpaqueCaptureAddressCreateInfo::initialize(const VkBufferOpaqueCaptureAddressCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; + opaqueCaptureAddress = in_struct->opaqueCaptureAddress; pNext = SafePnextCopy(in_struct->pNext, copy_state); } -void safe_VkSubpassEndInfo::initialize(const safe_VkSubpassEndInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkBufferOpaqueCaptureAddressCreateInfo::initialize(const safe_VkBufferOpaqueCaptureAddressCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; + opaqueCaptureAddress = copy_src->opaqueCaptureAddress; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkMemoryOpaqueCaptureAddressAllocateInfo::safe_VkMemoryOpaqueCaptureAddressAllocateInfo( + const VkMemoryOpaqueCaptureAddressAllocateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), opaqueCaptureAddress(in_struct->opaqueCaptureAddress) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryOpaqueCaptureAddressAllocateInfo::safe_VkMemoryOpaqueCaptureAddressAllocateInfo() + : sType(VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO), pNext(nullptr), opaqueCaptureAddress() {} + +safe_VkMemoryOpaqueCaptureAddressAllocateInfo::safe_VkMemoryOpaqueCaptureAddressAllocateInfo( + const safe_VkMemoryOpaqueCaptureAddressAllocateInfo& copy_src) { + sType = copy_src.sType; + opaqueCaptureAddress = copy_src.opaqueCaptureAddress; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryOpaqueCaptureAddressAllocateInfo& safe_VkMemoryOpaqueCaptureAddressAllocateInfo::operator=( + const safe_VkMemoryOpaqueCaptureAddressAllocateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + opaqueCaptureAddress = copy_src.opaqueCaptureAddress; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryOpaqueCaptureAddressAllocateInfo::~safe_VkMemoryOpaqueCaptureAddressAllocateInfo() { FreePnextChain(pNext); } + +void safe_VkMemoryOpaqueCaptureAddressAllocateInfo::initialize(const VkMemoryOpaqueCaptureAddressAllocateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + opaqueCaptureAddress = in_struct->opaqueCaptureAddress; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryOpaqueCaptureAddressAllocateInfo::initialize(const safe_VkMemoryOpaqueCaptureAddressAllocateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + opaqueCaptureAddress = copy_src->opaqueCaptureAddress; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDeviceMemoryOpaqueCaptureAddressInfo::safe_VkDeviceMemoryOpaqueCaptureAddressInfo( + const VkDeviceMemoryOpaqueCaptureAddressInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), memory(in_struct->memory) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDeviceMemoryOpaqueCaptureAddressInfo::safe_VkDeviceMemoryOpaqueCaptureAddressInfo() + : sType(VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO), pNext(nullptr), memory() {} + +safe_VkDeviceMemoryOpaqueCaptureAddressInfo::safe_VkDeviceMemoryOpaqueCaptureAddressInfo( + const safe_VkDeviceMemoryOpaqueCaptureAddressInfo& copy_src) { + sType = copy_src.sType; + memory = copy_src.memory; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDeviceMemoryOpaqueCaptureAddressInfo& safe_VkDeviceMemoryOpaqueCaptureAddressInfo::operator=( + const safe_VkDeviceMemoryOpaqueCaptureAddressInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + memory = copy_src.memory; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDeviceMemoryOpaqueCaptureAddressInfo::~safe_VkDeviceMemoryOpaqueCaptureAddressInfo() { FreePnextChain(pNext); } + +void safe_VkDeviceMemoryOpaqueCaptureAddressInfo::initialize(const VkDeviceMemoryOpaqueCaptureAddressInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + memory = in_struct->memory; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDeviceMemoryOpaqueCaptureAddressInfo::initialize(const safe_VkDeviceMemoryOpaqueCaptureAddressInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memory = copy_src->memory; pNext = SafePnextCopy(copy_src->pNext); } @@ -11387,98 +11586,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceDriverProperties::safe_VkPhysicalDeviceDriverProperties(const VkPhysicalDeviceDriverProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), driverID(in_struct->driverID), conformanceVersion(in_struct->conformanceVersion) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { - driverName[i] = in_struct->driverName[i]; - } - - for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { - driverInfo[i] = in_struct->driverInfo[i]; - } -} - -safe_VkPhysicalDeviceDriverProperties::safe_VkPhysicalDeviceDriverProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES), pNext(nullptr), driverID(), conformanceVersion() {} - -safe_VkPhysicalDeviceDriverProperties::safe_VkPhysicalDeviceDriverProperties( - const safe_VkPhysicalDeviceDriverProperties& copy_src) { - sType = copy_src.sType; - driverID = copy_src.driverID; - conformanceVersion = copy_src.conformanceVersion; - pNext = SafePnextCopy(copy_src.pNext); - - for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { - driverName[i] = copy_src.driverName[i]; - } - - for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { - driverInfo[i] = copy_src.driverInfo[i]; - } -} - -safe_VkPhysicalDeviceDriverProperties& safe_VkPhysicalDeviceDriverProperties::operator=( - const safe_VkPhysicalDeviceDriverProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - driverID = copy_src.driverID; - conformanceVersion = copy_src.conformanceVersion; - pNext = SafePnextCopy(copy_src.pNext); - - for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { - driverName[i] = copy_src.driverName[i]; - } - - for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { - driverInfo[i] = copy_src.driverInfo[i]; - } - - return *this; -} - -safe_VkPhysicalDeviceDriverProperties::~safe_VkPhysicalDeviceDriverProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceDriverProperties::initialize(const VkPhysicalDeviceDriverProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - driverID = in_struct->driverID; - conformanceVersion = in_struct->conformanceVersion; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { - driverName[i] = in_struct->driverName[i]; - } - - for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { - driverInfo[i] = in_struct->driverInfo[i]; - } -} - -void safe_VkPhysicalDeviceDriverProperties::initialize(const safe_VkPhysicalDeviceDriverProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - driverID = copy_src->driverID; - conformanceVersion = copy_src->conformanceVersion; - pNext = SafePnextCopy(copy_src->pNext); - - for (uint32_t i = 0; i < VK_MAX_DRIVER_NAME_SIZE; ++i) { - driverName[i] = copy_src->driverName[i]; - } - - for (uint32_t i = 0; i < VK_MAX_DRIVER_INFO_SIZE; ++i) { - driverInfo[i] = copy_src->driverInfo[i]; - } -} - safe_VkPhysicalDeviceShaderAtomicInt64Features::safe_VkPhysicalDeviceShaderAtomicInt64Features( const VkPhysicalDeviceShaderAtomicInt64Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -12305,6 +12412,1073 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceScalarBlockLayoutFeatures::safe_VkPhysicalDeviceScalarBlockLayoutFeatures( + const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), scalarBlockLayout(in_struct->scalarBlockLayout) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceScalarBlockLayoutFeatures::safe_VkPhysicalDeviceScalarBlockLayoutFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES), pNext(nullptr), scalarBlockLayout() {} + +safe_VkPhysicalDeviceScalarBlockLayoutFeatures::safe_VkPhysicalDeviceScalarBlockLayoutFeatures( + const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src) { + sType = copy_src.sType; + scalarBlockLayout = copy_src.scalarBlockLayout; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceScalarBlockLayoutFeatures& safe_VkPhysicalDeviceScalarBlockLayoutFeatures::operator=( + const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + scalarBlockLayout = copy_src.scalarBlockLayout; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceScalarBlockLayoutFeatures::~safe_VkPhysicalDeviceScalarBlockLayoutFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceScalarBlockLayoutFeatures::initialize(const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + scalarBlockLayout = in_struct->scalarBlockLayout; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceScalarBlockLayoutFeatures::initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + scalarBlockLayout = copy_src->scalarBlockLayout; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSamplerReductionModeCreateInfo::safe_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), reductionMode(in_struct->reductionMode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSamplerReductionModeCreateInfo::safe_VkSamplerReductionModeCreateInfo() + : sType(VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO), pNext(nullptr), reductionMode() {} + +safe_VkSamplerReductionModeCreateInfo::safe_VkSamplerReductionModeCreateInfo( + const safe_VkSamplerReductionModeCreateInfo& copy_src) { + sType = copy_src.sType; + reductionMode = copy_src.reductionMode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSamplerReductionModeCreateInfo& safe_VkSamplerReductionModeCreateInfo::operator=( + const safe_VkSamplerReductionModeCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + reductionMode = copy_src.reductionMode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSamplerReductionModeCreateInfo::~safe_VkSamplerReductionModeCreateInfo() { FreePnextChain(pNext); } + +void safe_VkSamplerReductionModeCreateInfo::initialize(const VkSamplerReductionModeCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + reductionMode = in_struct->reductionMode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSamplerReductionModeCreateInfo::initialize(const safe_VkSamplerReductionModeCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + reductionMode = copy_src->reductionMode; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::safe_VkPhysicalDeviceSamplerFilterMinmaxProperties( + const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + filterMinmaxSingleComponentFormats(in_struct->filterMinmaxSingleComponentFormats), + filterMinmaxImageComponentMapping(in_struct->filterMinmaxImageComponentMapping) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::safe_VkPhysicalDeviceSamplerFilterMinmaxProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES), + pNext(nullptr), + filterMinmaxSingleComponentFormats(), + filterMinmaxImageComponentMapping() {} + +safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::safe_VkPhysicalDeviceSamplerFilterMinmaxProperties( + const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src) { + sType = copy_src.sType; + filterMinmaxSingleComponentFormats = copy_src.filterMinmaxSingleComponentFormats; + filterMinmaxImageComponentMapping = copy_src.filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::operator=( + const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + filterMinmaxSingleComponentFormats = copy_src.filterMinmaxSingleComponentFormats; + filterMinmaxImageComponentMapping = copy_src.filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::~safe_VkPhysicalDeviceSamplerFilterMinmaxProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::initialize(const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + filterMinmaxSingleComponentFormats = in_struct->filterMinmaxSingleComponentFormats; + filterMinmaxImageComponentMapping = in_struct->filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::initialize( + const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + filterMinmaxSingleComponentFormats = copy_src->filterMinmaxSingleComponentFormats; + filterMinmaxImageComponentMapping = copy_src->filterMinmaxImageComponentMapping; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures( + const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), uniformBufferStandardLayout(in_struct->uniformBufferStandardLayout) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES), + pNext(nullptr), + uniformBufferStandardLayout() {} + +safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures( + const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src) { + sType = copy_src.sType; + uniformBufferStandardLayout = copy_src.uniformBufferStandardLayout; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::operator=( + const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + uniformBufferStandardLayout = copy_src.uniformBufferStandardLayout; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::initialize( + const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + uniformBufferStandardLayout = in_struct->uniformBufferStandardLayout; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::initialize( + const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + uniformBufferStandardLayout = copy_src->uniformBufferStandardLayout; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures( + const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderSubgroupExtendedTypes(in_struct->shaderSubgroupExtendedTypes) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES), + pNext(nullptr), + shaderSubgroupExtendedTypes() {} + +safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures( + const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src) { + sType = copy_src.sType; + shaderSubgroupExtendedTypes = copy_src.shaderSubgroupExtendedTypes; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::operator=( + const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderSubgroupExtendedTypes = copy_src.shaderSubgroupExtendedTypes; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::~safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::initialize( + const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderSubgroupExtendedTypes = in_struct->shaderSubgroupExtendedTypes; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::initialize( + const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderSubgroupExtendedTypes = copy_src->shaderSubgroupExtendedTypes; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAttachmentDescription2::safe_VkAttachmentDescription2(const VkAttachmentDescription2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + format(in_struct->format), + samples(in_struct->samples), + loadOp(in_struct->loadOp), + storeOp(in_struct->storeOp), + stencilLoadOp(in_struct->stencilLoadOp), + stencilStoreOp(in_struct->stencilStoreOp), + initialLayout(in_struct->initialLayout), + finalLayout(in_struct->finalLayout) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAttachmentDescription2::safe_VkAttachmentDescription2() + : sType(VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2), + pNext(nullptr), + flags(), + format(), + samples(), + loadOp(), + storeOp(), + stencilLoadOp(), + stencilStoreOp(), + initialLayout(), + finalLayout() {} + +safe_VkAttachmentDescription2::safe_VkAttachmentDescription2(const safe_VkAttachmentDescription2& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + format = copy_src.format; + samples = copy_src.samples; + loadOp = copy_src.loadOp; + storeOp = copy_src.storeOp; + stencilLoadOp = copy_src.stencilLoadOp; + stencilStoreOp = copy_src.stencilStoreOp; + initialLayout = copy_src.initialLayout; + finalLayout = copy_src.finalLayout; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAttachmentDescription2& safe_VkAttachmentDescription2::operator=(const safe_VkAttachmentDescription2& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + format = copy_src.format; + samples = copy_src.samples; + loadOp = copy_src.loadOp; + storeOp = copy_src.storeOp; + stencilLoadOp = copy_src.stencilLoadOp; + stencilStoreOp = copy_src.stencilStoreOp; + initialLayout = copy_src.initialLayout; + finalLayout = copy_src.finalLayout; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAttachmentDescription2::~safe_VkAttachmentDescription2() { FreePnextChain(pNext); } + +void safe_VkAttachmentDescription2::initialize(const VkAttachmentDescription2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + format = in_struct->format; + samples = in_struct->samples; + loadOp = in_struct->loadOp; + storeOp = in_struct->storeOp; + stencilLoadOp = in_struct->stencilLoadOp; + stencilStoreOp = in_struct->stencilStoreOp; + initialLayout = in_struct->initialLayout; + finalLayout = in_struct->finalLayout; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAttachmentDescription2::initialize(const safe_VkAttachmentDescription2* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + format = copy_src->format; + samples = copy_src->samples; + loadOp = copy_src->loadOp; + storeOp = copy_src->storeOp; + stencilLoadOp = copy_src->stencilLoadOp; + stencilStoreOp = copy_src->stencilStoreOp; + initialLayout = copy_src->initialLayout; + finalLayout = copy_src->finalLayout; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAttachmentReference2::safe_VkAttachmentReference2(const VkAttachmentReference2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), attachment(in_struct->attachment), layout(in_struct->layout), aspectMask(in_struct->aspectMask) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAttachmentReference2::safe_VkAttachmentReference2() + : sType(VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2), pNext(nullptr), attachment(), layout(), aspectMask() {} + +safe_VkAttachmentReference2::safe_VkAttachmentReference2(const safe_VkAttachmentReference2& copy_src) { + sType = copy_src.sType; + attachment = copy_src.attachment; + layout = copy_src.layout; + aspectMask = copy_src.aspectMask; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAttachmentReference2& safe_VkAttachmentReference2::operator=(const safe_VkAttachmentReference2& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + attachment = copy_src.attachment; + layout = copy_src.layout; + aspectMask = copy_src.aspectMask; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAttachmentReference2::~safe_VkAttachmentReference2() { FreePnextChain(pNext); } + +void safe_VkAttachmentReference2::initialize(const VkAttachmentReference2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + attachment = in_struct->attachment; + layout = in_struct->layout; + aspectMask = in_struct->aspectMask; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAttachmentReference2::initialize(const safe_VkAttachmentReference2* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + attachment = copy_src->attachment; + layout = copy_src->layout; + aspectMask = copy_src->aspectMask; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSubpassDescription2::safe_VkSubpassDescription2(const VkSubpassDescription2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + pipelineBindPoint(in_struct->pipelineBindPoint), + viewMask(in_struct->viewMask), + inputAttachmentCount(in_struct->inputAttachmentCount), + pInputAttachments(nullptr), + colorAttachmentCount(in_struct->colorAttachmentCount), + pColorAttachments(nullptr), + pResolveAttachments(nullptr), + pDepthStencilAttachment(nullptr), + preserveAttachmentCount(in_struct->preserveAttachmentCount), + pPreserveAttachments(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (inputAttachmentCount && in_struct->pInputAttachments) { + pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { + pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]); + } + } + if (colorAttachmentCount && in_struct->pColorAttachments) { + pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]); + } + } + if (colorAttachmentCount && in_struct->pResolveAttachments) { + pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]); + } + } + if (in_struct->pDepthStencilAttachment) + pDepthStencilAttachment = new safe_VkAttachmentReference2(in_struct->pDepthStencilAttachment); + + if (in_struct->pPreserveAttachments) { + pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount]; + memcpy((void*)pPreserveAttachments, (void*)in_struct->pPreserveAttachments, + sizeof(uint32_t) * in_struct->preserveAttachmentCount); + } +} + +safe_VkSubpassDescription2::safe_VkSubpassDescription2() + : sType(VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2), + pNext(nullptr), + flags(), + pipelineBindPoint(), + viewMask(), + inputAttachmentCount(), + pInputAttachments(nullptr), + colorAttachmentCount(), + pColorAttachments(nullptr), + pResolveAttachments(nullptr), + pDepthStencilAttachment(nullptr), + preserveAttachmentCount(), + pPreserveAttachments(nullptr) {} + +safe_VkSubpassDescription2::safe_VkSubpassDescription2(const safe_VkSubpassDescription2& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pipelineBindPoint = copy_src.pipelineBindPoint; + viewMask = copy_src.viewMask; + inputAttachmentCount = copy_src.inputAttachmentCount; + pInputAttachments = nullptr; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachments = nullptr; + pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; + preserveAttachmentCount = copy_src.preserveAttachmentCount; + pPreserveAttachments = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (inputAttachmentCount && copy_src.pInputAttachments) { + pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { + pInputAttachments[i].initialize(©_src.pInputAttachments[i]); + } + } + if (colorAttachmentCount && copy_src.pColorAttachments) { + pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pColorAttachments[i].initialize(©_src.pColorAttachments[i]); + } + } + if (colorAttachmentCount && copy_src.pResolveAttachments) { + pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pResolveAttachments[i].initialize(©_src.pResolveAttachments[i]); + } + } + if (copy_src.pDepthStencilAttachment) + pDepthStencilAttachment = new safe_VkAttachmentReference2(*copy_src.pDepthStencilAttachment); + + if (copy_src.pPreserveAttachments) { + pPreserveAttachments = new uint32_t[copy_src.preserveAttachmentCount]; + memcpy((void*)pPreserveAttachments, (void*)copy_src.pPreserveAttachments, + sizeof(uint32_t) * copy_src.preserveAttachmentCount); + } +} + +safe_VkSubpassDescription2& safe_VkSubpassDescription2::operator=(const safe_VkSubpassDescription2& copy_src) { + if (©_src == this) return *this; + + if (pInputAttachments) delete[] pInputAttachments; + if (pColorAttachments) delete[] pColorAttachments; + if (pResolveAttachments) delete[] pResolveAttachments; + if (pDepthStencilAttachment) delete pDepthStencilAttachment; + if (pPreserveAttachments) delete[] pPreserveAttachments; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pipelineBindPoint = copy_src.pipelineBindPoint; + viewMask = copy_src.viewMask; + inputAttachmentCount = copy_src.inputAttachmentCount; + pInputAttachments = nullptr; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachments = nullptr; + pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; + preserveAttachmentCount = copy_src.preserveAttachmentCount; + pPreserveAttachments = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (inputAttachmentCount && copy_src.pInputAttachments) { + pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { + pInputAttachments[i].initialize(©_src.pInputAttachments[i]); + } + } + if (colorAttachmentCount && copy_src.pColorAttachments) { + pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pColorAttachments[i].initialize(©_src.pColorAttachments[i]); + } + } + if (colorAttachmentCount && copy_src.pResolveAttachments) { + pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pResolveAttachments[i].initialize(©_src.pResolveAttachments[i]); + } + } + if (copy_src.pDepthStencilAttachment) + pDepthStencilAttachment = new safe_VkAttachmentReference2(*copy_src.pDepthStencilAttachment); + + if (copy_src.pPreserveAttachments) { + pPreserveAttachments = new uint32_t[copy_src.preserveAttachmentCount]; + memcpy((void*)pPreserveAttachments, (void*)copy_src.pPreserveAttachments, + sizeof(uint32_t) * copy_src.preserveAttachmentCount); + } + + return *this; +} + +safe_VkSubpassDescription2::~safe_VkSubpassDescription2() { + if (pInputAttachments) delete[] pInputAttachments; + if (pColorAttachments) delete[] pColorAttachments; + if (pResolveAttachments) delete[] pResolveAttachments; + if (pDepthStencilAttachment) delete pDepthStencilAttachment; + if (pPreserveAttachments) delete[] pPreserveAttachments; + FreePnextChain(pNext); +} + +void safe_VkSubpassDescription2::initialize(const VkSubpassDescription2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pInputAttachments) delete[] pInputAttachments; + if (pColorAttachments) delete[] pColorAttachments; + if (pResolveAttachments) delete[] pResolveAttachments; + if (pDepthStencilAttachment) delete pDepthStencilAttachment; + if (pPreserveAttachments) delete[] pPreserveAttachments; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pipelineBindPoint = in_struct->pipelineBindPoint; + viewMask = in_struct->viewMask; + inputAttachmentCount = in_struct->inputAttachmentCount; + pInputAttachments = nullptr; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachments = nullptr; + pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; + preserveAttachmentCount = in_struct->preserveAttachmentCount; + pPreserveAttachments = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (inputAttachmentCount && in_struct->pInputAttachments) { + pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { + pInputAttachments[i].initialize(&in_struct->pInputAttachments[i]); + } + } + if (colorAttachmentCount && in_struct->pColorAttachments) { + pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pColorAttachments[i].initialize(&in_struct->pColorAttachments[i]); + } + } + if (colorAttachmentCount && in_struct->pResolveAttachments) { + pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pResolveAttachments[i].initialize(&in_struct->pResolveAttachments[i]); + } + } + if (in_struct->pDepthStencilAttachment) + pDepthStencilAttachment = new safe_VkAttachmentReference2(in_struct->pDepthStencilAttachment); + + if (in_struct->pPreserveAttachments) { + pPreserveAttachments = new uint32_t[in_struct->preserveAttachmentCount]; + memcpy((void*)pPreserveAttachments, (void*)in_struct->pPreserveAttachments, + sizeof(uint32_t) * in_struct->preserveAttachmentCount); + } +} + +void safe_VkSubpassDescription2::initialize(const safe_VkSubpassDescription2* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pipelineBindPoint = copy_src->pipelineBindPoint; + viewMask = copy_src->viewMask; + inputAttachmentCount = copy_src->inputAttachmentCount; + pInputAttachments = nullptr; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachments = nullptr; + pResolveAttachments = nullptr; + pDepthStencilAttachment = nullptr; + preserveAttachmentCount = copy_src->preserveAttachmentCount; + pPreserveAttachments = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (inputAttachmentCount && copy_src->pInputAttachments) { + pInputAttachments = new safe_VkAttachmentReference2[inputAttachmentCount]; + for (uint32_t i = 0; i < inputAttachmentCount; ++i) { + pInputAttachments[i].initialize(©_src->pInputAttachments[i]); + } + } + if (colorAttachmentCount && copy_src->pColorAttachments) { + pColorAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pColorAttachments[i].initialize(©_src->pColorAttachments[i]); + } + } + if (colorAttachmentCount && copy_src->pResolveAttachments) { + pResolveAttachments = new safe_VkAttachmentReference2[colorAttachmentCount]; + for (uint32_t i = 0; i < colorAttachmentCount; ++i) { + pResolveAttachments[i].initialize(©_src->pResolveAttachments[i]); + } + } + if (copy_src->pDepthStencilAttachment) + pDepthStencilAttachment = new safe_VkAttachmentReference2(*copy_src->pDepthStencilAttachment); + + if (copy_src->pPreserveAttachments) { + pPreserveAttachments = new uint32_t[copy_src->preserveAttachmentCount]; + memcpy((void*)pPreserveAttachments, (void*)copy_src->pPreserveAttachments, + sizeof(uint32_t) * copy_src->preserveAttachmentCount); + } +} + +safe_VkSubpassDependency2::safe_VkSubpassDependency2(const VkSubpassDependency2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcSubpass(in_struct->srcSubpass), + dstSubpass(in_struct->dstSubpass), + srcStageMask(in_struct->srcStageMask), + dstStageMask(in_struct->dstStageMask), + srcAccessMask(in_struct->srcAccessMask), + dstAccessMask(in_struct->dstAccessMask), + dependencyFlags(in_struct->dependencyFlags), + viewOffset(in_struct->viewOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSubpassDependency2::safe_VkSubpassDependency2() + : sType(VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2), + pNext(nullptr), + srcSubpass(), + dstSubpass(), + srcStageMask(), + dstStageMask(), + srcAccessMask(), + dstAccessMask(), + dependencyFlags(), + viewOffset() {} + +safe_VkSubpassDependency2::safe_VkSubpassDependency2(const safe_VkSubpassDependency2& copy_src) { + sType = copy_src.sType; + srcSubpass = copy_src.srcSubpass; + dstSubpass = copy_src.dstSubpass; + srcStageMask = copy_src.srcStageMask; + dstStageMask = copy_src.dstStageMask; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + dependencyFlags = copy_src.dependencyFlags; + viewOffset = copy_src.viewOffset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSubpassDependency2& safe_VkSubpassDependency2::operator=(const safe_VkSubpassDependency2& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcSubpass = copy_src.srcSubpass; + dstSubpass = copy_src.dstSubpass; + srcStageMask = copy_src.srcStageMask; + dstStageMask = copy_src.dstStageMask; + srcAccessMask = copy_src.srcAccessMask; + dstAccessMask = copy_src.dstAccessMask; + dependencyFlags = copy_src.dependencyFlags; + viewOffset = copy_src.viewOffset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSubpassDependency2::~safe_VkSubpassDependency2() { FreePnextChain(pNext); } + +void safe_VkSubpassDependency2::initialize(const VkSubpassDependency2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcSubpass = in_struct->srcSubpass; + dstSubpass = in_struct->dstSubpass; + srcStageMask = in_struct->srcStageMask; + dstStageMask = in_struct->dstStageMask; + srcAccessMask = in_struct->srcAccessMask; + dstAccessMask = in_struct->dstAccessMask; + dependencyFlags = in_struct->dependencyFlags; + viewOffset = in_struct->viewOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSubpassDependency2::initialize(const safe_VkSubpassDependency2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcSubpass = copy_src->srcSubpass; + dstSubpass = copy_src->dstSubpass; + srcStageMask = copy_src->srcStageMask; + dstStageMask = copy_src->dstStageMask; + srcAccessMask = copy_src->srcAccessMask; + dstAccessMask = copy_src->dstAccessMask; + dependencyFlags = copy_src->dependencyFlags; + viewOffset = copy_src->viewOffset; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSubpassBeginInfo::safe_VkSubpassBeginInfo(const VkSubpassBeginInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), contents(in_struct->contents) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSubpassBeginInfo::safe_VkSubpassBeginInfo() : sType(VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO), pNext(nullptr), contents() {} + +safe_VkSubpassBeginInfo::safe_VkSubpassBeginInfo(const safe_VkSubpassBeginInfo& copy_src) { + sType = copy_src.sType; + contents = copy_src.contents; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSubpassBeginInfo& safe_VkSubpassBeginInfo::operator=(const safe_VkSubpassBeginInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + contents = copy_src.contents; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSubpassBeginInfo::~safe_VkSubpassBeginInfo() { FreePnextChain(pNext); } + +void safe_VkSubpassBeginInfo::initialize(const VkSubpassBeginInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + contents = in_struct->contents; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSubpassBeginInfo::initialize(const safe_VkSubpassBeginInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + contents = copy_src->contents; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSubpassEndInfo::safe_VkSubpassEndInfo(const VkSubpassEndInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSubpassEndInfo::safe_VkSubpassEndInfo() : sType(VK_STRUCTURE_TYPE_SUBPASS_END_INFO), pNext(nullptr) {} + +safe_VkSubpassEndInfo::safe_VkSubpassEndInfo(const safe_VkSubpassEndInfo& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSubpassEndInfo& safe_VkSubpassEndInfo::operator=(const safe_VkSubpassEndInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSubpassEndInfo::~safe_VkSubpassEndInfo() { FreePnextChain(pNext); } + +void safe_VkSubpassEndInfo::initialize(const VkSubpassEndInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSubpassEndInfo::initialize(const safe_VkSubpassEndInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderPassCreateInfo2::safe_VkRenderPassCreateInfo2(const VkRenderPassCreateInfo2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + attachmentCount(in_struct->attachmentCount), + pAttachments(nullptr), + subpassCount(in_struct->subpassCount), + pSubpasses(nullptr), + dependencyCount(in_struct->dependencyCount), + pDependencies(nullptr), + correlatedViewMaskCount(in_struct->correlatedViewMaskCount), + pCorrelatedViewMasks(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (attachmentCount && in_struct->pAttachments) { + pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i].initialize(&in_struct->pAttachments[i]); + } + } + if (subpassCount && in_struct->pSubpasses) { + pSubpasses = new safe_VkSubpassDescription2[subpassCount]; + for (uint32_t i = 0; i < subpassCount; ++i) { + pSubpasses[i].initialize(&in_struct->pSubpasses[i]); + } + } + if (dependencyCount && in_struct->pDependencies) { + pDependencies = new safe_VkSubpassDependency2[dependencyCount]; + for (uint32_t i = 0; i < dependencyCount; ++i) { + pDependencies[i].initialize(&in_struct->pDependencies[i]); + } + } + + if (in_struct->pCorrelatedViewMasks) { + pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount]; + memcpy((void*)pCorrelatedViewMasks, (void*)in_struct->pCorrelatedViewMasks, + sizeof(uint32_t) * in_struct->correlatedViewMaskCount); + } +} + +safe_VkRenderPassCreateInfo2::safe_VkRenderPassCreateInfo2() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2), + pNext(nullptr), + flags(), + attachmentCount(), + pAttachments(nullptr), + subpassCount(), + pSubpasses(nullptr), + dependencyCount(), + pDependencies(nullptr), + correlatedViewMaskCount(), + pCorrelatedViewMasks(nullptr) {} + +safe_VkRenderPassCreateInfo2::safe_VkRenderPassCreateInfo2(const safe_VkRenderPassCreateInfo2& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + attachmentCount = copy_src.attachmentCount; + pAttachments = nullptr; + subpassCount = copy_src.subpassCount; + pSubpasses = nullptr; + dependencyCount = copy_src.dependencyCount; + pDependencies = nullptr; + correlatedViewMaskCount = copy_src.correlatedViewMaskCount; + pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (attachmentCount && copy_src.pAttachments) { + pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i].initialize(©_src.pAttachments[i]); + } + } + if (subpassCount && copy_src.pSubpasses) { + pSubpasses = new safe_VkSubpassDescription2[subpassCount]; + for (uint32_t i = 0; i < subpassCount; ++i) { + pSubpasses[i].initialize(©_src.pSubpasses[i]); + } + } + if (dependencyCount && copy_src.pDependencies) { + pDependencies = new safe_VkSubpassDependency2[dependencyCount]; + for (uint32_t i = 0; i < dependencyCount; ++i) { + pDependencies[i].initialize(©_src.pDependencies[i]); + } + } + + if (copy_src.pCorrelatedViewMasks) { + pCorrelatedViewMasks = new uint32_t[copy_src.correlatedViewMaskCount]; + memcpy((void*)pCorrelatedViewMasks, (void*)copy_src.pCorrelatedViewMasks, + sizeof(uint32_t) * copy_src.correlatedViewMaskCount); + } +} + +safe_VkRenderPassCreateInfo2& safe_VkRenderPassCreateInfo2::operator=(const safe_VkRenderPassCreateInfo2& copy_src) { + if (©_src == this) return *this; + + if (pAttachments) delete[] pAttachments; + if (pSubpasses) delete[] pSubpasses; + if (pDependencies) delete[] pDependencies; + if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + attachmentCount = copy_src.attachmentCount; + pAttachments = nullptr; + subpassCount = copy_src.subpassCount; + pSubpasses = nullptr; + dependencyCount = copy_src.dependencyCount; + pDependencies = nullptr; + correlatedViewMaskCount = copy_src.correlatedViewMaskCount; + pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (attachmentCount && copy_src.pAttachments) { + pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i].initialize(©_src.pAttachments[i]); + } + } + if (subpassCount && copy_src.pSubpasses) { + pSubpasses = new safe_VkSubpassDescription2[subpassCount]; + for (uint32_t i = 0; i < subpassCount; ++i) { + pSubpasses[i].initialize(©_src.pSubpasses[i]); + } + } + if (dependencyCount && copy_src.pDependencies) { + pDependencies = new safe_VkSubpassDependency2[dependencyCount]; + for (uint32_t i = 0; i < dependencyCount; ++i) { + pDependencies[i].initialize(©_src.pDependencies[i]); + } + } + + if (copy_src.pCorrelatedViewMasks) { + pCorrelatedViewMasks = new uint32_t[copy_src.correlatedViewMaskCount]; + memcpy((void*)pCorrelatedViewMasks, (void*)copy_src.pCorrelatedViewMasks, + sizeof(uint32_t) * copy_src.correlatedViewMaskCount); + } + + return *this; +} + +safe_VkRenderPassCreateInfo2::~safe_VkRenderPassCreateInfo2() { + if (pAttachments) delete[] pAttachments; + if (pSubpasses) delete[] pSubpasses; + if (pDependencies) delete[] pDependencies; + if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; + FreePnextChain(pNext); +} + +void safe_VkRenderPassCreateInfo2::initialize(const VkRenderPassCreateInfo2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pAttachments) delete[] pAttachments; + if (pSubpasses) delete[] pSubpasses; + if (pDependencies) delete[] pDependencies; + if (pCorrelatedViewMasks) delete[] pCorrelatedViewMasks; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + attachmentCount = in_struct->attachmentCount; + pAttachments = nullptr; + subpassCount = in_struct->subpassCount; + pSubpasses = nullptr; + dependencyCount = in_struct->dependencyCount; + pDependencies = nullptr; + correlatedViewMaskCount = in_struct->correlatedViewMaskCount; + pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (attachmentCount && in_struct->pAttachments) { + pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i].initialize(&in_struct->pAttachments[i]); + } + } + if (subpassCount && in_struct->pSubpasses) { + pSubpasses = new safe_VkSubpassDescription2[subpassCount]; + for (uint32_t i = 0; i < subpassCount; ++i) { + pSubpasses[i].initialize(&in_struct->pSubpasses[i]); + } + } + if (dependencyCount && in_struct->pDependencies) { + pDependencies = new safe_VkSubpassDependency2[dependencyCount]; + for (uint32_t i = 0; i < dependencyCount; ++i) { + pDependencies[i].initialize(&in_struct->pDependencies[i]); + } + } + + if (in_struct->pCorrelatedViewMasks) { + pCorrelatedViewMasks = new uint32_t[in_struct->correlatedViewMaskCount]; + memcpy((void*)pCorrelatedViewMasks, (void*)in_struct->pCorrelatedViewMasks, + sizeof(uint32_t) * in_struct->correlatedViewMaskCount); + } +} + +void safe_VkRenderPassCreateInfo2::initialize(const safe_VkRenderPassCreateInfo2* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + attachmentCount = copy_src->attachmentCount; + pAttachments = nullptr; + subpassCount = copy_src->subpassCount; + pSubpasses = nullptr; + dependencyCount = copy_src->dependencyCount; + pDependencies = nullptr; + correlatedViewMaskCount = copy_src->correlatedViewMaskCount; + pCorrelatedViewMasks = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (attachmentCount && copy_src->pAttachments) { + pAttachments = new safe_VkAttachmentDescription2[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i].initialize(©_src->pAttachments[i]); + } + } + if (subpassCount && copy_src->pSubpasses) { + pSubpasses = new safe_VkSubpassDescription2[subpassCount]; + for (uint32_t i = 0; i < subpassCount; ++i) { + pSubpasses[i].initialize(©_src->pSubpasses[i]); + } + } + if (dependencyCount && copy_src->pDependencies) { + pDependencies = new safe_VkSubpassDependency2[dependencyCount]; + for (uint32_t i = 0; i < dependencyCount; ++i) { + pDependencies[i].initialize(©_src->pDependencies[i]); + } + } + + if (copy_src->pCorrelatedViewMasks) { + pCorrelatedViewMasks = new uint32_t[copy_src->correlatedViewMaskCount]; + memcpy((void*)pCorrelatedViewMasks, (void*)copy_src->pCorrelatedViewMasks, + sizeof(uint32_t) * copy_src->correlatedViewMaskCount); + } +} + safe_VkSubpassDescriptionDepthStencilResolve::safe_VkSubpassDescriptionDepthStencilResolve( const VkSubpassDescriptionDepthStencilResolve* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -12452,54 +13626,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceScalarBlockLayoutFeatures::safe_VkPhysicalDeviceScalarBlockLayoutFeatures( - const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), scalarBlockLayout(in_struct->scalarBlockLayout) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceScalarBlockLayoutFeatures::safe_VkPhysicalDeviceScalarBlockLayoutFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES), pNext(nullptr), scalarBlockLayout() {} - -safe_VkPhysicalDeviceScalarBlockLayoutFeatures::safe_VkPhysicalDeviceScalarBlockLayoutFeatures( - const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src) { - sType = copy_src.sType; - scalarBlockLayout = copy_src.scalarBlockLayout; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceScalarBlockLayoutFeatures& safe_VkPhysicalDeviceScalarBlockLayoutFeatures::operator=( - const safe_VkPhysicalDeviceScalarBlockLayoutFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - scalarBlockLayout = copy_src.scalarBlockLayout; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceScalarBlockLayoutFeatures::~safe_VkPhysicalDeviceScalarBlockLayoutFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceScalarBlockLayoutFeatures::initialize(const VkPhysicalDeviceScalarBlockLayoutFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - scalarBlockLayout = in_struct->scalarBlockLayout; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceScalarBlockLayoutFeatures::initialize(const safe_VkPhysicalDeviceScalarBlockLayoutFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - scalarBlockLayout = copy_src->scalarBlockLayout; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkImageStencilUsageCreateInfo::safe_VkImageStencilUsageCreateInfo(const VkImageStencilUsageCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), stencilUsage(in_struct->stencilUsage) { @@ -12547,175 +13673,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkSamplerReductionModeCreateInfo::safe_VkSamplerReductionModeCreateInfo(const VkSamplerReductionModeCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), reductionMode(in_struct->reductionMode) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSamplerReductionModeCreateInfo::safe_VkSamplerReductionModeCreateInfo() - : sType(VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO), pNext(nullptr), reductionMode() {} - -safe_VkSamplerReductionModeCreateInfo::safe_VkSamplerReductionModeCreateInfo( - const safe_VkSamplerReductionModeCreateInfo& copy_src) { - sType = copy_src.sType; - reductionMode = copy_src.reductionMode; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSamplerReductionModeCreateInfo& safe_VkSamplerReductionModeCreateInfo::operator=( - const safe_VkSamplerReductionModeCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - reductionMode = copy_src.reductionMode; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSamplerReductionModeCreateInfo::~safe_VkSamplerReductionModeCreateInfo() { FreePnextChain(pNext); } - -void safe_VkSamplerReductionModeCreateInfo::initialize(const VkSamplerReductionModeCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - reductionMode = in_struct->reductionMode; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSamplerReductionModeCreateInfo::initialize(const safe_VkSamplerReductionModeCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - reductionMode = copy_src->reductionMode; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::safe_VkPhysicalDeviceSamplerFilterMinmaxProperties( - const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - filterMinmaxSingleComponentFormats(in_struct->filterMinmaxSingleComponentFormats), - filterMinmaxImageComponentMapping(in_struct->filterMinmaxImageComponentMapping) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::safe_VkPhysicalDeviceSamplerFilterMinmaxProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES), - pNext(nullptr), - filterMinmaxSingleComponentFormats(), - filterMinmaxImageComponentMapping() {} - -safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::safe_VkPhysicalDeviceSamplerFilterMinmaxProperties( - const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src) { - sType = copy_src.sType; - filterMinmaxSingleComponentFormats = copy_src.filterMinmaxSingleComponentFormats; - filterMinmaxImageComponentMapping = copy_src.filterMinmaxImageComponentMapping; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::operator=( - const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - filterMinmaxSingleComponentFormats = copy_src.filterMinmaxSingleComponentFormats; - filterMinmaxImageComponentMapping = copy_src.filterMinmaxImageComponentMapping; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::~safe_VkPhysicalDeviceSamplerFilterMinmaxProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::initialize(const VkPhysicalDeviceSamplerFilterMinmaxProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - filterMinmaxSingleComponentFormats = in_struct->filterMinmaxSingleComponentFormats; - filterMinmaxImageComponentMapping = in_struct->filterMinmaxImageComponentMapping; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceSamplerFilterMinmaxProperties::initialize( - const safe_VkPhysicalDeviceSamplerFilterMinmaxProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - filterMinmaxSingleComponentFormats = copy_src->filterMinmaxSingleComponentFormats; - filterMinmaxImageComponentMapping = copy_src->filterMinmaxImageComponentMapping; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceVulkanMemoryModelFeatures::safe_VkPhysicalDeviceVulkanMemoryModelFeatures( - const VkPhysicalDeviceVulkanMemoryModelFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - vulkanMemoryModel(in_struct->vulkanMemoryModel), - vulkanMemoryModelDeviceScope(in_struct->vulkanMemoryModelDeviceScope), - vulkanMemoryModelAvailabilityVisibilityChains(in_struct->vulkanMemoryModelAvailabilityVisibilityChains) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceVulkanMemoryModelFeatures::safe_VkPhysicalDeviceVulkanMemoryModelFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES), - pNext(nullptr), - vulkanMemoryModel(), - vulkanMemoryModelDeviceScope(), - vulkanMemoryModelAvailabilityVisibilityChains() {} - -safe_VkPhysicalDeviceVulkanMemoryModelFeatures::safe_VkPhysicalDeviceVulkanMemoryModelFeatures( - const safe_VkPhysicalDeviceVulkanMemoryModelFeatures& copy_src) { - sType = copy_src.sType; - vulkanMemoryModel = copy_src.vulkanMemoryModel; - vulkanMemoryModelDeviceScope = copy_src.vulkanMemoryModelDeviceScope; - vulkanMemoryModelAvailabilityVisibilityChains = copy_src.vulkanMemoryModelAvailabilityVisibilityChains; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceVulkanMemoryModelFeatures& safe_VkPhysicalDeviceVulkanMemoryModelFeatures::operator=( - const safe_VkPhysicalDeviceVulkanMemoryModelFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - vulkanMemoryModel = copy_src.vulkanMemoryModel; - vulkanMemoryModelDeviceScope = copy_src.vulkanMemoryModelDeviceScope; - vulkanMemoryModelAvailabilityVisibilityChains = copy_src.vulkanMemoryModelAvailabilityVisibilityChains; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceVulkanMemoryModelFeatures::~safe_VkPhysicalDeviceVulkanMemoryModelFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceVulkanMemoryModelFeatures::initialize(const VkPhysicalDeviceVulkanMemoryModelFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - vulkanMemoryModel = in_struct->vulkanMemoryModel; - vulkanMemoryModelDeviceScope = in_struct->vulkanMemoryModelDeviceScope; - vulkanMemoryModelAvailabilityVisibilityChains = in_struct->vulkanMemoryModelAvailabilityVisibilityChains; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceVulkanMemoryModelFeatures::initialize(const safe_VkPhysicalDeviceVulkanMemoryModelFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - vulkanMemoryModel = copy_src->vulkanMemoryModel; - vulkanMemoryModelDeviceScope = copy_src->vulkanMemoryModelDeviceScope; - vulkanMemoryModelAvailabilityVisibilityChains = copy_src->vulkanMemoryModelAvailabilityVisibilityChains; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceImagelessFramebufferFeatures::safe_VkPhysicalDeviceImagelessFramebufferFeatures( const VkPhysicalDeviceImagelessFramebufferFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), imagelessFramebuffer(in_struct->imagelessFramebuffer) { @@ -12881,6 +13838,93 @@ } } +safe_VkRenderPassAttachmentBeginInfo::safe_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), attachmentCount(in_struct->attachmentCount), pAttachments(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (attachmentCount && in_struct->pAttachments) { + pAttachments = new VkImageView[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i] = in_struct->pAttachments[i]; + } + } +} + +safe_VkRenderPassAttachmentBeginInfo::safe_VkRenderPassAttachmentBeginInfo() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO), pNext(nullptr), attachmentCount(), pAttachments(nullptr) {} + +safe_VkRenderPassAttachmentBeginInfo::safe_VkRenderPassAttachmentBeginInfo(const safe_VkRenderPassAttachmentBeginInfo& copy_src) { + sType = copy_src.sType; + attachmentCount = copy_src.attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (attachmentCount && copy_src.pAttachments) { + pAttachments = new VkImageView[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i] = copy_src.pAttachments[i]; + } + } +} + +safe_VkRenderPassAttachmentBeginInfo& safe_VkRenderPassAttachmentBeginInfo::operator=( + const safe_VkRenderPassAttachmentBeginInfo& copy_src) { + if (©_src == this) return *this; + + if (pAttachments) delete[] pAttachments; + FreePnextChain(pNext); + + sType = copy_src.sType; + attachmentCount = copy_src.attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (attachmentCount && copy_src.pAttachments) { + pAttachments = new VkImageView[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i] = copy_src.pAttachments[i]; + } + } + + return *this; +} + +safe_VkRenderPassAttachmentBeginInfo::~safe_VkRenderPassAttachmentBeginInfo() { + if (pAttachments) delete[] pAttachments; + FreePnextChain(pNext); +} + +void safe_VkRenderPassAttachmentBeginInfo::initialize(const VkRenderPassAttachmentBeginInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pAttachments) delete[] pAttachments; + FreePnextChain(pNext); + sType = in_struct->sType; + attachmentCount = in_struct->attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (attachmentCount && in_struct->pAttachments) { + pAttachments = new VkImageView[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i] = in_struct->pAttachments[i]; + } + } +} + +void safe_VkRenderPassAttachmentBeginInfo::initialize(const safe_VkRenderPassAttachmentBeginInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + attachmentCount = copy_src->attachmentCount; + pAttachments = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (attachmentCount && copy_src->pAttachments) { + pAttachments = new VkImageView[attachmentCount]; + for (uint32_t i = 0; i < attachmentCount; ++i) { + pAttachments[i] = copy_src->pAttachments[i]; + } + } +} + safe_VkFramebufferAttachmentsCreateInfo::safe_VkFramebufferAttachmentsCreateInfo( const VkFramebufferAttachmentsCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), attachmentImageInfoCount(in_struct->attachmentImageInfoCount), pAttachmentImageInfos(nullptr) { @@ -12971,199 +14015,6 @@ } } -safe_VkRenderPassAttachmentBeginInfo::safe_VkRenderPassAttachmentBeginInfo(const VkRenderPassAttachmentBeginInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), attachmentCount(in_struct->attachmentCount), pAttachments(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (attachmentCount && in_struct->pAttachments) { - pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i] = in_struct->pAttachments[i]; - } - } -} - -safe_VkRenderPassAttachmentBeginInfo::safe_VkRenderPassAttachmentBeginInfo() - : sType(VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO), pNext(nullptr), attachmentCount(), pAttachments(nullptr) {} - -safe_VkRenderPassAttachmentBeginInfo::safe_VkRenderPassAttachmentBeginInfo(const safe_VkRenderPassAttachmentBeginInfo& copy_src) { - sType = copy_src.sType; - attachmentCount = copy_src.attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (attachmentCount && copy_src.pAttachments) { - pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i] = copy_src.pAttachments[i]; - } - } -} - -safe_VkRenderPassAttachmentBeginInfo& safe_VkRenderPassAttachmentBeginInfo::operator=( - const safe_VkRenderPassAttachmentBeginInfo& copy_src) { - if (©_src == this) return *this; - - if (pAttachments) delete[] pAttachments; - FreePnextChain(pNext); - - sType = copy_src.sType; - attachmentCount = copy_src.attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (attachmentCount && copy_src.pAttachments) { - pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i] = copy_src.pAttachments[i]; - } - } - - return *this; -} - -safe_VkRenderPassAttachmentBeginInfo::~safe_VkRenderPassAttachmentBeginInfo() { - if (pAttachments) delete[] pAttachments; - FreePnextChain(pNext); -} - -void safe_VkRenderPassAttachmentBeginInfo::initialize(const VkRenderPassAttachmentBeginInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pAttachments) delete[] pAttachments; - FreePnextChain(pNext); - sType = in_struct->sType; - attachmentCount = in_struct->attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (attachmentCount && in_struct->pAttachments) { - pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i] = in_struct->pAttachments[i]; - } - } -} - -void safe_VkRenderPassAttachmentBeginInfo::initialize(const safe_VkRenderPassAttachmentBeginInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - attachmentCount = copy_src->attachmentCount; - pAttachments = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (attachmentCount && copy_src->pAttachments) { - pAttachments = new VkImageView[attachmentCount]; - for (uint32_t i = 0; i < attachmentCount; ++i) { - pAttachments[i] = copy_src->pAttachments[i]; - } - } -} - -safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures( - const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), uniformBufferStandardLayout(in_struct->uniformBufferStandardLayout) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES), - pNext(nullptr), - uniformBufferStandardLayout() {} - -safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures( - const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src) { - sType = copy_src.sType; - uniformBufferStandardLayout = copy_src.uniformBufferStandardLayout; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::operator=( - const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - uniformBufferStandardLayout = copy_src.uniformBufferStandardLayout; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::~safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::initialize( - const VkPhysicalDeviceUniformBufferStandardLayoutFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - uniformBufferStandardLayout = in_struct->uniformBufferStandardLayout; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures::initialize( - const safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - uniformBufferStandardLayout = copy_src->uniformBufferStandardLayout; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures( - const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), shaderSubgroupExtendedTypes(in_struct->shaderSubgroupExtendedTypes) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES), - pNext(nullptr), - shaderSubgroupExtendedTypes() {} - -safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures( - const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src) { - sType = copy_src.sType; - shaderSubgroupExtendedTypes = copy_src.shaderSubgroupExtendedTypes; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::operator=( - const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderSubgroupExtendedTypes = copy_src.shaderSubgroupExtendedTypes; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::~safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::initialize( - const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderSubgroupExtendedTypes = in_struct->shaderSubgroupExtendedTypes; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures::initialize( - const safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderSubgroupExtendedTypes = copy_src->shaderSubgroupExtendedTypes; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures::safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures( const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -13322,767 +14173,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceHostQueryResetFeatures::safe_VkPhysicalDeviceHostQueryResetFeatures( - const VkPhysicalDeviceHostQueryResetFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), hostQueryReset(in_struct->hostQueryReset) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceHostQueryResetFeatures::safe_VkPhysicalDeviceHostQueryResetFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES), pNext(nullptr), hostQueryReset() {} - -safe_VkPhysicalDeviceHostQueryResetFeatures::safe_VkPhysicalDeviceHostQueryResetFeatures( - const safe_VkPhysicalDeviceHostQueryResetFeatures& copy_src) { - sType = copy_src.sType; - hostQueryReset = copy_src.hostQueryReset; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceHostQueryResetFeatures& safe_VkPhysicalDeviceHostQueryResetFeatures::operator=( - const safe_VkPhysicalDeviceHostQueryResetFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - hostQueryReset = copy_src.hostQueryReset; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceHostQueryResetFeatures::~safe_VkPhysicalDeviceHostQueryResetFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceHostQueryResetFeatures::initialize(const VkPhysicalDeviceHostQueryResetFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - hostQueryReset = in_struct->hostQueryReset; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceHostQueryResetFeatures::initialize(const safe_VkPhysicalDeviceHostQueryResetFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - hostQueryReset = copy_src->hostQueryReset; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceTimelineSemaphoreFeatures::safe_VkPhysicalDeviceTimelineSemaphoreFeatures( - const VkPhysicalDeviceTimelineSemaphoreFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), timelineSemaphore(in_struct->timelineSemaphore) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceTimelineSemaphoreFeatures::safe_VkPhysicalDeviceTimelineSemaphoreFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES), pNext(nullptr), timelineSemaphore() {} - -safe_VkPhysicalDeviceTimelineSemaphoreFeatures::safe_VkPhysicalDeviceTimelineSemaphoreFeatures( - const safe_VkPhysicalDeviceTimelineSemaphoreFeatures& copy_src) { - sType = copy_src.sType; - timelineSemaphore = copy_src.timelineSemaphore; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceTimelineSemaphoreFeatures& safe_VkPhysicalDeviceTimelineSemaphoreFeatures::operator=( - const safe_VkPhysicalDeviceTimelineSemaphoreFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - timelineSemaphore = copy_src.timelineSemaphore; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceTimelineSemaphoreFeatures::~safe_VkPhysicalDeviceTimelineSemaphoreFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceTimelineSemaphoreFeatures::initialize(const VkPhysicalDeviceTimelineSemaphoreFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - timelineSemaphore = in_struct->timelineSemaphore; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceTimelineSemaphoreFeatures::initialize(const safe_VkPhysicalDeviceTimelineSemaphoreFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - timelineSemaphore = copy_src->timelineSemaphore; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceTimelineSemaphoreProperties::safe_VkPhysicalDeviceTimelineSemaphoreProperties( - const VkPhysicalDeviceTimelineSemaphoreProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), maxTimelineSemaphoreValueDifference(in_struct->maxTimelineSemaphoreValueDifference) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceTimelineSemaphoreProperties::safe_VkPhysicalDeviceTimelineSemaphoreProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES), - pNext(nullptr), - maxTimelineSemaphoreValueDifference() {} - -safe_VkPhysicalDeviceTimelineSemaphoreProperties::safe_VkPhysicalDeviceTimelineSemaphoreProperties( - const safe_VkPhysicalDeviceTimelineSemaphoreProperties& copy_src) { - sType = copy_src.sType; - maxTimelineSemaphoreValueDifference = copy_src.maxTimelineSemaphoreValueDifference; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceTimelineSemaphoreProperties& safe_VkPhysicalDeviceTimelineSemaphoreProperties::operator=( - const safe_VkPhysicalDeviceTimelineSemaphoreProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - maxTimelineSemaphoreValueDifference = copy_src.maxTimelineSemaphoreValueDifference; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceTimelineSemaphoreProperties::~safe_VkPhysicalDeviceTimelineSemaphoreProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceTimelineSemaphoreProperties::initialize(const VkPhysicalDeviceTimelineSemaphoreProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - maxTimelineSemaphoreValueDifference = in_struct->maxTimelineSemaphoreValueDifference; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceTimelineSemaphoreProperties::initialize(const safe_VkPhysicalDeviceTimelineSemaphoreProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - maxTimelineSemaphoreValueDifference = copy_src->maxTimelineSemaphoreValueDifference; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSemaphoreTypeCreateInfo::safe_VkSemaphoreTypeCreateInfo(const VkSemaphoreTypeCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), semaphoreType(in_struct->semaphoreType), initialValue(in_struct->initialValue) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSemaphoreTypeCreateInfo::safe_VkSemaphoreTypeCreateInfo() - : sType(VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO), pNext(nullptr), semaphoreType(), initialValue() {} - -safe_VkSemaphoreTypeCreateInfo::safe_VkSemaphoreTypeCreateInfo(const safe_VkSemaphoreTypeCreateInfo& copy_src) { - sType = copy_src.sType; - semaphoreType = copy_src.semaphoreType; - initialValue = copy_src.initialValue; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSemaphoreTypeCreateInfo& safe_VkSemaphoreTypeCreateInfo::operator=(const safe_VkSemaphoreTypeCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - semaphoreType = copy_src.semaphoreType; - initialValue = copy_src.initialValue; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSemaphoreTypeCreateInfo::~safe_VkSemaphoreTypeCreateInfo() { FreePnextChain(pNext); } - -void safe_VkSemaphoreTypeCreateInfo::initialize(const VkSemaphoreTypeCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - semaphoreType = in_struct->semaphoreType; - initialValue = in_struct->initialValue; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSemaphoreTypeCreateInfo::initialize(const safe_VkSemaphoreTypeCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - semaphoreType = copy_src->semaphoreType; - initialValue = copy_src->initialValue; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkTimelineSemaphoreSubmitInfo::safe_VkTimelineSemaphoreSubmitInfo(const VkTimelineSemaphoreSubmitInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - waitSemaphoreValueCount(in_struct->waitSemaphoreValueCount), - pWaitSemaphoreValues(nullptr), - signalSemaphoreValueCount(in_struct->signalSemaphoreValueCount), - pSignalSemaphoreValues(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pWaitSemaphoreValues) { - pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValueCount]; - memcpy((void*)pWaitSemaphoreValues, (void*)in_struct->pWaitSemaphoreValues, - sizeof(uint64_t) * in_struct->waitSemaphoreValueCount); - } - - if (in_struct->pSignalSemaphoreValues) { - pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValueCount]; - memcpy((void*)pSignalSemaphoreValues, (void*)in_struct->pSignalSemaphoreValues, - sizeof(uint64_t) * in_struct->signalSemaphoreValueCount); - } -} - -safe_VkTimelineSemaphoreSubmitInfo::safe_VkTimelineSemaphoreSubmitInfo() - : sType(VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO), - pNext(nullptr), - waitSemaphoreValueCount(), - pWaitSemaphoreValues(nullptr), - signalSemaphoreValueCount(), - pSignalSemaphoreValues(nullptr) {} - -safe_VkTimelineSemaphoreSubmitInfo::safe_VkTimelineSemaphoreSubmitInfo(const safe_VkTimelineSemaphoreSubmitInfo& copy_src) { - sType = copy_src.sType; - waitSemaphoreValueCount = copy_src.waitSemaphoreValueCount; - pWaitSemaphoreValues = nullptr; - signalSemaphoreValueCount = copy_src.signalSemaphoreValueCount; - pSignalSemaphoreValues = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pWaitSemaphoreValues) { - pWaitSemaphoreValues = new uint64_t[copy_src.waitSemaphoreValueCount]; - memcpy((void*)pWaitSemaphoreValues, (void*)copy_src.pWaitSemaphoreValues, - sizeof(uint64_t) * copy_src.waitSemaphoreValueCount); - } - - if (copy_src.pSignalSemaphoreValues) { - pSignalSemaphoreValues = new uint64_t[copy_src.signalSemaphoreValueCount]; - memcpy((void*)pSignalSemaphoreValues, (void*)copy_src.pSignalSemaphoreValues, - sizeof(uint64_t) * copy_src.signalSemaphoreValueCount); - } -} - -safe_VkTimelineSemaphoreSubmitInfo& safe_VkTimelineSemaphoreSubmitInfo::operator=( - const safe_VkTimelineSemaphoreSubmitInfo& copy_src) { - if (©_src == this) return *this; - - if (pWaitSemaphoreValues) delete[] pWaitSemaphoreValues; - if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; - FreePnextChain(pNext); - - sType = copy_src.sType; - waitSemaphoreValueCount = copy_src.waitSemaphoreValueCount; - pWaitSemaphoreValues = nullptr; - signalSemaphoreValueCount = copy_src.signalSemaphoreValueCount; - pSignalSemaphoreValues = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pWaitSemaphoreValues) { - pWaitSemaphoreValues = new uint64_t[copy_src.waitSemaphoreValueCount]; - memcpy((void*)pWaitSemaphoreValues, (void*)copy_src.pWaitSemaphoreValues, - sizeof(uint64_t) * copy_src.waitSemaphoreValueCount); - } - - if (copy_src.pSignalSemaphoreValues) { - pSignalSemaphoreValues = new uint64_t[copy_src.signalSemaphoreValueCount]; - memcpy((void*)pSignalSemaphoreValues, (void*)copy_src.pSignalSemaphoreValues, - sizeof(uint64_t) * copy_src.signalSemaphoreValueCount); - } - - return *this; -} - -safe_VkTimelineSemaphoreSubmitInfo::~safe_VkTimelineSemaphoreSubmitInfo() { - if (pWaitSemaphoreValues) delete[] pWaitSemaphoreValues; - if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; - FreePnextChain(pNext); -} - -void safe_VkTimelineSemaphoreSubmitInfo::initialize(const VkTimelineSemaphoreSubmitInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pWaitSemaphoreValues) delete[] pWaitSemaphoreValues; - if (pSignalSemaphoreValues) delete[] pSignalSemaphoreValues; - FreePnextChain(pNext); - sType = in_struct->sType; - waitSemaphoreValueCount = in_struct->waitSemaphoreValueCount; - pWaitSemaphoreValues = nullptr; - signalSemaphoreValueCount = in_struct->signalSemaphoreValueCount; - pSignalSemaphoreValues = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pWaitSemaphoreValues) { - pWaitSemaphoreValues = new uint64_t[in_struct->waitSemaphoreValueCount]; - memcpy((void*)pWaitSemaphoreValues, (void*)in_struct->pWaitSemaphoreValues, - sizeof(uint64_t) * in_struct->waitSemaphoreValueCount); - } - - if (in_struct->pSignalSemaphoreValues) { - pSignalSemaphoreValues = new uint64_t[in_struct->signalSemaphoreValueCount]; - memcpy((void*)pSignalSemaphoreValues, (void*)in_struct->pSignalSemaphoreValues, - sizeof(uint64_t) * in_struct->signalSemaphoreValueCount); - } -} - -void safe_VkTimelineSemaphoreSubmitInfo::initialize(const safe_VkTimelineSemaphoreSubmitInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - waitSemaphoreValueCount = copy_src->waitSemaphoreValueCount; - pWaitSemaphoreValues = nullptr; - signalSemaphoreValueCount = copy_src->signalSemaphoreValueCount; - pSignalSemaphoreValues = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pWaitSemaphoreValues) { - pWaitSemaphoreValues = new uint64_t[copy_src->waitSemaphoreValueCount]; - memcpy((void*)pWaitSemaphoreValues, (void*)copy_src->pWaitSemaphoreValues, - sizeof(uint64_t) * copy_src->waitSemaphoreValueCount); - } - - if (copy_src->pSignalSemaphoreValues) { - pSignalSemaphoreValues = new uint64_t[copy_src->signalSemaphoreValueCount]; - memcpy((void*)pSignalSemaphoreValues, (void*)copy_src->pSignalSemaphoreValues, - sizeof(uint64_t) * copy_src->signalSemaphoreValueCount); - } -} - -safe_VkSemaphoreWaitInfo::safe_VkSemaphoreWaitInfo(const VkSemaphoreWaitInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - flags(in_struct->flags), - semaphoreCount(in_struct->semaphoreCount), - pSemaphores(nullptr), - pValues(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (semaphoreCount && in_struct->pSemaphores) { - pSemaphores = new VkSemaphore[semaphoreCount]; - for (uint32_t i = 0; i < semaphoreCount; ++i) { - pSemaphores[i] = in_struct->pSemaphores[i]; - } - } - - if (in_struct->pValues) { - pValues = new uint64_t[in_struct->semaphoreCount]; - memcpy((void*)pValues, (void*)in_struct->pValues, sizeof(uint64_t) * in_struct->semaphoreCount); - } -} - -safe_VkSemaphoreWaitInfo::safe_VkSemaphoreWaitInfo() - : sType(VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO), - pNext(nullptr), - flags(), - semaphoreCount(), - pSemaphores(nullptr), - pValues(nullptr) {} - -safe_VkSemaphoreWaitInfo::safe_VkSemaphoreWaitInfo(const safe_VkSemaphoreWaitInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - semaphoreCount = copy_src.semaphoreCount; - pSemaphores = nullptr; - pValues = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (semaphoreCount && copy_src.pSemaphores) { - pSemaphores = new VkSemaphore[semaphoreCount]; - for (uint32_t i = 0; i < semaphoreCount; ++i) { - pSemaphores[i] = copy_src.pSemaphores[i]; - } - } - - if (copy_src.pValues) { - pValues = new uint64_t[copy_src.semaphoreCount]; - memcpy((void*)pValues, (void*)copy_src.pValues, sizeof(uint64_t) * copy_src.semaphoreCount); - } -} - -safe_VkSemaphoreWaitInfo& safe_VkSemaphoreWaitInfo::operator=(const safe_VkSemaphoreWaitInfo& copy_src) { - if (©_src == this) return *this; - - if (pSemaphores) delete[] pSemaphores; - if (pValues) delete[] pValues; - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - semaphoreCount = copy_src.semaphoreCount; - pSemaphores = nullptr; - pValues = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (semaphoreCount && copy_src.pSemaphores) { - pSemaphores = new VkSemaphore[semaphoreCount]; - for (uint32_t i = 0; i < semaphoreCount; ++i) { - pSemaphores[i] = copy_src.pSemaphores[i]; - } - } - - if (copy_src.pValues) { - pValues = new uint64_t[copy_src.semaphoreCount]; - memcpy((void*)pValues, (void*)copy_src.pValues, sizeof(uint64_t) * copy_src.semaphoreCount); - } - - return *this; -} - -safe_VkSemaphoreWaitInfo::~safe_VkSemaphoreWaitInfo() { - if (pSemaphores) delete[] pSemaphores; - if (pValues) delete[] pValues; - FreePnextChain(pNext); -} - -void safe_VkSemaphoreWaitInfo::initialize(const VkSemaphoreWaitInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pSemaphores) delete[] pSemaphores; - if (pValues) delete[] pValues; - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - semaphoreCount = in_struct->semaphoreCount; - pSemaphores = nullptr; - pValues = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (semaphoreCount && in_struct->pSemaphores) { - pSemaphores = new VkSemaphore[semaphoreCount]; - for (uint32_t i = 0; i < semaphoreCount; ++i) { - pSemaphores[i] = in_struct->pSemaphores[i]; - } - } - - if (in_struct->pValues) { - pValues = new uint64_t[in_struct->semaphoreCount]; - memcpy((void*)pValues, (void*)in_struct->pValues, sizeof(uint64_t) * in_struct->semaphoreCount); - } -} - -void safe_VkSemaphoreWaitInfo::initialize(const safe_VkSemaphoreWaitInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - semaphoreCount = copy_src->semaphoreCount; - pSemaphores = nullptr; - pValues = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (semaphoreCount && copy_src->pSemaphores) { - pSemaphores = new VkSemaphore[semaphoreCount]; - for (uint32_t i = 0; i < semaphoreCount; ++i) { - pSemaphores[i] = copy_src->pSemaphores[i]; - } - } - - if (copy_src->pValues) { - pValues = new uint64_t[copy_src->semaphoreCount]; - memcpy((void*)pValues, (void*)copy_src->pValues, sizeof(uint64_t) * copy_src->semaphoreCount); - } -} - -safe_VkSemaphoreSignalInfo::safe_VkSemaphoreSignalInfo(const VkSemaphoreSignalInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), semaphore(in_struct->semaphore), value(in_struct->value) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSemaphoreSignalInfo::safe_VkSemaphoreSignalInfo() - : sType(VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO), pNext(nullptr), semaphore(), value() {} - -safe_VkSemaphoreSignalInfo::safe_VkSemaphoreSignalInfo(const safe_VkSemaphoreSignalInfo& copy_src) { - sType = copy_src.sType; - semaphore = copy_src.semaphore; - value = copy_src.value; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSemaphoreSignalInfo& safe_VkSemaphoreSignalInfo::operator=(const safe_VkSemaphoreSignalInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - semaphore = copy_src.semaphore; - value = copy_src.value; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSemaphoreSignalInfo::~safe_VkSemaphoreSignalInfo() { FreePnextChain(pNext); } - -void safe_VkSemaphoreSignalInfo::initialize(const VkSemaphoreSignalInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - semaphore = in_struct->semaphore; - value = in_struct->value; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSemaphoreSignalInfo::initialize(const safe_VkSemaphoreSignalInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - semaphore = copy_src->semaphore; - value = copy_src->value; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceBufferDeviceAddressFeatures::safe_VkPhysicalDeviceBufferDeviceAddressFeatures( - const VkPhysicalDeviceBufferDeviceAddressFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - bufferDeviceAddress(in_struct->bufferDeviceAddress), - bufferDeviceAddressCaptureReplay(in_struct->bufferDeviceAddressCaptureReplay), - bufferDeviceAddressMultiDevice(in_struct->bufferDeviceAddressMultiDevice) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceBufferDeviceAddressFeatures::safe_VkPhysicalDeviceBufferDeviceAddressFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES), - pNext(nullptr), - bufferDeviceAddress(), - bufferDeviceAddressCaptureReplay(), - bufferDeviceAddressMultiDevice() {} - -safe_VkPhysicalDeviceBufferDeviceAddressFeatures::safe_VkPhysicalDeviceBufferDeviceAddressFeatures( - const safe_VkPhysicalDeviceBufferDeviceAddressFeatures& copy_src) { - sType = copy_src.sType; - bufferDeviceAddress = copy_src.bufferDeviceAddress; - bufferDeviceAddressCaptureReplay = copy_src.bufferDeviceAddressCaptureReplay; - bufferDeviceAddressMultiDevice = copy_src.bufferDeviceAddressMultiDevice; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceBufferDeviceAddressFeatures& safe_VkPhysicalDeviceBufferDeviceAddressFeatures::operator=( - const safe_VkPhysicalDeviceBufferDeviceAddressFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - bufferDeviceAddress = copy_src.bufferDeviceAddress; - bufferDeviceAddressCaptureReplay = copy_src.bufferDeviceAddressCaptureReplay; - bufferDeviceAddressMultiDevice = copy_src.bufferDeviceAddressMultiDevice; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceBufferDeviceAddressFeatures::~safe_VkPhysicalDeviceBufferDeviceAddressFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceBufferDeviceAddressFeatures::initialize(const VkPhysicalDeviceBufferDeviceAddressFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - bufferDeviceAddress = in_struct->bufferDeviceAddress; - bufferDeviceAddressCaptureReplay = in_struct->bufferDeviceAddressCaptureReplay; - bufferDeviceAddressMultiDevice = in_struct->bufferDeviceAddressMultiDevice; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceBufferDeviceAddressFeatures::initialize(const safe_VkPhysicalDeviceBufferDeviceAddressFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - bufferDeviceAddress = copy_src->bufferDeviceAddress; - bufferDeviceAddressCaptureReplay = copy_src->bufferDeviceAddressCaptureReplay; - bufferDeviceAddressMultiDevice = copy_src->bufferDeviceAddressMultiDevice; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkBufferDeviceAddressInfo::safe_VkBufferDeviceAddressInfo(const VkBufferDeviceAddressInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), buffer(in_struct->buffer) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkBufferDeviceAddressInfo::safe_VkBufferDeviceAddressInfo() - : sType(VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO), pNext(nullptr), buffer() {} - -safe_VkBufferDeviceAddressInfo::safe_VkBufferDeviceAddressInfo(const safe_VkBufferDeviceAddressInfo& copy_src) { - sType = copy_src.sType; - buffer = copy_src.buffer; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkBufferDeviceAddressInfo& safe_VkBufferDeviceAddressInfo::operator=(const safe_VkBufferDeviceAddressInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - buffer = copy_src.buffer; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkBufferDeviceAddressInfo::~safe_VkBufferDeviceAddressInfo() { FreePnextChain(pNext); } - -void safe_VkBufferDeviceAddressInfo::initialize(const VkBufferDeviceAddressInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - buffer = in_struct->buffer; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkBufferDeviceAddressInfo::initialize(const safe_VkBufferDeviceAddressInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - buffer = copy_src->buffer; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkBufferOpaqueCaptureAddressCreateInfo::safe_VkBufferOpaqueCaptureAddressCreateInfo( - const VkBufferOpaqueCaptureAddressCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), opaqueCaptureAddress(in_struct->opaqueCaptureAddress) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkBufferOpaqueCaptureAddressCreateInfo::safe_VkBufferOpaqueCaptureAddressCreateInfo() - : sType(VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO), pNext(nullptr), opaqueCaptureAddress() {} - -safe_VkBufferOpaqueCaptureAddressCreateInfo::safe_VkBufferOpaqueCaptureAddressCreateInfo( - const safe_VkBufferOpaqueCaptureAddressCreateInfo& copy_src) { - sType = copy_src.sType; - opaqueCaptureAddress = copy_src.opaqueCaptureAddress; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkBufferOpaqueCaptureAddressCreateInfo& safe_VkBufferOpaqueCaptureAddressCreateInfo::operator=( - const safe_VkBufferOpaqueCaptureAddressCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - opaqueCaptureAddress = copy_src.opaqueCaptureAddress; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkBufferOpaqueCaptureAddressCreateInfo::~safe_VkBufferOpaqueCaptureAddressCreateInfo() { FreePnextChain(pNext); } - -void safe_VkBufferOpaqueCaptureAddressCreateInfo::initialize(const VkBufferOpaqueCaptureAddressCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - opaqueCaptureAddress = in_struct->opaqueCaptureAddress; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkBufferOpaqueCaptureAddressCreateInfo::initialize(const safe_VkBufferOpaqueCaptureAddressCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - opaqueCaptureAddress = copy_src->opaqueCaptureAddress; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkMemoryOpaqueCaptureAddressAllocateInfo::safe_VkMemoryOpaqueCaptureAddressAllocateInfo( - const VkMemoryOpaqueCaptureAddressAllocateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), opaqueCaptureAddress(in_struct->opaqueCaptureAddress) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkMemoryOpaqueCaptureAddressAllocateInfo::safe_VkMemoryOpaqueCaptureAddressAllocateInfo() - : sType(VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO), pNext(nullptr), opaqueCaptureAddress() {} - -safe_VkMemoryOpaqueCaptureAddressAllocateInfo::safe_VkMemoryOpaqueCaptureAddressAllocateInfo( - const safe_VkMemoryOpaqueCaptureAddressAllocateInfo& copy_src) { - sType = copy_src.sType; - opaqueCaptureAddress = copy_src.opaqueCaptureAddress; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkMemoryOpaqueCaptureAddressAllocateInfo& safe_VkMemoryOpaqueCaptureAddressAllocateInfo::operator=( - const safe_VkMemoryOpaqueCaptureAddressAllocateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - opaqueCaptureAddress = copy_src.opaqueCaptureAddress; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkMemoryOpaqueCaptureAddressAllocateInfo::~safe_VkMemoryOpaqueCaptureAddressAllocateInfo() { FreePnextChain(pNext); } - -void safe_VkMemoryOpaqueCaptureAddressAllocateInfo::initialize(const VkMemoryOpaqueCaptureAddressAllocateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - opaqueCaptureAddress = in_struct->opaqueCaptureAddress; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkMemoryOpaqueCaptureAddressAllocateInfo::initialize(const safe_VkMemoryOpaqueCaptureAddressAllocateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - opaqueCaptureAddress = copy_src->opaqueCaptureAddress; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkDeviceMemoryOpaqueCaptureAddressInfo::safe_VkDeviceMemoryOpaqueCaptureAddressInfo( - const VkDeviceMemoryOpaqueCaptureAddressInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), memory(in_struct->memory) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkDeviceMemoryOpaqueCaptureAddressInfo::safe_VkDeviceMemoryOpaqueCaptureAddressInfo() - : sType(VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO), pNext(nullptr), memory() {} - -safe_VkDeviceMemoryOpaqueCaptureAddressInfo::safe_VkDeviceMemoryOpaqueCaptureAddressInfo( - const safe_VkDeviceMemoryOpaqueCaptureAddressInfo& copy_src) { - sType = copy_src.sType; - memory = copy_src.memory; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkDeviceMemoryOpaqueCaptureAddressInfo& safe_VkDeviceMemoryOpaqueCaptureAddressInfo::operator=( - const safe_VkDeviceMemoryOpaqueCaptureAddressInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - memory = copy_src.memory; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkDeviceMemoryOpaqueCaptureAddressInfo::~safe_VkDeviceMemoryOpaqueCaptureAddressInfo() { FreePnextChain(pNext); } - -void safe_VkDeviceMemoryOpaqueCaptureAddressInfo::initialize(const VkDeviceMemoryOpaqueCaptureAddressInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - memory = in_struct->memory; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkDeviceMemoryOpaqueCaptureAddressInfo::initialize(const safe_VkDeviceMemoryOpaqueCaptureAddressInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - memory = copy_src->memory; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceVulkan13Features::safe_VkPhysicalDeviceVulkan13Features(const VkPhysicalDeviceVulkan13Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -14609,177 +14699,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPipelineCreationFeedbackCreateInfo::safe_VkPipelineCreationFeedbackCreateInfo( - const VkPipelineCreationFeedbackCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - pPipelineCreationFeedback(nullptr), - pipelineStageCreationFeedbackCount(in_struct->pipelineStageCreationFeedbackCount), - pPipelineStageCreationFeedbacks(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pPipelineCreationFeedback) { - pPipelineCreationFeedback = new VkPipelineCreationFeedback(*in_struct->pPipelineCreationFeedback); - } - - if (in_struct->pPipelineStageCreationFeedbacks) { - pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[in_struct->pipelineStageCreationFeedbackCount]; - memcpy((void*)pPipelineStageCreationFeedbacks, (void*)in_struct->pPipelineStageCreationFeedbacks, - sizeof(VkPipelineCreationFeedback) * in_struct->pipelineStageCreationFeedbackCount); - } -} - -safe_VkPipelineCreationFeedbackCreateInfo::safe_VkPipelineCreationFeedbackCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO), - pNext(nullptr), - pPipelineCreationFeedback(nullptr), - pipelineStageCreationFeedbackCount(), - pPipelineStageCreationFeedbacks(nullptr) {} - -safe_VkPipelineCreationFeedbackCreateInfo::safe_VkPipelineCreationFeedbackCreateInfo( - const safe_VkPipelineCreationFeedbackCreateInfo& copy_src) { - sType = copy_src.sType; - pPipelineCreationFeedback = nullptr; - pipelineStageCreationFeedbackCount = copy_src.pipelineStageCreationFeedbackCount; - pPipelineStageCreationFeedbacks = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPipelineCreationFeedback) { - pPipelineCreationFeedback = new VkPipelineCreationFeedback(*copy_src.pPipelineCreationFeedback); - } - - if (copy_src.pPipelineStageCreationFeedbacks) { - pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[copy_src.pipelineStageCreationFeedbackCount]; - memcpy((void*)pPipelineStageCreationFeedbacks, (void*)copy_src.pPipelineStageCreationFeedbacks, - sizeof(VkPipelineCreationFeedback) * copy_src.pipelineStageCreationFeedbackCount); - } -} - -safe_VkPipelineCreationFeedbackCreateInfo& safe_VkPipelineCreationFeedbackCreateInfo::operator=( - const safe_VkPipelineCreationFeedbackCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pPipelineCreationFeedback) delete pPipelineCreationFeedback; - if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; - FreePnextChain(pNext); - - sType = copy_src.sType; - pPipelineCreationFeedback = nullptr; - pipelineStageCreationFeedbackCount = copy_src.pipelineStageCreationFeedbackCount; - pPipelineStageCreationFeedbacks = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPipelineCreationFeedback) { - pPipelineCreationFeedback = new VkPipelineCreationFeedback(*copy_src.pPipelineCreationFeedback); - } - - if (copy_src.pPipelineStageCreationFeedbacks) { - pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[copy_src.pipelineStageCreationFeedbackCount]; - memcpy((void*)pPipelineStageCreationFeedbacks, (void*)copy_src.pPipelineStageCreationFeedbacks, - sizeof(VkPipelineCreationFeedback) * copy_src.pipelineStageCreationFeedbackCount); - } - - return *this; -} - -safe_VkPipelineCreationFeedbackCreateInfo::~safe_VkPipelineCreationFeedbackCreateInfo() { - if (pPipelineCreationFeedback) delete pPipelineCreationFeedback; - if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; - FreePnextChain(pNext); -} - -void safe_VkPipelineCreationFeedbackCreateInfo::initialize(const VkPipelineCreationFeedbackCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pPipelineCreationFeedback) delete pPipelineCreationFeedback; - if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; - FreePnextChain(pNext); - sType = in_struct->sType; - pPipelineCreationFeedback = nullptr; - pipelineStageCreationFeedbackCount = in_struct->pipelineStageCreationFeedbackCount; - pPipelineStageCreationFeedbacks = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pPipelineCreationFeedback) { - pPipelineCreationFeedback = new VkPipelineCreationFeedback(*in_struct->pPipelineCreationFeedback); - } - - if (in_struct->pPipelineStageCreationFeedbacks) { - pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[in_struct->pipelineStageCreationFeedbackCount]; - memcpy((void*)pPipelineStageCreationFeedbacks, (void*)in_struct->pPipelineStageCreationFeedbacks, - sizeof(VkPipelineCreationFeedback) * in_struct->pipelineStageCreationFeedbackCount); - } -} - -void safe_VkPipelineCreationFeedbackCreateInfo::initialize(const safe_VkPipelineCreationFeedbackCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pPipelineCreationFeedback = nullptr; - pipelineStageCreationFeedbackCount = copy_src->pipelineStageCreationFeedbackCount; - pPipelineStageCreationFeedbacks = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pPipelineCreationFeedback) { - pPipelineCreationFeedback = new VkPipelineCreationFeedback(*copy_src->pPipelineCreationFeedback); - } - - if (copy_src->pPipelineStageCreationFeedbacks) { - pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[copy_src->pipelineStageCreationFeedbackCount]; - memcpy((void*)pPipelineStageCreationFeedbacks, (void*)copy_src->pPipelineStageCreationFeedbacks, - sizeof(VkPipelineCreationFeedback) * copy_src->pipelineStageCreationFeedbackCount); - } -} - -safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::safe_VkPhysicalDeviceShaderTerminateInvocationFeatures( - const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), shaderTerminateInvocation(in_struct->shaderTerminateInvocation) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::safe_VkPhysicalDeviceShaderTerminateInvocationFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES), pNext(nullptr), shaderTerminateInvocation() {} - -safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::safe_VkPhysicalDeviceShaderTerminateInvocationFeatures( - const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src) { - sType = copy_src.sType; - shaderTerminateInvocation = copy_src.shaderTerminateInvocation; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::operator=( - const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderTerminateInvocation = copy_src.shaderTerminateInvocation; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::~safe_VkPhysicalDeviceShaderTerminateInvocationFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::initialize( - const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderTerminateInvocation = in_struct->shaderTerminateInvocation; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::initialize( - const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderTerminateInvocation = copy_src->shaderTerminateInvocation; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceToolProperties::safe_VkPhysicalDeviceToolProperties(const VkPhysicalDeviceToolProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -14907,59 +14826,6 @@ } } -safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( - const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), shaderDemoteToHelperInvocation(in_struct->shaderDemoteToHelperInvocation) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES), - pNext(nullptr), - shaderDemoteToHelperInvocation() {} - -safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( - const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src) { - sType = copy_src.sType; - shaderDemoteToHelperInvocation = copy_src.shaderDemoteToHelperInvocation; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::operator=( - const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderDemoteToHelperInvocation = copy_src.shaderDemoteToHelperInvocation; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::initialize( - const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderDemoteToHelperInvocation = in_struct->shaderDemoteToHelperInvocation; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::initialize( - const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderDemoteToHelperInvocation = copy_src->shaderDemoteToHelperInvocation; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDevicePrivateDataFeatures::safe_VkPhysicalDevicePrivateDataFeatures( const VkPhysicalDevicePrivateDataFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), privateData(in_struct->privateData) { @@ -15101,59 +14967,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::safe_VkPhysicalDevicePipelineCreationCacheControlFeatures( - const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), pipelineCreationCacheControl(in_struct->pipelineCreationCacheControl) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::safe_VkPhysicalDevicePipelineCreationCacheControlFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES), - pNext(nullptr), - pipelineCreationCacheControl() {} - -safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::safe_VkPhysicalDevicePipelineCreationCacheControlFeatures( - const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src) { - sType = copy_src.sType; - pipelineCreationCacheControl = copy_src.pipelineCreationCacheControl; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::operator=( - const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - pipelineCreationCacheControl = copy_src.pipelineCreationCacheControl; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::~safe_VkPhysicalDevicePipelineCreationCacheControlFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::initialize( - const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - pipelineCreationCacheControl = in_struct->pipelineCreationCacheControl; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::initialize( - const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pipelineCreationCacheControl = copy_src->pipelineCreationCacheControl; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkMemoryBarrier2::safe_VkMemoryBarrier2(const VkMemoryBarrier2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -15938,107 +15751,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( - const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), shaderZeroInitializeWorkgroupMemory(in_struct->shaderZeroInitializeWorkgroupMemory) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES), - pNext(nullptr), - shaderZeroInitializeWorkgroupMemory() {} - -safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( - const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src) { - sType = copy_src.sType; - shaderZeroInitializeWorkgroupMemory = copy_src.shaderZeroInitializeWorkgroupMemory; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::operator=( - const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderZeroInitializeWorkgroupMemory = copy_src.shaderZeroInitializeWorkgroupMemory; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::~safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::initialize( - const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderZeroInitializeWorkgroupMemory = in_struct->shaderZeroInitializeWorkgroupMemory; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::initialize( - const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderZeroInitializeWorkgroupMemory = copy_src->shaderZeroInitializeWorkgroupMemory; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceImageRobustnessFeatures::safe_VkPhysicalDeviceImageRobustnessFeatures( - const VkPhysicalDeviceImageRobustnessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), robustImageAccess(in_struct->robustImageAccess) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceImageRobustnessFeatures::safe_VkPhysicalDeviceImageRobustnessFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES), pNext(nullptr), robustImageAccess() {} - -safe_VkPhysicalDeviceImageRobustnessFeatures::safe_VkPhysicalDeviceImageRobustnessFeatures( - const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src) { - sType = copy_src.sType; - robustImageAccess = copy_src.robustImageAccess; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceImageRobustnessFeatures& safe_VkPhysicalDeviceImageRobustnessFeatures::operator=( - const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - robustImageAccess = copy_src.robustImageAccess; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceImageRobustnessFeatures::~safe_VkPhysicalDeviceImageRobustnessFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceImageRobustnessFeatures::initialize(const VkPhysicalDeviceImageRobustnessFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - robustImageAccess = in_struct->robustImageAccess; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceImageRobustnessFeatures::initialize(const safe_VkPhysicalDeviceImageRobustnessFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - robustImageAccess = copy_src->robustImageAccess; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkBufferCopy2::safe_VkBufferCopy2(const VkBufferCopy2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), srcOffset(in_struct->srcOffset), dstOffset(in_struct->dstOffset), size(in_struct->size) { if (copy_pnext) { @@ -16660,391 +16372,711 @@ } } -safe_VkImageBlit2::safe_VkImageBlit2(const VkImageBlit2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), srcSubresource(in_struct->srcSubresource), dstSubresource(in_struct->dstSubresource) { +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( + const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), textureCompressionASTC_HDR(in_struct->textureCompressionASTC_HDR) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - for (uint32_t i = 0; i < 2; ++i) { - srcOffsets[i] = in_struct->srcOffsets[i]; - } - - for (uint32_t i = 0; i < 2; ++i) { - dstOffsets[i] = in_struct->dstOffsets[i]; - } } -safe_VkImageBlit2::safe_VkImageBlit2() - : sType(VK_STRUCTURE_TYPE_IMAGE_BLIT_2), pNext(nullptr), srcSubresource(), dstSubresource() {} - -safe_VkImageBlit2::safe_VkImageBlit2(const safe_VkImageBlit2& copy_src) { - sType = copy_src.sType; - srcSubresource = copy_src.srcSubresource; - dstSubresource = copy_src.dstSubresource; - pNext = SafePnextCopy(copy_src.pNext); - - for (uint32_t i = 0; i < 2; ++i) { - srcOffsets[i] = copy_src.srcOffsets[i]; - } - - for (uint32_t i = 0; i < 2; ++i) { - dstOffsets[i] = copy_src.dstOffsets[i]; - } -} - -safe_VkImageBlit2& safe_VkImageBlit2::operator=(const safe_VkImageBlit2& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - srcSubresource = copy_src.srcSubresource; - dstSubresource = copy_src.dstSubresource; - pNext = SafePnextCopy(copy_src.pNext); - - for (uint32_t i = 0; i < 2; ++i) { - srcOffsets[i] = copy_src.srcOffsets[i]; - } - - for (uint32_t i = 0; i < 2; ++i) { - dstOffsets[i] = copy_src.dstOffsets[i]; - } - - return *this; -} - -safe_VkImageBlit2::~safe_VkImageBlit2() { FreePnextChain(pNext); } - -void safe_VkImageBlit2::initialize(const VkImageBlit2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - srcSubresource = in_struct->srcSubresource; - dstSubresource = in_struct->dstSubresource; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - for (uint32_t i = 0; i < 2; ++i) { - srcOffsets[i] = in_struct->srcOffsets[i]; - } - - for (uint32_t i = 0; i < 2; ++i) { - dstOffsets[i] = in_struct->dstOffsets[i]; - } -} - -void safe_VkImageBlit2::initialize(const safe_VkImageBlit2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - srcSubresource = copy_src->srcSubresource; - dstSubresource = copy_src->dstSubresource; - pNext = SafePnextCopy(copy_src->pNext); - - for (uint32_t i = 0; i < 2; ++i) { - srcOffsets[i] = copy_src->srcOffsets[i]; - } - - for (uint32_t i = 0; i < 2; ++i) { - dstOffsets[i] = copy_src->dstOffsets[i]; - } -} - -safe_VkBlitImageInfo2::safe_VkBlitImageInfo2(const VkBlitImageInfo2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - srcImage(in_struct->srcImage), - srcImageLayout(in_struct->srcImageLayout), - dstImage(in_struct->dstImage), - dstImageLayout(in_struct->dstImageLayout), - regionCount(in_struct->regionCount), - pRegions(nullptr), - filter(in_struct->filter) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (regionCount && in_struct->pRegions) { - pRegions = new safe_VkImageBlit2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(&in_struct->pRegions[i]); - } - } -} - -safe_VkBlitImageInfo2::safe_VkBlitImageInfo2() - : sType(VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2), +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES), pNext(nullptr), - srcImage(), - srcImageLayout(), - dstImage(), - dstImageLayout(), - regionCount(), - pRegions(nullptr), - filter() {} + textureCompressionASTC_HDR() {} -safe_VkBlitImageInfo2::safe_VkBlitImageInfo2(const safe_VkBlitImageInfo2& copy_src) { +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( + const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src) { sType = copy_src.sType; - srcImage = copy_src.srcImage; - srcImageLayout = copy_src.srcImageLayout; - dstImage = copy_src.dstImage; - dstImageLayout = copy_src.dstImageLayout; - regionCount = copy_src.regionCount; - pRegions = nullptr; - filter = copy_src.filter; - pNext = SafePnextCopy(copy_src.pNext); - if (regionCount && copy_src.pRegions) { - pRegions = new safe_VkImageBlit2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(©_src.pRegions[i]); - } - } -} - -safe_VkBlitImageInfo2& safe_VkBlitImageInfo2::operator=(const safe_VkBlitImageInfo2& copy_src) { - if (©_src == this) return *this; - - if (pRegions) delete[] pRegions; - FreePnextChain(pNext); - - sType = copy_src.sType; - srcImage = copy_src.srcImage; - srcImageLayout = copy_src.srcImageLayout; - dstImage = copy_src.dstImage; - dstImageLayout = copy_src.dstImageLayout; - regionCount = copy_src.regionCount; - pRegions = nullptr; - filter = copy_src.filter; - pNext = SafePnextCopy(copy_src.pNext); - if (regionCount && copy_src.pRegions) { - pRegions = new safe_VkImageBlit2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(©_src.pRegions[i]); - } - } - - return *this; -} - -safe_VkBlitImageInfo2::~safe_VkBlitImageInfo2() { - if (pRegions) delete[] pRegions; - FreePnextChain(pNext); -} - -void safe_VkBlitImageInfo2::initialize(const VkBlitImageInfo2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pRegions) delete[] pRegions; - FreePnextChain(pNext); - sType = in_struct->sType; - srcImage = in_struct->srcImage; - srcImageLayout = in_struct->srcImageLayout; - dstImage = in_struct->dstImage; - dstImageLayout = in_struct->dstImageLayout; - regionCount = in_struct->regionCount; - pRegions = nullptr; - filter = in_struct->filter; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (regionCount && in_struct->pRegions) { - pRegions = new safe_VkImageBlit2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(&in_struct->pRegions[i]); - } - } -} - -void safe_VkBlitImageInfo2::initialize(const safe_VkBlitImageInfo2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - srcImage = copy_src->srcImage; - srcImageLayout = copy_src->srcImageLayout; - dstImage = copy_src->dstImage; - dstImageLayout = copy_src->dstImageLayout; - regionCount = copy_src->regionCount; - pRegions = nullptr; - filter = copy_src->filter; - pNext = SafePnextCopy(copy_src->pNext); - if (regionCount && copy_src->pRegions) { - pRegions = new safe_VkImageBlit2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(©_src->pRegions[i]); - } - } -} - -safe_VkImageResolve2::safe_VkImageResolve2(const VkImageResolve2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - srcSubresource(in_struct->srcSubresource), - srcOffset(in_struct->srcOffset), - dstSubresource(in_struct->dstSubresource), - dstOffset(in_struct->dstOffset), - extent(in_struct->extent) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkImageResolve2::safe_VkImageResolve2() - : sType(VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2), - pNext(nullptr), - srcSubresource(), - srcOffset(), - dstSubresource(), - dstOffset(), - extent() {} - -safe_VkImageResolve2::safe_VkImageResolve2(const safe_VkImageResolve2& copy_src) { - sType = copy_src.sType; - srcSubresource = copy_src.srcSubresource; - srcOffset = copy_src.srcOffset; - dstSubresource = copy_src.dstSubresource; - dstOffset = copy_src.dstOffset; - extent = copy_src.extent; + textureCompressionASTC_HDR = copy_src.textureCompressionASTC_HDR; pNext = SafePnextCopy(copy_src.pNext); } -safe_VkImageResolve2& safe_VkImageResolve2::operator=(const safe_VkImageResolve2& copy_src) { +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::operator=( + const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src) { if (©_src == this) return *this; FreePnextChain(pNext); sType = copy_src.sType; - srcSubresource = copy_src.srcSubresource; - srcOffset = copy_src.srcOffset; - dstSubresource = copy_src.dstSubresource; - dstOffset = copy_src.dstOffset; - extent = copy_src.extent; + textureCompressionASTC_HDR = copy_src.textureCompressionASTC_HDR; pNext = SafePnextCopy(copy_src.pNext); return *this; } -safe_VkImageResolve2::~safe_VkImageResolve2() { FreePnextChain(pNext); } +safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures() { + FreePnextChain(pNext); +} -void safe_VkImageResolve2::initialize(const VkImageResolve2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::initialize( + const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - srcSubresource = in_struct->srcSubresource; - srcOffset = in_struct->srcOffset; - dstSubresource = in_struct->dstSubresource; - dstOffset = in_struct->dstOffset; - extent = in_struct->extent; + textureCompressionASTC_HDR = in_struct->textureCompressionASTC_HDR; pNext = SafePnextCopy(in_struct->pNext, copy_state); } -void safe_VkImageResolve2::initialize(const safe_VkImageResolve2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::initialize( + const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - srcSubresource = copy_src->srcSubresource; - srcOffset = copy_src->srcOffset; - dstSubresource = copy_src->dstSubresource; - dstOffset = copy_src->dstOffset; - extent = copy_src->extent; + textureCompressionASTC_HDR = copy_src->textureCompressionASTC_HDR; pNext = SafePnextCopy(copy_src->pNext); } -safe_VkResolveImageInfo2::safe_VkResolveImageInfo2(const VkResolveImageInfo2* in_struct, +safe_VkFormatProperties3::safe_VkFormatProperties3(const VkFormatProperties3* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), - srcImage(in_struct->srcImage), - srcImageLayout(in_struct->srcImageLayout), - dstImage(in_struct->dstImage), - dstImageLayout(in_struct->dstImageLayout), - regionCount(in_struct->regionCount), - pRegions(nullptr) { + linearTilingFeatures(in_struct->linearTilingFeatures), + optimalTilingFeatures(in_struct->optimalTilingFeatures), + bufferFeatures(in_struct->bufferFeatures) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - if (regionCount && in_struct->pRegions) { - pRegions = new safe_VkImageResolve2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(&in_struct->pRegions[i]); - } - } } -safe_VkResolveImageInfo2::safe_VkResolveImageInfo2() - : sType(VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2), +safe_VkFormatProperties3::safe_VkFormatProperties3() + : sType(VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3), pNext(nullptr), - srcImage(), - srcImageLayout(), - dstImage(), - dstImageLayout(), - regionCount(), - pRegions(nullptr) {} + linearTilingFeatures(), + optimalTilingFeatures(), + bufferFeatures() {} -safe_VkResolveImageInfo2::safe_VkResolveImageInfo2(const safe_VkResolveImageInfo2& copy_src) { +safe_VkFormatProperties3::safe_VkFormatProperties3(const safe_VkFormatProperties3& copy_src) { sType = copy_src.sType; - srcImage = copy_src.srcImage; - srcImageLayout = copy_src.srcImageLayout; - dstImage = copy_src.dstImage; - dstImageLayout = copy_src.dstImageLayout; - regionCount = copy_src.regionCount; - pRegions = nullptr; + linearTilingFeatures = copy_src.linearTilingFeatures; + optimalTilingFeatures = copy_src.optimalTilingFeatures; + bufferFeatures = copy_src.bufferFeatures; pNext = SafePnextCopy(copy_src.pNext); - if (regionCount && copy_src.pRegions) { - pRegions = new safe_VkImageResolve2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(©_src.pRegions[i]); - } - } } -safe_VkResolveImageInfo2& safe_VkResolveImageInfo2::operator=(const safe_VkResolveImageInfo2& copy_src) { +safe_VkFormatProperties3& safe_VkFormatProperties3::operator=(const safe_VkFormatProperties3& copy_src) { if (©_src == this) return *this; - if (pRegions) delete[] pRegions; FreePnextChain(pNext); sType = copy_src.sType; - srcImage = copy_src.srcImage; - srcImageLayout = copy_src.srcImageLayout; - dstImage = copy_src.dstImage; - dstImageLayout = copy_src.dstImageLayout; - regionCount = copy_src.regionCount; - pRegions = nullptr; + linearTilingFeatures = copy_src.linearTilingFeatures; + optimalTilingFeatures = copy_src.optimalTilingFeatures; + bufferFeatures = copy_src.bufferFeatures; pNext = SafePnextCopy(copy_src.pNext); - if (regionCount && copy_src.pRegions) { - pRegions = new safe_VkImageResolve2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(©_src.pRegions[i]); - } + + return *this; +} + +safe_VkFormatProperties3::~safe_VkFormatProperties3() { FreePnextChain(pNext); } + +void safe_VkFormatProperties3::initialize(const VkFormatProperties3* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + linearTilingFeatures = in_struct->linearTilingFeatures; + optimalTilingFeatures = in_struct->optimalTilingFeatures; + bufferFeatures = in_struct->bufferFeatures; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkFormatProperties3::initialize(const safe_VkFormatProperties3* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + linearTilingFeatures = copy_src->linearTilingFeatures; + optimalTilingFeatures = copy_src->optimalTilingFeatures; + bufferFeatures = copy_src->bufferFeatures; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance4Features::safe_VkPhysicalDeviceMaintenance4Features( + const VkPhysicalDeviceMaintenance4Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maintenance4(in_struct->maintenance4) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance4Features::safe_VkPhysicalDeviceMaintenance4Features() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES), pNext(nullptr), maintenance4() {} + +safe_VkPhysicalDeviceMaintenance4Features::safe_VkPhysicalDeviceMaintenance4Features( + const safe_VkPhysicalDeviceMaintenance4Features& copy_src) { + sType = copy_src.sType; + maintenance4 = copy_src.maintenance4; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance4Features& safe_VkPhysicalDeviceMaintenance4Features::operator=( + const safe_VkPhysicalDeviceMaintenance4Features& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maintenance4 = copy_src.maintenance4; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance4Features::~safe_VkPhysicalDeviceMaintenance4Features() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance4Features::initialize(const VkPhysicalDeviceMaintenance4Features* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maintenance4 = in_struct->maintenance4; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance4Features::initialize(const safe_VkPhysicalDeviceMaintenance4Features* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maintenance4 = copy_src->maintenance4; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance4Properties::safe_VkPhysicalDeviceMaintenance4Properties( + const VkPhysicalDeviceMaintenance4Properties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxBufferSize(in_struct->maxBufferSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance4Properties::safe_VkPhysicalDeviceMaintenance4Properties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES), pNext(nullptr), maxBufferSize() {} + +safe_VkPhysicalDeviceMaintenance4Properties::safe_VkPhysicalDeviceMaintenance4Properties( + const safe_VkPhysicalDeviceMaintenance4Properties& copy_src) { + sType = copy_src.sType; + maxBufferSize = copy_src.maxBufferSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance4Properties& safe_VkPhysicalDeviceMaintenance4Properties::operator=( + const safe_VkPhysicalDeviceMaintenance4Properties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxBufferSize = copy_src.maxBufferSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance4Properties::~safe_VkPhysicalDeviceMaintenance4Properties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance4Properties::initialize(const VkPhysicalDeviceMaintenance4Properties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxBufferSize = in_struct->maxBufferSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance4Properties::initialize(const safe_VkPhysicalDeviceMaintenance4Properties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxBufferSize = copy_src->maxBufferSize; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDeviceBufferMemoryRequirements::safe_VkDeviceBufferMemoryRequirements(const VkDeviceBufferMemoryRequirements* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), pCreateInfo(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(in_struct->pCreateInfo); +} + +safe_VkDeviceBufferMemoryRequirements::safe_VkDeviceBufferMemoryRequirements() + : sType(VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS), pNext(nullptr), pCreateInfo(nullptr) {} + +safe_VkDeviceBufferMemoryRequirements::safe_VkDeviceBufferMemoryRequirements( + const safe_VkDeviceBufferMemoryRequirements& copy_src) { + sType = copy_src.sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(*copy_src.pCreateInfo); +} + +safe_VkDeviceBufferMemoryRequirements& safe_VkDeviceBufferMemoryRequirements::operator=( + const safe_VkDeviceBufferMemoryRequirements& copy_src) { + if (©_src == this) return *this; + + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); + + sType = copy_src.sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(*copy_src.pCreateInfo); + + return *this; +} + +safe_VkDeviceBufferMemoryRequirements::~safe_VkDeviceBufferMemoryRequirements() { + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); +} + +void safe_VkDeviceBufferMemoryRequirements::initialize(const VkDeviceBufferMemoryRequirements* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); + sType = in_struct->sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(in_struct->pCreateInfo); +} + +void safe_VkDeviceBufferMemoryRequirements::initialize(const safe_VkDeviceBufferMemoryRequirements* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(*copy_src->pCreateInfo); +} + +safe_VkDeviceImageMemoryRequirements::safe_VkDeviceImageMemoryRequirements(const VkDeviceImageMemoryRequirements* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), pCreateInfo(nullptr), planeAspect(in_struct->planeAspect) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(in_struct->pCreateInfo); +} + +safe_VkDeviceImageMemoryRequirements::safe_VkDeviceImageMemoryRequirements() + : sType(VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS), pNext(nullptr), pCreateInfo(nullptr), planeAspect() {} + +safe_VkDeviceImageMemoryRequirements::safe_VkDeviceImageMemoryRequirements(const safe_VkDeviceImageMemoryRequirements& copy_src) { + sType = copy_src.sType; + pCreateInfo = nullptr; + planeAspect = copy_src.planeAspect; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(*copy_src.pCreateInfo); +} + +safe_VkDeviceImageMemoryRequirements& safe_VkDeviceImageMemoryRequirements::operator=( + const safe_VkDeviceImageMemoryRequirements& copy_src) { + if (©_src == this) return *this; + + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); + + sType = copy_src.sType; + pCreateInfo = nullptr; + planeAspect = copy_src.planeAspect; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(*copy_src.pCreateInfo); + + return *this; +} + +safe_VkDeviceImageMemoryRequirements::~safe_VkDeviceImageMemoryRequirements() { + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); +} + +void safe_VkDeviceImageMemoryRequirements::initialize(const VkDeviceImageMemoryRequirements* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); + sType = in_struct->sType; + pCreateInfo = nullptr; + planeAspect = in_struct->planeAspect; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(in_struct->pCreateInfo); +} + +void safe_VkDeviceImageMemoryRequirements::initialize(const safe_VkDeviceImageMemoryRequirements* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pCreateInfo = nullptr; + planeAspect = copy_src->planeAspect; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(*copy_src->pCreateInfo); +} + +safe_VkPipelineCreationFeedbackCreateInfo::safe_VkPipelineCreationFeedbackCreateInfo( + const VkPipelineCreationFeedbackCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + pPipelineCreationFeedback(nullptr), + pipelineStageCreationFeedbackCount(in_struct->pipelineStageCreationFeedbackCount), + pPipelineStageCreationFeedbacks(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pPipelineCreationFeedback) { + pPipelineCreationFeedback = new VkPipelineCreationFeedback(*in_struct->pPipelineCreationFeedback); + } + + if (in_struct->pPipelineStageCreationFeedbacks) { + pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[in_struct->pipelineStageCreationFeedbackCount]; + memcpy((void*)pPipelineStageCreationFeedbacks, (void*)in_struct->pPipelineStageCreationFeedbacks, + sizeof(VkPipelineCreationFeedback) * in_struct->pipelineStageCreationFeedbackCount); + } +} + +safe_VkPipelineCreationFeedbackCreateInfo::safe_VkPipelineCreationFeedbackCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO), + pNext(nullptr), + pPipelineCreationFeedback(nullptr), + pipelineStageCreationFeedbackCount(), + pPipelineStageCreationFeedbacks(nullptr) {} + +safe_VkPipelineCreationFeedbackCreateInfo::safe_VkPipelineCreationFeedbackCreateInfo( + const safe_VkPipelineCreationFeedbackCreateInfo& copy_src) { + sType = copy_src.sType; + pPipelineCreationFeedback = nullptr; + pipelineStageCreationFeedbackCount = copy_src.pipelineStageCreationFeedbackCount; + pPipelineStageCreationFeedbacks = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPipelineCreationFeedback) { + pPipelineCreationFeedback = new VkPipelineCreationFeedback(*copy_src.pPipelineCreationFeedback); + } + + if (copy_src.pPipelineStageCreationFeedbacks) { + pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[copy_src.pipelineStageCreationFeedbackCount]; + memcpy((void*)pPipelineStageCreationFeedbacks, (void*)copy_src.pPipelineStageCreationFeedbacks, + sizeof(VkPipelineCreationFeedback) * copy_src.pipelineStageCreationFeedbackCount); + } +} + +safe_VkPipelineCreationFeedbackCreateInfo& safe_VkPipelineCreationFeedbackCreateInfo::operator=( + const safe_VkPipelineCreationFeedbackCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pPipelineCreationFeedback) delete pPipelineCreationFeedback; + if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; + FreePnextChain(pNext); + + sType = copy_src.sType; + pPipelineCreationFeedback = nullptr; + pipelineStageCreationFeedbackCount = copy_src.pipelineStageCreationFeedbackCount; + pPipelineStageCreationFeedbacks = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPipelineCreationFeedback) { + pPipelineCreationFeedback = new VkPipelineCreationFeedback(*copy_src.pPipelineCreationFeedback); + } + + if (copy_src.pPipelineStageCreationFeedbacks) { + pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[copy_src.pipelineStageCreationFeedbackCount]; + memcpy((void*)pPipelineStageCreationFeedbacks, (void*)copy_src.pPipelineStageCreationFeedbacks, + sizeof(VkPipelineCreationFeedback) * copy_src.pipelineStageCreationFeedbackCount); } return *this; } -safe_VkResolveImageInfo2::~safe_VkResolveImageInfo2() { - if (pRegions) delete[] pRegions; +safe_VkPipelineCreationFeedbackCreateInfo::~safe_VkPipelineCreationFeedbackCreateInfo() { + if (pPipelineCreationFeedback) delete pPipelineCreationFeedback; + if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; FreePnextChain(pNext); } -void safe_VkResolveImageInfo2::initialize(const VkResolveImageInfo2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pRegions) delete[] pRegions; +void safe_VkPipelineCreationFeedbackCreateInfo::initialize(const VkPipelineCreationFeedbackCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pPipelineCreationFeedback) delete pPipelineCreationFeedback; + if (pPipelineStageCreationFeedbacks) delete[] pPipelineStageCreationFeedbacks; FreePnextChain(pNext); sType = in_struct->sType; - srcImage = in_struct->srcImage; - srcImageLayout = in_struct->srcImageLayout; - dstImage = in_struct->dstImage; - dstImageLayout = in_struct->dstImageLayout; - regionCount = in_struct->regionCount; - pRegions = nullptr; + pPipelineCreationFeedback = nullptr; + pipelineStageCreationFeedbackCount = in_struct->pipelineStageCreationFeedbackCount; + pPipelineStageCreationFeedbacks = nullptr; pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (regionCount && in_struct->pRegions) { - pRegions = new safe_VkImageResolve2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(&in_struct->pRegions[i]); - } + + if (in_struct->pPipelineCreationFeedback) { + pPipelineCreationFeedback = new VkPipelineCreationFeedback(*in_struct->pPipelineCreationFeedback); + } + + if (in_struct->pPipelineStageCreationFeedbacks) { + pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[in_struct->pipelineStageCreationFeedbackCount]; + memcpy((void*)pPipelineStageCreationFeedbacks, (void*)in_struct->pPipelineStageCreationFeedbacks, + sizeof(VkPipelineCreationFeedback) * in_struct->pipelineStageCreationFeedbackCount); } } -void safe_VkResolveImageInfo2::initialize(const safe_VkResolveImageInfo2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPipelineCreationFeedbackCreateInfo::initialize(const safe_VkPipelineCreationFeedbackCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - srcImage = copy_src->srcImage; - srcImageLayout = copy_src->srcImageLayout; - dstImage = copy_src->dstImage; - dstImageLayout = copy_src->dstImageLayout; - regionCount = copy_src->regionCount; - pRegions = nullptr; + pPipelineCreationFeedback = nullptr; + pipelineStageCreationFeedbackCount = copy_src->pipelineStageCreationFeedbackCount; + pPipelineStageCreationFeedbacks = nullptr; pNext = SafePnextCopy(copy_src->pNext); - if (regionCount && copy_src->pRegions) { - pRegions = new safe_VkImageResolve2[regionCount]; - for (uint32_t i = 0; i < regionCount; ++i) { - pRegions[i].initialize(©_src->pRegions[i]); - } + + if (copy_src->pPipelineCreationFeedback) { + pPipelineCreationFeedback = new VkPipelineCreationFeedback(*copy_src->pPipelineCreationFeedback); } + + if (copy_src->pPipelineStageCreationFeedbacks) { + pPipelineStageCreationFeedbacks = new VkPipelineCreationFeedback[copy_src->pipelineStageCreationFeedbackCount]; + memcpy((void*)pPipelineStageCreationFeedbacks, (void*)copy_src->pPipelineStageCreationFeedbacks, + sizeof(VkPipelineCreationFeedback) * copy_src->pipelineStageCreationFeedbackCount); + } +} + +safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::safe_VkPhysicalDeviceShaderTerminateInvocationFeatures( + const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderTerminateInvocation(in_struct->shaderTerminateInvocation) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::safe_VkPhysicalDeviceShaderTerminateInvocationFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES), pNext(nullptr), shaderTerminateInvocation() {} + +safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::safe_VkPhysicalDeviceShaderTerminateInvocationFeatures( + const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src) { + sType = copy_src.sType; + shaderTerminateInvocation = copy_src.shaderTerminateInvocation; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::operator=( + const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderTerminateInvocation = copy_src.shaderTerminateInvocation; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::~safe_VkPhysicalDeviceShaderTerminateInvocationFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::initialize( + const VkPhysicalDeviceShaderTerminateInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderTerminateInvocation = in_struct->shaderTerminateInvocation; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderTerminateInvocationFeatures::initialize( + const safe_VkPhysicalDeviceShaderTerminateInvocationFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderTerminateInvocation = copy_src->shaderTerminateInvocation; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderDemoteToHelperInvocation(in_struct->shaderDemoteToHelperInvocation) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES), + pNext(nullptr), + shaderDemoteToHelperInvocation() {} + +safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures( + const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src) { + sType = copy_src.sType; + shaderDemoteToHelperInvocation = copy_src.shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::operator=( + const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderDemoteToHelperInvocation = copy_src.shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::~safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::initialize( + const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderDemoteToHelperInvocation = in_struct->shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures::initialize( + const safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderDemoteToHelperInvocation = copy_src->shaderDemoteToHelperInvocation; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::safe_VkPhysicalDevicePipelineCreationCacheControlFeatures( + const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), pipelineCreationCacheControl(in_struct->pipelineCreationCacheControl) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::safe_VkPhysicalDevicePipelineCreationCacheControlFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES), + pNext(nullptr), + pipelineCreationCacheControl() {} + +safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::safe_VkPhysicalDevicePipelineCreationCacheControlFeatures( + const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src) { + sType = copy_src.sType; + pipelineCreationCacheControl = copy_src.pipelineCreationCacheControl; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::operator=( + const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pipelineCreationCacheControl = copy_src.pipelineCreationCacheControl; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::~safe_VkPhysicalDevicePipelineCreationCacheControlFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::initialize( + const VkPhysicalDevicePipelineCreationCacheControlFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pipelineCreationCacheControl = in_struct->pipelineCreationCacheControl; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePipelineCreationCacheControlFeatures::initialize( + const safe_VkPhysicalDevicePipelineCreationCacheControlFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pipelineCreationCacheControl = copy_src->pipelineCreationCacheControl; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderZeroInitializeWorkgroupMemory(in_struct->shaderZeroInitializeWorkgroupMemory) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES), + pNext(nullptr), + shaderZeroInitializeWorkgroupMemory() {} + +safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures( + const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src) { + sType = copy_src.sType; + shaderZeroInitializeWorkgroupMemory = copy_src.shaderZeroInitializeWorkgroupMemory; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::operator=( + const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderZeroInitializeWorkgroupMemory = copy_src.shaderZeroInitializeWorkgroupMemory; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::~safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::initialize( + const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderZeroInitializeWorkgroupMemory = in_struct->shaderZeroInitializeWorkgroupMemory; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures::initialize( + const safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderZeroInitializeWorkgroupMemory = copy_src->shaderZeroInitializeWorkgroupMemory; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceImageRobustnessFeatures::safe_VkPhysicalDeviceImageRobustnessFeatures( + const VkPhysicalDeviceImageRobustnessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), robustImageAccess(in_struct->robustImageAccess) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceImageRobustnessFeatures::safe_VkPhysicalDeviceImageRobustnessFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES), pNext(nullptr), robustImageAccess() {} + +safe_VkPhysicalDeviceImageRobustnessFeatures::safe_VkPhysicalDeviceImageRobustnessFeatures( + const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src) { + sType = copy_src.sType; + robustImageAccess = copy_src.robustImageAccess; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceImageRobustnessFeatures& safe_VkPhysicalDeviceImageRobustnessFeatures::operator=( + const safe_VkPhysicalDeviceImageRobustnessFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + robustImageAccess = copy_src.robustImageAccess; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceImageRobustnessFeatures::~safe_VkPhysicalDeviceImageRobustnessFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceImageRobustnessFeatures::initialize(const VkPhysicalDeviceImageRobustnessFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + robustImageAccess = in_struct->robustImageAccess; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceImageRobustnessFeatures::initialize(const safe_VkPhysicalDeviceImageRobustnessFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + robustImageAccess = copy_src->robustImageAccess; + pNext = SafePnextCopy(copy_src->pNext); } safe_VkPhysicalDeviceSubgroupSizeControlFeatures::safe_VkPhysicalDeviceSubgroupSizeControlFeatures( @@ -17495,59 +17527,817 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( - const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), textureCompressionASTC_HDR(in_struct->textureCompressionASTC_HDR) { +safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::safe_VkPhysicalDeviceShaderIntegerDotProductFeatures( + const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderIntegerDotProduct(in_struct->shaderIntegerDotProduct) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } } -safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES), - pNext(nullptr), - textureCompressionASTC_HDR() {} +safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::safe_VkPhysicalDeviceShaderIntegerDotProductFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES), pNext(nullptr), shaderIntegerDotProduct() {} -safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures( - const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src) { +safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::safe_VkPhysicalDeviceShaderIntegerDotProductFeatures( + const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src) { sType = copy_src.sType; - textureCompressionASTC_HDR = copy_src.textureCompressionASTC_HDR; + shaderIntegerDotProduct = copy_src.shaderIntegerDotProduct; pNext = SafePnextCopy(copy_src.pNext); } -safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::operator=( - const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures& copy_src) { +safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::operator=( + const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src) { if (©_src == this) return *this; FreePnextChain(pNext); sType = copy_src.sType; - textureCompressionASTC_HDR = copy_src.textureCompressionASTC_HDR; + shaderIntegerDotProduct = copy_src.shaderIntegerDotProduct; pNext = SafePnextCopy(copy_src.pNext); return *this; } -safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::~safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures() { +safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::~safe_VkPhysicalDeviceShaderIntegerDotProductFeatures() { FreePnextChain(pNext); } -void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::initialize( - const VkPhysicalDeviceTextureCompressionASTCHDRFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::initialize( + const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - textureCompressionASTC_HDR = in_struct->textureCompressionASTC_HDR; + shaderIntegerDotProduct = in_struct->shaderIntegerDotProduct; pNext = SafePnextCopy(in_struct->pNext, copy_state); } -void safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures::initialize( - const safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::initialize( + const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - textureCompressionASTC_HDR = copy_src->textureCompressionASTC_HDR; + shaderIntegerDotProduct = copy_src->shaderIntegerDotProduct; pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderIntegerDotProductProperties::safe_VkPhysicalDeviceShaderIntegerDotProductProperties( + const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + integerDotProduct8BitUnsignedAccelerated(in_struct->integerDotProduct8BitUnsignedAccelerated), + integerDotProduct8BitSignedAccelerated(in_struct->integerDotProduct8BitSignedAccelerated), + integerDotProduct8BitMixedSignednessAccelerated(in_struct->integerDotProduct8BitMixedSignednessAccelerated), + integerDotProduct4x8BitPackedUnsignedAccelerated(in_struct->integerDotProduct4x8BitPackedUnsignedAccelerated), + integerDotProduct4x8BitPackedSignedAccelerated(in_struct->integerDotProduct4x8BitPackedSignedAccelerated), + integerDotProduct4x8BitPackedMixedSignednessAccelerated(in_struct->integerDotProduct4x8BitPackedMixedSignednessAccelerated), + integerDotProduct16BitUnsignedAccelerated(in_struct->integerDotProduct16BitUnsignedAccelerated), + integerDotProduct16BitSignedAccelerated(in_struct->integerDotProduct16BitSignedAccelerated), + integerDotProduct16BitMixedSignednessAccelerated(in_struct->integerDotProduct16BitMixedSignednessAccelerated), + integerDotProduct32BitUnsignedAccelerated(in_struct->integerDotProduct32BitUnsignedAccelerated), + integerDotProduct32BitSignedAccelerated(in_struct->integerDotProduct32BitSignedAccelerated), + integerDotProduct32BitMixedSignednessAccelerated(in_struct->integerDotProduct32BitMixedSignednessAccelerated), + integerDotProduct64BitUnsignedAccelerated(in_struct->integerDotProduct64BitUnsignedAccelerated), + integerDotProduct64BitSignedAccelerated(in_struct->integerDotProduct64BitSignedAccelerated), + integerDotProduct64BitMixedSignednessAccelerated(in_struct->integerDotProduct64BitMixedSignednessAccelerated), + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated), + integerDotProductAccumulatingSaturating8BitSignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating8BitSignedAccelerated), + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated( + in_struct->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated), + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated), + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated), + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated( + in_struct->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated), + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated), + integerDotProductAccumulatingSaturating16BitSignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating16BitSignedAccelerated), + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated( + in_struct->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated), + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated), + integerDotProductAccumulatingSaturating32BitSignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating32BitSignedAccelerated), + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated( + in_struct->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated), + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated), + integerDotProductAccumulatingSaturating64BitSignedAccelerated( + in_struct->integerDotProductAccumulatingSaturating64BitSignedAccelerated), + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated( + in_struct->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderIntegerDotProductProperties::safe_VkPhysicalDeviceShaderIntegerDotProductProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES), + pNext(nullptr), + integerDotProduct8BitUnsignedAccelerated(), + integerDotProduct8BitSignedAccelerated(), + integerDotProduct8BitMixedSignednessAccelerated(), + integerDotProduct4x8BitPackedUnsignedAccelerated(), + integerDotProduct4x8BitPackedSignedAccelerated(), + integerDotProduct4x8BitPackedMixedSignednessAccelerated(), + integerDotProduct16BitUnsignedAccelerated(), + integerDotProduct16BitSignedAccelerated(), + integerDotProduct16BitMixedSignednessAccelerated(), + integerDotProduct32BitUnsignedAccelerated(), + integerDotProduct32BitSignedAccelerated(), + integerDotProduct32BitMixedSignednessAccelerated(), + integerDotProduct64BitUnsignedAccelerated(), + integerDotProduct64BitSignedAccelerated(), + integerDotProduct64BitMixedSignednessAccelerated(), + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated(), + integerDotProductAccumulatingSaturating8BitSignedAccelerated(), + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated(), + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated(), + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated(), + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated(), + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated(), + integerDotProductAccumulatingSaturating16BitSignedAccelerated(), + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated(), + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated(), + integerDotProductAccumulatingSaturating32BitSignedAccelerated(), + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated(), + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated(), + integerDotProductAccumulatingSaturating64BitSignedAccelerated(), + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated() {} + +safe_VkPhysicalDeviceShaderIntegerDotProductProperties::safe_VkPhysicalDeviceShaderIntegerDotProductProperties( + const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src) { + sType = copy_src.sType; + integerDotProduct8BitUnsignedAccelerated = copy_src.integerDotProduct8BitUnsignedAccelerated; + integerDotProduct8BitSignedAccelerated = copy_src.integerDotProduct8BitSignedAccelerated; + integerDotProduct8BitMixedSignednessAccelerated = copy_src.integerDotProduct8BitMixedSignednessAccelerated; + integerDotProduct4x8BitPackedUnsignedAccelerated = copy_src.integerDotProduct4x8BitPackedUnsignedAccelerated; + integerDotProduct4x8BitPackedSignedAccelerated = copy_src.integerDotProduct4x8BitPackedSignedAccelerated; + integerDotProduct4x8BitPackedMixedSignednessAccelerated = copy_src.integerDotProduct4x8BitPackedMixedSignednessAccelerated; + integerDotProduct16BitUnsignedAccelerated = copy_src.integerDotProduct16BitUnsignedAccelerated; + integerDotProduct16BitSignedAccelerated = copy_src.integerDotProduct16BitSignedAccelerated; + integerDotProduct16BitMixedSignednessAccelerated = copy_src.integerDotProduct16BitMixedSignednessAccelerated; + integerDotProduct32BitUnsignedAccelerated = copy_src.integerDotProduct32BitUnsignedAccelerated; + integerDotProduct32BitSignedAccelerated = copy_src.integerDotProduct32BitSignedAccelerated; + integerDotProduct32BitMixedSignednessAccelerated = copy_src.integerDotProduct32BitMixedSignednessAccelerated; + integerDotProduct64BitUnsignedAccelerated = copy_src.integerDotProduct64BitUnsignedAccelerated; + integerDotProduct64BitSignedAccelerated = copy_src.integerDotProduct64BitSignedAccelerated; + integerDotProduct64BitMixedSignednessAccelerated = copy_src.integerDotProduct64BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating8BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating8BitSignedAccelerated; + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating16BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating16BitSignedAccelerated; + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating32BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating32BitSignedAccelerated; + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating64BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating64BitSignedAccelerated; + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderIntegerDotProductProperties& safe_VkPhysicalDeviceShaderIntegerDotProductProperties::operator=( + const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + integerDotProduct8BitUnsignedAccelerated = copy_src.integerDotProduct8BitUnsignedAccelerated; + integerDotProduct8BitSignedAccelerated = copy_src.integerDotProduct8BitSignedAccelerated; + integerDotProduct8BitMixedSignednessAccelerated = copy_src.integerDotProduct8BitMixedSignednessAccelerated; + integerDotProduct4x8BitPackedUnsignedAccelerated = copy_src.integerDotProduct4x8BitPackedUnsignedAccelerated; + integerDotProduct4x8BitPackedSignedAccelerated = copy_src.integerDotProduct4x8BitPackedSignedAccelerated; + integerDotProduct4x8BitPackedMixedSignednessAccelerated = copy_src.integerDotProduct4x8BitPackedMixedSignednessAccelerated; + integerDotProduct16BitUnsignedAccelerated = copy_src.integerDotProduct16BitUnsignedAccelerated; + integerDotProduct16BitSignedAccelerated = copy_src.integerDotProduct16BitSignedAccelerated; + integerDotProduct16BitMixedSignednessAccelerated = copy_src.integerDotProduct16BitMixedSignednessAccelerated; + integerDotProduct32BitUnsignedAccelerated = copy_src.integerDotProduct32BitUnsignedAccelerated; + integerDotProduct32BitSignedAccelerated = copy_src.integerDotProduct32BitSignedAccelerated; + integerDotProduct32BitMixedSignednessAccelerated = copy_src.integerDotProduct32BitMixedSignednessAccelerated; + integerDotProduct64BitUnsignedAccelerated = copy_src.integerDotProduct64BitUnsignedAccelerated; + integerDotProduct64BitSignedAccelerated = copy_src.integerDotProduct64BitSignedAccelerated; + integerDotProduct64BitMixedSignednessAccelerated = copy_src.integerDotProduct64BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating8BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating8BitSignedAccelerated; + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating16BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating16BitSignedAccelerated; + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating32BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating32BitSignedAccelerated; + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating64BitSignedAccelerated = + copy_src.integerDotProductAccumulatingSaturating64BitSignedAccelerated; + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = + copy_src.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderIntegerDotProductProperties::~safe_VkPhysicalDeviceShaderIntegerDotProductProperties() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderIntegerDotProductProperties::initialize( + const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + integerDotProduct8BitUnsignedAccelerated = in_struct->integerDotProduct8BitUnsignedAccelerated; + integerDotProduct8BitSignedAccelerated = in_struct->integerDotProduct8BitSignedAccelerated; + integerDotProduct8BitMixedSignednessAccelerated = in_struct->integerDotProduct8BitMixedSignednessAccelerated; + integerDotProduct4x8BitPackedUnsignedAccelerated = in_struct->integerDotProduct4x8BitPackedUnsignedAccelerated; + integerDotProduct4x8BitPackedSignedAccelerated = in_struct->integerDotProduct4x8BitPackedSignedAccelerated; + integerDotProduct4x8BitPackedMixedSignednessAccelerated = in_struct->integerDotProduct4x8BitPackedMixedSignednessAccelerated; + integerDotProduct16BitUnsignedAccelerated = in_struct->integerDotProduct16BitUnsignedAccelerated; + integerDotProduct16BitSignedAccelerated = in_struct->integerDotProduct16BitSignedAccelerated; + integerDotProduct16BitMixedSignednessAccelerated = in_struct->integerDotProduct16BitMixedSignednessAccelerated; + integerDotProduct32BitUnsignedAccelerated = in_struct->integerDotProduct32BitUnsignedAccelerated; + integerDotProduct32BitSignedAccelerated = in_struct->integerDotProduct32BitSignedAccelerated; + integerDotProduct32BitMixedSignednessAccelerated = in_struct->integerDotProduct32BitMixedSignednessAccelerated; + integerDotProduct64BitUnsignedAccelerated = in_struct->integerDotProduct64BitUnsignedAccelerated; + integerDotProduct64BitSignedAccelerated = in_struct->integerDotProduct64BitSignedAccelerated; + integerDotProduct64BitMixedSignednessAccelerated = in_struct->integerDotProduct64BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating8BitSignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating8BitSignedAccelerated; + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = + in_struct->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = + in_struct->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating16BitSignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating16BitSignedAccelerated; + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = + in_struct->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating32BitSignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating32BitSignedAccelerated; + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = + in_struct->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating64BitSignedAccelerated = + in_struct->integerDotProductAccumulatingSaturating64BitSignedAccelerated; + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = + in_struct->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderIntegerDotProductProperties::initialize( + const safe_VkPhysicalDeviceShaderIntegerDotProductProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + integerDotProduct8BitUnsignedAccelerated = copy_src->integerDotProduct8BitUnsignedAccelerated; + integerDotProduct8BitSignedAccelerated = copy_src->integerDotProduct8BitSignedAccelerated; + integerDotProduct8BitMixedSignednessAccelerated = copy_src->integerDotProduct8BitMixedSignednessAccelerated; + integerDotProduct4x8BitPackedUnsignedAccelerated = copy_src->integerDotProduct4x8BitPackedUnsignedAccelerated; + integerDotProduct4x8BitPackedSignedAccelerated = copy_src->integerDotProduct4x8BitPackedSignedAccelerated; + integerDotProduct4x8BitPackedMixedSignednessAccelerated = copy_src->integerDotProduct4x8BitPackedMixedSignednessAccelerated; + integerDotProduct16BitUnsignedAccelerated = copy_src->integerDotProduct16BitUnsignedAccelerated; + integerDotProduct16BitSignedAccelerated = copy_src->integerDotProduct16BitSignedAccelerated; + integerDotProduct16BitMixedSignednessAccelerated = copy_src->integerDotProduct16BitMixedSignednessAccelerated; + integerDotProduct32BitUnsignedAccelerated = copy_src->integerDotProduct32BitUnsignedAccelerated; + integerDotProduct32BitSignedAccelerated = copy_src->integerDotProduct32BitSignedAccelerated; + integerDotProduct32BitMixedSignednessAccelerated = copy_src->integerDotProduct32BitMixedSignednessAccelerated; + integerDotProduct64BitUnsignedAccelerated = copy_src->integerDotProduct64BitUnsignedAccelerated; + integerDotProduct64BitSignedAccelerated = copy_src->integerDotProduct64BitSignedAccelerated; + integerDotProduct64BitMixedSignednessAccelerated = copy_src->integerDotProduct64BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating8BitSignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating8BitSignedAccelerated; + integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = + copy_src->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; + integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = + copy_src->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating16BitSignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating16BitSignedAccelerated; + integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = + copy_src->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating32BitSignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating32BitSignedAccelerated; + integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = + copy_src->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; + integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; + integerDotProductAccumulatingSaturating64BitSignedAccelerated = + copy_src->integerDotProductAccumulatingSaturating64BitSignedAccelerated; + integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = + copy_src->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceTexelBufferAlignmentProperties::safe_VkPhysicalDeviceTexelBufferAlignmentProperties( + const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + storageTexelBufferOffsetAlignmentBytes(in_struct->storageTexelBufferOffsetAlignmentBytes), + storageTexelBufferOffsetSingleTexelAlignment(in_struct->storageTexelBufferOffsetSingleTexelAlignment), + uniformTexelBufferOffsetAlignmentBytes(in_struct->uniformTexelBufferOffsetAlignmentBytes), + uniformTexelBufferOffsetSingleTexelAlignment(in_struct->uniformTexelBufferOffsetSingleTexelAlignment) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTexelBufferAlignmentProperties::safe_VkPhysicalDeviceTexelBufferAlignmentProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES), + pNext(nullptr), + storageTexelBufferOffsetAlignmentBytes(), + storageTexelBufferOffsetSingleTexelAlignment(), + uniformTexelBufferOffsetAlignmentBytes(), + uniformTexelBufferOffsetSingleTexelAlignment() {} + +safe_VkPhysicalDeviceTexelBufferAlignmentProperties::safe_VkPhysicalDeviceTexelBufferAlignmentProperties( + const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src) { + sType = copy_src.sType; + storageTexelBufferOffsetAlignmentBytes = copy_src.storageTexelBufferOffsetAlignmentBytes; + storageTexelBufferOffsetSingleTexelAlignment = copy_src.storageTexelBufferOffsetSingleTexelAlignment; + uniformTexelBufferOffsetAlignmentBytes = copy_src.uniformTexelBufferOffsetAlignmentBytes; + uniformTexelBufferOffsetSingleTexelAlignment = copy_src.uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTexelBufferAlignmentProperties& safe_VkPhysicalDeviceTexelBufferAlignmentProperties::operator=( + const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + storageTexelBufferOffsetAlignmentBytes = copy_src.storageTexelBufferOffsetAlignmentBytes; + storageTexelBufferOffsetSingleTexelAlignment = copy_src.storageTexelBufferOffsetSingleTexelAlignment; + uniformTexelBufferOffsetAlignmentBytes = copy_src.uniformTexelBufferOffsetAlignmentBytes; + uniformTexelBufferOffsetSingleTexelAlignment = copy_src.uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTexelBufferAlignmentProperties::~safe_VkPhysicalDeviceTexelBufferAlignmentProperties() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceTexelBufferAlignmentProperties::initialize( + const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + storageTexelBufferOffsetAlignmentBytes = in_struct->storageTexelBufferOffsetAlignmentBytes; + storageTexelBufferOffsetSingleTexelAlignment = in_struct->storageTexelBufferOffsetSingleTexelAlignment; + uniformTexelBufferOffsetAlignmentBytes = in_struct->uniformTexelBufferOffsetAlignmentBytes; + uniformTexelBufferOffsetSingleTexelAlignment = in_struct->uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTexelBufferAlignmentProperties::initialize( + const safe_VkPhysicalDeviceTexelBufferAlignmentProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + storageTexelBufferOffsetAlignmentBytes = copy_src->storageTexelBufferOffsetAlignmentBytes; + storageTexelBufferOffsetSingleTexelAlignment = copy_src->storageTexelBufferOffsetSingleTexelAlignment; + uniformTexelBufferOffsetAlignmentBytes = copy_src->uniformTexelBufferOffsetAlignmentBytes; + uniformTexelBufferOffsetSingleTexelAlignment = copy_src->uniformTexelBufferOffsetSingleTexelAlignment; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkImageBlit2::safe_VkImageBlit2(const VkImageBlit2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), srcSubresource(in_struct->srcSubresource), dstSubresource(in_struct->dstSubresource) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + for (uint32_t i = 0; i < 2; ++i) { + srcOffsets[i] = in_struct->srcOffsets[i]; + } + + for (uint32_t i = 0; i < 2; ++i) { + dstOffsets[i] = in_struct->dstOffsets[i]; + } +} + +safe_VkImageBlit2::safe_VkImageBlit2() + : sType(VK_STRUCTURE_TYPE_IMAGE_BLIT_2), pNext(nullptr), srcSubresource(), dstSubresource() {} + +safe_VkImageBlit2::safe_VkImageBlit2(const safe_VkImageBlit2& copy_src) { + sType = copy_src.sType; + srcSubresource = copy_src.srcSubresource; + dstSubresource = copy_src.dstSubresource; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < 2; ++i) { + srcOffsets[i] = copy_src.srcOffsets[i]; + } + + for (uint32_t i = 0; i < 2; ++i) { + dstOffsets[i] = copy_src.dstOffsets[i]; + } +} + +safe_VkImageBlit2& safe_VkImageBlit2::operator=(const safe_VkImageBlit2& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcSubresource = copy_src.srcSubresource; + dstSubresource = copy_src.dstSubresource; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < 2; ++i) { + srcOffsets[i] = copy_src.srcOffsets[i]; + } + + for (uint32_t i = 0; i < 2; ++i) { + dstOffsets[i] = copy_src.dstOffsets[i]; + } + + return *this; +} + +safe_VkImageBlit2::~safe_VkImageBlit2() { FreePnextChain(pNext); } + +void safe_VkImageBlit2::initialize(const VkImageBlit2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcSubresource = in_struct->srcSubresource; + dstSubresource = in_struct->dstSubresource; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + for (uint32_t i = 0; i < 2; ++i) { + srcOffsets[i] = in_struct->srcOffsets[i]; + } + + for (uint32_t i = 0; i < 2; ++i) { + dstOffsets[i] = in_struct->dstOffsets[i]; + } +} + +void safe_VkImageBlit2::initialize(const safe_VkImageBlit2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcSubresource = copy_src->srcSubresource; + dstSubresource = copy_src->dstSubresource; + pNext = SafePnextCopy(copy_src->pNext); + + for (uint32_t i = 0; i < 2; ++i) { + srcOffsets[i] = copy_src->srcOffsets[i]; + } + + for (uint32_t i = 0; i < 2; ++i) { + dstOffsets[i] = copy_src->dstOffsets[i]; + } +} + +safe_VkBlitImageInfo2::safe_VkBlitImageInfo2(const VkBlitImageInfo2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + srcImage(in_struct->srcImage), + srcImageLayout(in_struct->srcImageLayout), + dstImage(in_struct->dstImage), + dstImageLayout(in_struct->dstImageLayout), + regionCount(in_struct->regionCount), + pRegions(nullptr), + filter(in_struct->filter) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkImageBlit2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +safe_VkBlitImageInfo2::safe_VkBlitImageInfo2() + : sType(VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2), + pNext(nullptr), + srcImage(), + srcImageLayout(), + dstImage(), + dstImageLayout(), + regionCount(), + pRegions(nullptr), + filter() {} + +safe_VkBlitImageInfo2::safe_VkBlitImageInfo2(const safe_VkBlitImageInfo2& copy_src) { + sType = copy_src.sType; + srcImage = copy_src.srcImage; + srcImageLayout = copy_src.srcImageLayout; + dstImage = copy_src.dstImage; + dstImageLayout = copy_src.dstImageLayout; + regionCount = copy_src.regionCount; + pRegions = nullptr; + filter = copy_src.filter; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkImageBlit2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } +} + +safe_VkBlitImageInfo2& safe_VkBlitImageInfo2::operator=(const safe_VkBlitImageInfo2& copy_src) { + if (©_src == this) return *this; + + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + + sType = copy_src.sType; + srcImage = copy_src.srcImage; + srcImageLayout = copy_src.srcImageLayout; + dstImage = copy_src.dstImage; + dstImageLayout = copy_src.dstImageLayout; + regionCount = copy_src.regionCount; + pRegions = nullptr; + filter = copy_src.filter; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkImageBlit2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } + + return *this; +} + +safe_VkBlitImageInfo2::~safe_VkBlitImageInfo2() { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); +} + +void safe_VkBlitImageInfo2::initialize(const VkBlitImageInfo2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + sType = in_struct->sType; + srcImage = in_struct->srcImage; + srcImageLayout = in_struct->srcImageLayout; + dstImage = in_struct->dstImage; + dstImageLayout = in_struct->dstImageLayout; + regionCount = in_struct->regionCount; + pRegions = nullptr; + filter = in_struct->filter; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkImageBlit2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +void safe_VkBlitImageInfo2::initialize(const safe_VkBlitImageInfo2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcImage = copy_src->srcImage; + srcImageLayout = copy_src->srcImageLayout; + dstImage = copy_src->dstImage; + dstImageLayout = copy_src->dstImageLayout; + regionCount = copy_src->regionCount; + pRegions = nullptr; + filter = copy_src->filter; + pNext = SafePnextCopy(copy_src->pNext); + if (regionCount && copy_src->pRegions) { + pRegions = new safe_VkImageBlit2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src->pRegions[i]); + } + } +} + +safe_VkImageResolve2::safe_VkImageResolve2(const VkImageResolve2* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + srcSubresource(in_struct->srcSubresource), + srcOffset(in_struct->srcOffset), + dstSubresource(in_struct->dstSubresource), + dstOffset(in_struct->dstOffset), + extent(in_struct->extent) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkImageResolve2::safe_VkImageResolve2() + : sType(VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2), + pNext(nullptr), + srcSubresource(), + srcOffset(), + dstSubresource(), + dstOffset(), + extent() {} + +safe_VkImageResolve2::safe_VkImageResolve2(const safe_VkImageResolve2& copy_src) { + sType = copy_src.sType; + srcSubresource = copy_src.srcSubresource; + srcOffset = copy_src.srcOffset; + dstSubresource = copy_src.dstSubresource; + dstOffset = copy_src.dstOffset; + extent = copy_src.extent; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkImageResolve2& safe_VkImageResolve2::operator=(const safe_VkImageResolve2& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcSubresource = copy_src.srcSubresource; + srcOffset = copy_src.srcOffset; + dstSubresource = copy_src.dstSubresource; + dstOffset = copy_src.dstOffset; + extent = copy_src.extent; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkImageResolve2::~safe_VkImageResolve2() { FreePnextChain(pNext); } + +void safe_VkImageResolve2::initialize(const VkImageResolve2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcSubresource = in_struct->srcSubresource; + srcOffset = in_struct->srcOffset; + dstSubresource = in_struct->dstSubresource; + dstOffset = in_struct->dstOffset; + extent = in_struct->extent; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkImageResolve2::initialize(const safe_VkImageResolve2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcSubresource = copy_src->srcSubresource; + srcOffset = copy_src->srcOffset; + dstSubresource = copy_src->dstSubresource; + dstOffset = copy_src->dstOffset; + extent = copy_src->extent; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkResolveImageInfo2::safe_VkResolveImageInfo2(const VkResolveImageInfo2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcImage(in_struct->srcImage), + srcImageLayout(in_struct->srcImageLayout), + dstImage(in_struct->dstImage), + dstImageLayout(in_struct->dstImageLayout), + regionCount(in_struct->regionCount), + pRegions(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkImageResolve2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +safe_VkResolveImageInfo2::safe_VkResolveImageInfo2() + : sType(VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2), + pNext(nullptr), + srcImage(), + srcImageLayout(), + dstImage(), + dstImageLayout(), + regionCount(), + pRegions(nullptr) {} + +safe_VkResolveImageInfo2::safe_VkResolveImageInfo2(const safe_VkResolveImageInfo2& copy_src) { + sType = copy_src.sType; + srcImage = copy_src.srcImage; + srcImageLayout = copy_src.srcImageLayout; + dstImage = copy_src.dstImage; + dstImageLayout = copy_src.dstImageLayout; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkImageResolve2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } +} + +safe_VkResolveImageInfo2& safe_VkResolveImageInfo2::operator=(const safe_VkResolveImageInfo2& copy_src) { + if (©_src == this) return *this; + + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + + sType = copy_src.sType; + srcImage = copy_src.srcImage; + srcImageLayout = copy_src.srcImageLayout; + dstImage = copy_src.dstImage; + dstImageLayout = copy_src.dstImageLayout; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkImageResolve2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } + + return *this; +} + +safe_VkResolveImageInfo2::~safe_VkResolveImageInfo2() { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); +} + +void safe_VkResolveImageInfo2::initialize(const VkResolveImageInfo2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + sType = in_struct->sType; + srcImage = in_struct->srcImage; + srcImageLayout = in_struct->srcImageLayout; + dstImage = in_struct->dstImage; + dstImageLayout = in_struct->dstImageLayout; + regionCount = in_struct->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkImageResolve2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +void safe_VkResolveImageInfo2::initialize(const safe_VkResolveImageInfo2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcImage = copy_src->srcImage; + srcImageLayout = copy_src->srcImageLayout; + dstImage = copy_src->dstImage; + dstImageLayout = copy_src->dstImageLayout; + regionCount = copy_src->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (regionCount && copy_src->pRegions) { + pRegions = new safe_VkImageResolve2[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src->pRegions[i]); + } + } +} + safe_VkRenderingAttachmentInfo::safe_VkRenderingAttachmentInfo(const VkRenderingAttachmentInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -18069,706 +18859,6 @@ } } -safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::safe_VkPhysicalDeviceShaderIntegerDotProductFeatures( - const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), shaderIntegerDotProduct(in_struct->shaderIntegerDotProduct) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::safe_VkPhysicalDeviceShaderIntegerDotProductFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES), pNext(nullptr), shaderIntegerDotProduct() {} - -safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::safe_VkPhysicalDeviceShaderIntegerDotProductFeatures( - const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src) { - sType = copy_src.sType; - shaderIntegerDotProduct = copy_src.shaderIntegerDotProduct; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::operator=( - const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderIntegerDotProduct = copy_src.shaderIntegerDotProduct; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::~safe_VkPhysicalDeviceShaderIntegerDotProductFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::initialize( - const VkPhysicalDeviceShaderIntegerDotProductFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderIntegerDotProduct = in_struct->shaderIntegerDotProduct; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderIntegerDotProductFeatures::initialize( - const safe_VkPhysicalDeviceShaderIntegerDotProductFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderIntegerDotProduct = copy_src->shaderIntegerDotProduct; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceShaderIntegerDotProductProperties::safe_VkPhysicalDeviceShaderIntegerDotProductProperties( - const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - integerDotProduct8BitUnsignedAccelerated(in_struct->integerDotProduct8BitUnsignedAccelerated), - integerDotProduct8BitSignedAccelerated(in_struct->integerDotProduct8BitSignedAccelerated), - integerDotProduct8BitMixedSignednessAccelerated(in_struct->integerDotProduct8BitMixedSignednessAccelerated), - integerDotProduct4x8BitPackedUnsignedAccelerated(in_struct->integerDotProduct4x8BitPackedUnsignedAccelerated), - integerDotProduct4x8BitPackedSignedAccelerated(in_struct->integerDotProduct4x8BitPackedSignedAccelerated), - integerDotProduct4x8BitPackedMixedSignednessAccelerated(in_struct->integerDotProduct4x8BitPackedMixedSignednessAccelerated), - integerDotProduct16BitUnsignedAccelerated(in_struct->integerDotProduct16BitUnsignedAccelerated), - integerDotProduct16BitSignedAccelerated(in_struct->integerDotProduct16BitSignedAccelerated), - integerDotProduct16BitMixedSignednessAccelerated(in_struct->integerDotProduct16BitMixedSignednessAccelerated), - integerDotProduct32BitUnsignedAccelerated(in_struct->integerDotProduct32BitUnsignedAccelerated), - integerDotProduct32BitSignedAccelerated(in_struct->integerDotProduct32BitSignedAccelerated), - integerDotProduct32BitMixedSignednessAccelerated(in_struct->integerDotProduct32BitMixedSignednessAccelerated), - integerDotProduct64BitUnsignedAccelerated(in_struct->integerDotProduct64BitUnsignedAccelerated), - integerDotProduct64BitSignedAccelerated(in_struct->integerDotProduct64BitSignedAccelerated), - integerDotProduct64BitMixedSignednessAccelerated(in_struct->integerDotProduct64BitMixedSignednessAccelerated), - integerDotProductAccumulatingSaturating8BitUnsignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated), - integerDotProductAccumulatingSaturating8BitSignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating8BitSignedAccelerated), - integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated( - in_struct->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated), - integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated), - integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated), - integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated( - in_struct->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated), - integerDotProductAccumulatingSaturating16BitUnsignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated), - integerDotProductAccumulatingSaturating16BitSignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating16BitSignedAccelerated), - integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated( - in_struct->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated), - integerDotProductAccumulatingSaturating32BitUnsignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated), - integerDotProductAccumulatingSaturating32BitSignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating32BitSignedAccelerated), - integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated( - in_struct->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated), - integerDotProductAccumulatingSaturating64BitUnsignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated), - integerDotProductAccumulatingSaturating64BitSignedAccelerated( - in_struct->integerDotProductAccumulatingSaturating64BitSignedAccelerated), - integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated( - in_struct->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderIntegerDotProductProperties::safe_VkPhysicalDeviceShaderIntegerDotProductProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES), - pNext(nullptr), - integerDotProduct8BitUnsignedAccelerated(), - integerDotProduct8BitSignedAccelerated(), - integerDotProduct8BitMixedSignednessAccelerated(), - integerDotProduct4x8BitPackedUnsignedAccelerated(), - integerDotProduct4x8BitPackedSignedAccelerated(), - integerDotProduct4x8BitPackedMixedSignednessAccelerated(), - integerDotProduct16BitUnsignedAccelerated(), - integerDotProduct16BitSignedAccelerated(), - integerDotProduct16BitMixedSignednessAccelerated(), - integerDotProduct32BitUnsignedAccelerated(), - integerDotProduct32BitSignedAccelerated(), - integerDotProduct32BitMixedSignednessAccelerated(), - integerDotProduct64BitUnsignedAccelerated(), - integerDotProduct64BitSignedAccelerated(), - integerDotProduct64BitMixedSignednessAccelerated(), - integerDotProductAccumulatingSaturating8BitUnsignedAccelerated(), - integerDotProductAccumulatingSaturating8BitSignedAccelerated(), - integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated(), - integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated(), - integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated(), - integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated(), - integerDotProductAccumulatingSaturating16BitUnsignedAccelerated(), - integerDotProductAccumulatingSaturating16BitSignedAccelerated(), - integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated(), - integerDotProductAccumulatingSaturating32BitUnsignedAccelerated(), - integerDotProductAccumulatingSaturating32BitSignedAccelerated(), - integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated(), - integerDotProductAccumulatingSaturating64BitUnsignedAccelerated(), - integerDotProductAccumulatingSaturating64BitSignedAccelerated(), - integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated() {} - -safe_VkPhysicalDeviceShaderIntegerDotProductProperties::safe_VkPhysicalDeviceShaderIntegerDotProductProperties( - const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src) { - sType = copy_src.sType; - integerDotProduct8BitUnsignedAccelerated = copy_src.integerDotProduct8BitUnsignedAccelerated; - integerDotProduct8BitSignedAccelerated = copy_src.integerDotProduct8BitSignedAccelerated; - integerDotProduct8BitMixedSignednessAccelerated = copy_src.integerDotProduct8BitMixedSignednessAccelerated; - integerDotProduct4x8BitPackedUnsignedAccelerated = copy_src.integerDotProduct4x8BitPackedUnsignedAccelerated; - integerDotProduct4x8BitPackedSignedAccelerated = copy_src.integerDotProduct4x8BitPackedSignedAccelerated; - integerDotProduct4x8BitPackedMixedSignednessAccelerated = copy_src.integerDotProduct4x8BitPackedMixedSignednessAccelerated; - integerDotProduct16BitUnsignedAccelerated = copy_src.integerDotProduct16BitUnsignedAccelerated; - integerDotProduct16BitSignedAccelerated = copy_src.integerDotProduct16BitSignedAccelerated; - integerDotProduct16BitMixedSignednessAccelerated = copy_src.integerDotProduct16BitMixedSignednessAccelerated; - integerDotProduct32BitUnsignedAccelerated = copy_src.integerDotProduct32BitUnsignedAccelerated; - integerDotProduct32BitSignedAccelerated = copy_src.integerDotProduct32BitSignedAccelerated; - integerDotProduct32BitMixedSignednessAccelerated = copy_src.integerDotProduct32BitMixedSignednessAccelerated; - integerDotProduct64BitUnsignedAccelerated = copy_src.integerDotProduct64BitUnsignedAccelerated; - integerDotProduct64BitSignedAccelerated = copy_src.integerDotProduct64BitSignedAccelerated; - integerDotProduct64BitMixedSignednessAccelerated = copy_src.integerDotProduct64BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating8BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating8BitSignedAccelerated; - integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating16BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating16BitSignedAccelerated; - integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating32BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating32BitSignedAccelerated; - integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating64BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating64BitSignedAccelerated; - integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderIntegerDotProductProperties& safe_VkPhysicalDeviceShaderIntegerDotProductProperties::operator=( - const safe_VkPhysicalDeviceShaderIntegerDotProductProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - integerDotProduct8BitUnsignedAccelerated = copy_src.integerDotProduct8BitUnsignedAccelerated; - integerDotProduct8BitSignedAccelerated = copy_src.integerDotProduct8BitSignedAccelerated; - integerDotProduct8BitMixedSignednessAccelerated = copy_src.integerDotProduct8BitMixedSignednessAccelerated; - integerDotProduct4x8BitPackedUnsignedAccelerated = copy_src.integerDotProduct4x8BitPackedUnsignedAccelerated; - integerDotProduct4x8BitPackedSignedAccelerated = copy_src.integerDotProduct4x8BitPackedSignedAccelerated; - integerDotProduct4x8BitPackedMixedSignednessAccelerated = copy_src.integerDotProduct4x8BitPackedMixedSignednessAccelerated; - integerDotProduct16BitUnsignedAccelerated = copy_src.integerDotProduct16BitUnsignedAccelerated; - integerDotProduct16BitSignedAccelerated = copy_src.integerDotProduct16BitSignedAccelerated; - integerDotProduct16BitMixedSignednessAccelerated = copy_src.integerDotProduct16BitMixedSignednessAccelerated; - integerDotProduct32BitUnsignedAccelerated = copy_src.integerDotProduct32BitUnsignedAccelerated; - integerDotProduct32BitSignedAccelerated = copy_src.integerDotProduct32BitSignedAccelerated; - integerDotProduct32BitMixedSignednessAccelerated = copy_src.integerDotProduct32BitMixedSignednessAccelerated; - integerDotProduct64BitUnsignedAccelerated = copy_src.integerDotProduct64BitUnsignedAccelerated; - integerDotProduct64BitSignedAccelerated = copy_src.integerDotProduct64BitSignedAccelerated; - integerDotProduct64BitMixedSignednessAccelerated = copy_src.integerDotProduct64BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating8BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating8BitSignedAccelerated; - integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating16BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating16BitSignedAccelerated; - integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating32BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating32BitSignedAccelerated; - integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating64BitSignedAccelerated = - copy_src.integerDotProductAccumulatingSaturating64BitSignedAccelerated; - integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = - copy_src.integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderIntegerDotProductProperties::~safe_VkPhysicalDeviceShaderIntegerDotProductProperties() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceShaderIntegerDotProductProperties::initialize( - const VkPhysicalDeviceShaderIntegerDotProductProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - integerDotProduct8BitUnsignedAccelerated = in_struct->integerDotProduct8BitUnsignedAccelerated; - integerDotProduct8BitSignedAccelerated = in_struct->integerDotProduct8BitSignedAccelerated; - integerDotProduct8BitMixedSignednessAccelerated = in_struct->integerDotProduct8BitMixedSignednessAccelerated; - integerDotProduct4x8BitPackedUnsignedAccelerated = in_struct->integerDotProduct4x8BitPackedUnsignedAccelerated; - integerDotProduct4x8BitPackedSignedAccelerated = in_struct->integerDotProduct4x8BitPackedSignedAccelerated; - integerDotProduct4x8BitPackedMixedSignednessAccelerated = in_struct->integerDotProduct4x8BitPackedMixedSignednessAccelerated; - integerDotProduct16BitUnsignedAccelerated = in_struct->integerDotProduct16BitUnsignedAccelerated; - integerDotProduct16BitSignedAccelerated = in_struct->integerDotProduct16BitSignedAccelerated; - integerDotProduct16BitMixedSignednessAccelerated = in_struct->integerDotProduct16BitMixedSignednessAccelerated; - integerDotProduct32BitUnsignedAccelerated = in_struct->integerDotProduct32BitUnsignedAccelerated; - integerDotProduct32BitSignedAccelerated = in_struct->integerDotProduct32BitSignedAccelerated; - integerDotProduct32BitMixedSignednessAccelerated = in_struct->integerDotProduct32BitMixedSignednessAccelerated; - integerDotProduct64BitUnsignedAccelerated = in_struct->integerDotProduct64BitUnsignedAccelerated; - integerDotProduct64BitSignedAccelerated = in_struct->integerDotProduct64BitSignedAccelerated; - integerDotProduct64BitMixedSignednessAccelerated = in_struct->integerDotProduct64BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating8BitSignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating8BitSignedAccelerated; - integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = - in_struct->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = - in_struct->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating16BitSignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating16BitSignedAccelerated; - integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = - in_struct->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating32BitSignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating32BitSignedAccelerated; - integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = - in_struct->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating64BitSignedAccelerated = - in_struct->integerDotProductAccumulatingSaturating64BitSignedAccelerated; - integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = - in_struct->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderIntegerDotProductProperties::initialize( - const safe_VkPhysicalDeviceShaderIntegerDotProductProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - integerDotProduct8BitUnsignedAccelerated = copy_src->integerDotProduct8BitUnsignedAccelerated; - integerDotProduct8BitSignedAccelerated = copy_src->integerDotProduct8BitSignedAccelerated; - integerDotProduct8BitMixedSignednessAccelerated = copy_src->integerDotProduct8BitMixedSignednessAccelerated; - integerDotProduct4x8BitPackedUnsignedAccelerated = copy_src->integerDotProduct4x8BitPackedUnsignedAccelerated; - integerDotProduct4x8BitPackedSignedAccelerated = copy_src->integerDotProduct4x8BitPackedSignedAccelerated; - integerDotProduct4x8BitPackedMixedSignednessAccelerated = copy_src->integerDotProduct4x8BitPackedMixedSignednessAccelerated; - integerDotProduct16BitUnsignedAccelerated = copy_src->integerDotProduct16BitUnsignedAccelerated; - integerDotProduct16BitSignedAccelerated = copy_src->integerDotProduct16BitSignedAccelerated; - integerDotProduct16BitMixedSignednessAccelerated = copy_src->integerDotProduct16BitMixedSignednessAccelerated; - integerDotProduct32BitUnsignedAccelerated = copy_src->integerDotProduct32BitUnsignedAccelerated; - integerDotProduct32BitSignedAccelerated = copy_src->integerDotProduct32BitSignedAccelerated; - integerDotProduct32BitMixedSignednessAccelerated = copy_src->integerDotProduct32BitMixedSignednessAccelerated; - integerDotProduct64BitUnsignedAccelerated = copy_src->integerDotProduct64BitUnsignedAccelerated; - integerDotProduct64BitSignedAccelerated = copy_src->integerDotProduct64BitSignedAccelerated; - integerDotProduct64BitMixedSignednessAccelerated = copy_src->integerDotProduct64BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating8BitSignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating8BitSignedAccelerated; - integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = - copy_src->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated; - integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = - copy_src->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating16BitSignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating16BitSignedAccelerated; - integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = - copy_src->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating32BitSignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating32BitSignedAccelerated; - integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = - copy_src->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated; - integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated; - integerDotProductAccumulatingSaturating64BitSignedAccelerated = - copy_src->integerDotProductAccumulatingSaturating64BitSignedAccelerated; - integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = - copy_src->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceTexelBufferAlignmentProperties::safe_VkPhysicalDeviceTexelBufferAlignmentProperties( - const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - storageTexelBufferOffsetAlignmentBytes(in_struct->storageTexelBufferOffsetAlignmentBytes), - storageTexelBufferOffsetSingleTexelAlignment(in_struct->storageTexelBufferOffsetSingleTexelAlignment), - uniformTexelBufferOffsetAlignmentBytes(in_struct->uniformTexelBufferOffsetAlignmentBytes), - uniformTexelBufferOffsetSingleTexelAlignment(in_struct->uniformTexelBufferOffsetSingleTexelAlignment) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceTexelBufferAlignmentProperties::safe_VkPhysicalDeviceTexelBufferAlignmentProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES), - pNext(nullptr), - storageTexelBufferOffsetAlignmentBytes(), - storageTexelBufferOffsetSingleTexelAlignment(), - uniformTexelBufferOffsetAlignmentBytes(), - uniformTexelBufferOffsetSingleTexelAlignment() {} - -safe_VkPhysicalDeviceTexelBufferAlignmentProperties::safe_VkPhysicalDeviceTexelBufferAlignmentProperties( - const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src) { - sType = copy_src.sType; - storageTexelBufferOffsetAlignmentBytes = copy_src.storageTexelBufferOffsetAlignmentBytes; - storageTexelBufferOffsetSingleTexelAlignment = copy_src.storageTexelBufferOffsetSingleTexelAlignment; - uniformTexelBufferOffsetAlignmentBytes = copy_src.uniformTexelBufferOffsetAlignmentBytes; - uniformTexelBufferOffsetSingleTexelAlignment = copy_src.uniformTexelBufferOffsetSingleTexelAlignment; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceTexelBufferAlignmentProperties& safe_VkPhysicalDeviceTexelBufferAlignmentProperties::operator=( - const safe_VkPhysicalDeviceTexelBufferAlignmentProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - storageTexelBufferOffsetAlignmentBytes = copy_src.storageTexelBufferOffsetAlignmentBytes; - storageTexelBufferOffsetSingleTexelAlignment = copy_src.storageTexelBufferOffsetSingleTexelAlignment; - uniformTexelBufferOffsetAlignmentBytes = copy_src.uniformTexelBufferOffsetAlignmentBytes; - uniformTexelBufferOffsetSingleTexelAlignment = copy_src.uniformTexelBufferOffsetSingleTexelAlignment; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceTexelBufferAlignmentProperties::~safe_VkPhysicalDeviceTexelBufferAlignmentProperties() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceTexelBufferAlignmentProperties::initialize( - const VkPhysicalDeviceTexelBufferAlignmentProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - storageTexelBufferOffsetAlignmentBytes = in_struct->storageTexelBufferOffsetAlignmentBytes; - storageTexelBufferOffsetSingleTexelAlignment = in_struct->storageTexelBufferOffsetSingleTexelAlignment; - uniformTexelBufferOffsetAlignmentBytes = in_struct->uniformTexelBufferOffsetAlignmentBytes; - uniformTexelBufferOffsetSingleTexelAlignment = in_struct->uniformTexelBufferOffsetSingleTexelAlignment; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceTexelBufferAlignmentProperties::initialize( - const safe_VkPhysicalDeviceTexelBufferAlignmentProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - storageTexelBufferOffsetAlignmentBytes = copy_src->storageTexelBufferOffsetAlignmentBytes; - storageTexelBufferOffsetSingleTexelAlignment = copy_src->storageTexelBufferOffsetSingleTexelAlignment; - uniformTexelBufferOffsetAlignmentBytes = copy_src->uniformTexelBufferOffsetAlignmentBytes; - uniformTexelBufferOffsetSingleTexelAlignment = copy_src->uniformTexelBufferOffsetSingleTexelAlignment; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkFormatProperties3::safe_VkFormatProperties3(const VkFormatProperties3* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - linearTilingFeatures(in_struct->linearTilingFeatures), - optimalTilingFeatures(in_struct->optimalTilingFeatures), - bufferFeatures(in_struct->bufferFeatures) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkFormatProperties3::safe_VkFormatProperties3() - : sType(VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3), - pNext(nullptr), - linearTilingFeatures(), - optimalTilingFeatures(), - bufferFeatures() {} - -safe_VkFormatProperties3::safe_VkFormatProperties3(const safe_VkFormatProperties3& copy_src) { - sType = copy_src.sType; - linearTilingFeatures = copy_src.linearTilingFeatures; - optimalTilingFeatures = copy_src.optimalTilingFeatures; - bufferFeatures = copy_src.bufferFeatures; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkFormatProperties3& safe_VkFormatProperties3::operator=(const safe_VkFormatProperties3& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - linearTilingFeatures = copy_src.linearTilingFeatures; - optimalTilingFeatures = copy_src.optimalTilingFeatures; - bufferFeatures = copy_src.bufferFeatures; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkFormatProperties3::~safe_VkFormatProperties3() { FreePnextChain(pNext); } - -void safe_VkFormatProperties3::initialize(const VkFormatProperties3* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - linearTilingFeatures = in_struct->linearTilingFeatures; - optimalTilingFeatures = in_struct->optimalTilingFeatures; - bufferFeatures = in_struct->bufferFeatures; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkFormatProperties3::initialize(const safe_VkFormatProperties3* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - linearTilingFeatures = copy_src->linearTilingFeatures; - optimalTilingFeatures = copy_src->optimalTilingFeatures; - bufferFeatures = copy_src->bufferFeatures; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceMaintenance4Features::safe_VkPhysicalDeviceMaintenance4Features( - const VkPhysicalDeviceMaintenance4Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), maintenance4(in_struct->maintenance4) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceMaintenance4Features::safe_VkPhysicalDeviceMaintenance4Features() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES), pNext(nullptr), maintenance4() {} - -safe_VkPhysicalDeviceMaintenance4Features::safe_VkPhysicalDeviceMaintenance4Features( - const safe_VkPhysicalDeviceMaintenance4Features& copy_src) { - sType = copy_src.sType; - maintenance4 = copy_src.maintenance4; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceMaintenance4Features& safe_VkPhysicalDeviceMaintenance4Features::operator=( - const safe_VkPhysicalDeviceMaintenance4Features& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - maintenance4 = copy_src.maintenance4; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceMaintenance4Features::~safe_VkPhysicalDeviceMaintenance4Features() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceMaintenance4Features::initialize(const VkPhysicalDeviceMaintenance4Features* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - maintenance4 = in_struct->maintenance4; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceMaintenance4Features::initialize(const safe_VkPhysicalDeviceMaintenance4Features* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - maintenance4 = copy_src->maintenance4; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceMaintenance4Properties::safe_VkPhysicalDeviceMaintenance4Properties( - const VkPhysicalDeviceMaintenance4Properties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), maxBufferSize(in_struct->maxBufferSize) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceMaintenance4Properties::safe_VkPhysicalDeviceMaintenance4Properties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES), pNext(nullptr), maxBufferSize() {} - -safe_VkPhysicalDeviceMaintenance4Properties::safe_VkPhysicalDeviceMaintenance4Properties( - const safe_VkPhysicalDeviceMaintenance4Properties& copy_src) { - sType = copy_src.sType; - maxBufferSize = copy_src.maxBufferSize; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceMaintenance4Properties& safe_VkPhysicalDeviceMaintenance4Properties::operator=( - const safe_VkPhysicalDeviceMaintenance4Properties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - maxBufferSize = copy_src.maxBufferSize; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceMaintenance4Properties::~safe_VkPhysicalDeviceMaintenance4Properties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceMaintenance4Properties::initialize(const VkPhysicalDeviceMaintenance4Properties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - maxBufferSize = in_struct->maxBufferSize; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceMaintenance4Properties::initialize(const safe_VkPhysicalDeviceMaintenance4Properties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - maxBufferSize = copy_src->maxBufferSize; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkDeviceBufferMemoryRequirements::safe_VkDeviceBufferMemoryRequirements(const VkDeviceBufferMemoryRequirements* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), pCreateInfo(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(in_struct->pCreateInfo); -} - -safe_VkDeviceBufferMemoryRequirements::safe_VkDeviceBufferMemoryRequirements() - : sType(VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS), pNext(nullptr), pCreateInfo(nullptr) {} - -safe_VkDeviceBufferMemoryRequirements::safe_VkDeviceBufferMemoryRequirements( - const safe_VkDeviceBufferMemoryRequirements& copy_src) { - sType = copy_src.sType; - pCreateInfo = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(*copy_src.pCreateInfo); -} - -safe_VkDeviceBufferMemoryRequirements& safe_VkDeviceBufferMemoryRequirements::operator=( - const safe_VkDeviceBufferMemoryRequirements& copy_src) { - if (©_src == this) return *this; - - if (pCreateInfo) delete pCreateInfo; - FreePnextChain(pNext); - - sType = copy_src.sType; - pCreateInfo = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(*copy_src.pCreateInfo); - - return *this; -} - -safe_VkDeviceBufferMemoryRequirements::~safe_VkDeviceBufferMemoryRequirements() { - if (pCreateInfo) delete pCreateInfo; - FreePnextChain(pNext); -} - -void safe_VkDeviceBufferMemoryRequirements::initialize(const VkDeviceBufferMemoryRequirements* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pCreateInfo) delete pCreateInfo; - FreePnextChain(pNext); - sType = in_struct->sType; - pCreateInfo = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (in_struct->pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(in_struct->pCreateInfo); -} - -void safe_VkDeviceBufferMemoryRequirements::initialize(const safe_VkDeviceBufferMemoryRequirements* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pCreateInfo = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (copy_src->pCreateInfo) pCreateInfo = new safe_VkBufferCreateInfo(*copy_src->pCreateInfo); -} - -safe_VkDeviceImageMemoryRequirements::safe_VkDeviceImageMemoryRequirements(const VkDeviceImageMemoryRequirements* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), pCreateInfo(nullptr), planeAspect(in_struct->planeAspect) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(in_struct->pCreateInfo); -} - -safe_VkDeviceImageMemoryRequirements::safe_VkDeviceImageMemoryRequirements() - : sType(VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS), pNext(nullptr), pCreateInfo(nullptr), planeAspect() {} - -safe_VkDeviceImageMemoryRequirements::safe_VkDeviceImageMemoryRequirements(const safe_VkDeviceImageMemoryRequirements& copy_src) { - sType = copy_src.sType; - pCreateInfo = nullptr; - planeAspect = copy_src.planeAspect; - pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(*copy_src.pCreateInfo); -} - -safe_VkDeviceImageMemoryRequirements& safe_VkDeviceImageMemoryRequirements::operator=( - const safe_VkDeviceImageMemoryRequirements& copy_src) { - if (©_src == this) return *this; - - if (pCreateInfo) delete pCreateInfo; - FreePnextChain(pNext); - - sType = copy_src.sType; - pCreateInfo = nullptr; - planeAspect = copy_src.planeAspect; - pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(*copy_src.pCreateInfo); - - return *this; -} - -safe_VkDeviceImageMemoryRequirements::~safe_VkDeviceImageMemoryRequirements() { - if (pCreateInfo) delete pCreateInfo; - FreePnextChain(pNext); -} - -void safe_VkDeviceImageMemoryRequirements::initialize(const VkDeviceImageMemoryRequirements* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pCreateInfo) delete pCreateInfo; - FreePnextChain(pNext); - sType = in_struct->sType; - pCreateInfo = nullptr; - planeAspect = in_struct->planeAspect; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (in_struct->pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(in_struct->pCreateInfo); -} - -void safe_VkDeviceImageMemoryRequirements::initialize(const safe_VkDeviceImageMemoryRequirements* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pCreateInfo = nullptr; - planeAspect = copy_src->planeAspect; - pNext = SafePnextCopy(copy_src->pNext); - if (copy_src->pCreateInfo) pCreateInfo = new safe_VkImageCreateInfo(*copy_src->pCreateInfo); -} - safe_VkPhysicalDeviceVulkan14Features::safe_VkPhysicalDeviceVulkan14Features(const VkPhysicalDeviceVulkan14Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -19370,564 +19460,6 @@ } } -safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::safe_VkPhysicalDeviceShaderSubgroupRotateFeatures( - const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - shaderSubgroupRotate(in_struct->shaderSubgroupRotate), - shaderSubgroupRotateClustered(in_struct->shaderSubgroupRotateClustered) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::safe_VkPhysicalDeviceShaderSubgroupRotateFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES), - pNext(nullptr), - shaderSubgroupRotate(), - shaderSubgroupRotateClustered() {} - -safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::safe_VkPhysicalDeviceShaderSubgroupRotateFeatures( - const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src) { - sType = copy_src.sType; - shaderSubgroupRotate = copy_src.shaderSubgroupRotate; - shaderSubgroupRotateClustered = copy_src.shaderSubgroupRotateClustered; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::operator=( - const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderSubgroupRotate = copy_src.shaderSubgroupRotate; - shaderSubgroupRotateClustered = copy_src.shaderSubgroupRotateClustered; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::~safe_VkPhysicalDeviceShaderSubgroupRotateFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::initialize(const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderSubgroupRotate = in_struct->shaderSubgroupRotate; - shaderSubgroupRotateClustered = in_struct->shaderSubgroupRotateClustered; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::initialize( - const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderSubgroupRotate = copy_src->shaderSubgroupRotate; - shaderSubgroupRotateClustered = copy_src->shaderSubgroupRotateClustered; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceShaderFloatControls2Features::safe_VkPhysicalDeviceShaderFloatControls2Features( - const VkPhysicalDeviceShaderFloatControls2Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), shaderFloatControls2(in_struct->shaderFloatControls2) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderFloatControls2Features::safe_VkPhysicalDeviceShaderFloatControls2Features() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES), pNext(nullptr), shaderFloatControls2() {} - -safe_VkPhysicalDeviceShaderFloatControls2Features::safe_VkPhysicalDeviceShaderFloatControls2Features( - const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src) { - sType = copy_src.sType; - shaderFloatControls2 = copy_src.shaderFloatControls2; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderFloatControls2Features& safe_VkPhysicalDeviceShaderFloatControls2Features::operator=( - const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderFloatControls2 = copy_src.shaderFloatControls2; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderFloatControls2Features::~safe_VkPhysicalDeviceShaderFloatControls2Features() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceShaderFloatControls2Features::initialize(const VkPhysicalDeviceShaderFloatControls2Features* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderFloatControls2 = in_struct->shaderFloatControls2; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderFloatControls2Features::initialize( - const safe_VkPhysicalDeviceShaderFloatControls2Features* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderFloatControls2 = copy_src->shaderFloatControls2; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceShaderExpectAssumeFeatures::safe_VkPhysicalDeviceShaderExpectAssumeFeatures( - const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), shaderExpectAssume(in_struct->shaderExpectAssume) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceShaderExpectAssumeFeatures::safe_VkPhysicalDeviceShaderExpectAssumeFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES), pNext(nullptr), shaderExpectAssume() {} - -safe_VkPhysicalDeviceShaderExpectAssumeFeatures::safe_VkPhysicalDeviceShaderExpectAssumeFeatures( - const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src) { - sType = copy_src.sType; - shaderExpectAssume = copy_src.shaderExpectAssume; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceShaderExpectAssumeFeatures& safe_VkPhysicalDeviceShaderExpectAssumeFeatures::operator=( - const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - shaderExpectAssume = copy_src.shaderExpectAssume; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceShaderExpectAssumeFeatures::~safe_VkPhysicalDeviceShaderExpectAssumeFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceShaderExpectAssumeFeatures::initialize(const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - shaderExpectAssume = in_struct->shaderExpectAssume; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceShaderExpectAssumeFeatures::initialize(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - shaderExpectAssume = copy_src->shaderExpectAssume; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceLineRasterizationFeatures::safe_VkPhysicalDeviceLineRasterizationFeatures( - const VkPhysicalDeviceLineRasterizationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - rectangularLines(in_struct->rectangularLines), - bresenhamLines(in_struct->bresenhamLines), - smoothLines(in_struct->smoothLines), - stippledRectangularLines(in_struct->stippledRectangularLines), - stippledBresenhamLines(in_struct->stippledBresenhamLines), - stippledSmoothLines(in_struct->stippledSmoothLines) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceLineRasterizationFeatures::safe_VkPhysicalDeviceLineRasterizationFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES), - pNext(nullptr), - rectangularLines(), - bresenhamLines(), - smoothLines(), - stippledRectangularLines(), - stippledBresenhamLines(), - stippledSmoothLines() {} - -safe_VkPhysicalDeviceLineRasterizationFeatures::safe_VkPhysicalDeviceLineRasterizationFeatures( - const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src) { - sType = copy_src.sType; - rectangularLines = copy_src.rectangularLines; - bresenhamLines = copy_src.bresenhamLines; - smoothLines = copy_src.smoothLines; - stippledRectangularLines = copy_src.stippledRectangularLines; - stippledBresenhamLines = copy_src.stippledBresenhamLines; - stippledSmoothLines = copy_src.stippledSmoothLines; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceLineRasterizationFeatures& safe_VkPhysicalDeviceLineRasterizationFeatures::operator=( - const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - rectangularLines = copy_src.rectangularLines; - bresenhamLines = copy_src.bresenhamLines; - smoothLines = copy_src.smoothLines; - stippledRectangularLines = copy_src.stippledRectangularLines; - stippledBresenhamLines = copy_src.stippledBresenhamLines; - stippledSmoothLines = copy_src.stippledSmoothLines; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceLineRasterizationFeatures::~safe_VkPhysicalDeviceLineRasterizationFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceLineRasterizationFeatures::initialize(const VkPhysicalDeviceLineRasterizationFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - rectangularLines = in_struct->rectangularLines; - bresenhamLines = in_struct->bresenhamLines; - smoothLines = in_struct->smoothLines; - stippledRectangularLines = in_struct->stippledRectangularLines; - stippledBresenhamLines = in_struct->stippledBresenhamLines; - stippledSmoothLines = in_struct->stippledSmoothLines; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceLineRasterizationFeatures::initialize(const safe_VkPhysicalDeviceLineRasterizationFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - rectangularLines = copy_src->rectangularLines; - bresenhamLines = copy_src->bresenhamLines; - smoothLines = copy_src->smoothLines; - stippledRectangularLines = copy_src->stippledRectangularLines; - stippledBresenhamLines = copy_src->stippledBresenhamLines; - stippledSmoothLines = copy_src->stippledSmoothLines; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceLineRasterizationProperties::safe_VkPhysicalDeviceLineRasterizationProperties( - const VkPhysicalDeviceLineRasterizationProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceLineRasterizationProperties::safe_VkPhysicalDeviceLineRasterizationProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES), pNext(nullptr), lineSubPixelPrecisionBits() {} - -safe_VkPhysicalDeviceLineRasterizationProperties::safe_VkPhysicalDeviceLineRasterizationProperties( - const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src) { - sType = copy_src.sType; - lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceLineRasterizationProperties& safe_VkPhysicalDeviceLineRasterizationProperties::operator=( - const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceLineRasterizationProperties::~safe_VkPhysicalDeviceLineRasterizationProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceLineRasterizationProperties::initialize(const VkPhysicalDeviceLineRasterizationProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceLineRasterizationProperties::initialize(const safe_VkPhysicalDeviceLineRasterizationProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - lineSubPixelPrecisionBits = copy_src->lineSubPixelPrecisionBits; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineRasterizationLineStateCreateInfo::safe_VkPipelineRasterizationLineStateCreateInfo( - const VkPipelineRasterizationLineStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - lineRasterizationMode(in_struct->lineRasterizationMode), - stippledLineEnable(in_struct->stippledLineEnable), - lineStippleFactor(in_struct->lineStippleFactor), - lineStipplePattern(in_struct->lineStipplePattern) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineRasterizationLineStateCreateInfo::safe_VkPipelineRasterizationLineStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO), - pNext(nullptr), - lineRasterizationMode(), - stippledLineEnable(), - lineStippleFactor(), - lineStipplePattern() {} - -safe_VkPipelineRasterizationLineStateCreateInfo::safe_VkPipelineRasterizationLineStateCreateInfo( - const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src) { - sType = copy_src.sType; - lineRasterizationMode = copy_src.lineRasterizationMode; - stippledLineEnable = copy_src.stippledLineEnable; - lineStippleFactor = copy_src.lineStippleFactor; - lineStipplePattern = copy_src.lineStipplePattern; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineRasterizationLineStateCreateInfo& safe_VkPipelineRasterizationLineStateCreateInfo::operator=( - const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - lineRasterizationMode = copy_src.lineRasterizationMode; - stippledLineEnable = copy_src.stippledLineEnable; - lineStippleFactor = copy_src.lineStippleFactor; - lineStipplePattern = copy_src.lineStipplePattern; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineRasterizationLineStateCreateInfo::~safe_VkPipelineRasterizationLineStateCreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineRasterizationLineStateCreateInfo::initialize(const VkPipelineRasterizationLineStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - lineRasterizationMode = in_struct->lineRasterizationMode; - stippledLineEnable = in_struct->stippledLineEnable; - lineStippleFactor = in_struct->lineStippleFactor; - lineStipplePattern = in_struct->lineStipplePattern; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineRasterizationLineStateCreateInfo::initialize(const safe_VkPipelineRasterizationLineStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - lineRasterizationMode = copy_src->lineRasterizationMode; - stippledLineEnable = copy_src->stippledLineEnable; - lineStippleFactor = copy_src->lineStippleFactor; - lineStipplePattern = copy_src->lineStipplePattern; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceVertexAttributeDivisorProperties::safe_VkPhysicalDeviceVertexAttributeDivisorProperties( - const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - maxVertexAttribDivisor(in_struct->maxVertexAttribDivisor), - supportsNonZeroFirstInstance(in_struct->supportsNonZeroFirstInstance) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceVertexAttributeDivisorProperties::safe_VkPhysicalDeviceVertexAttributeDivisorProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES), - pNext(nullptr), - maxVertexAttribDivisor(), - supportsNonZeroFirstInstance() {} - -safe_VkPhysicalDeviceVertexAttributeDivisorProperties::safe_VkPhysicalDeviceVertexAttributeDivisorProperties( - const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src) { - sType = copy_src.sType; - maxVertexAttribDivisor = copy_src.maxVertexAttribDivisor; - supportsNonZeroFirstInstance = copy_src.supportsNonZeroFirstInstance; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceVertexAttributeDivisorProperties& safe_VkPhysicalDeviceVertexAttributeDivisorProperties::operator=( - const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - maxVertexAttribDivisor = copy_src.maxVertexAttribDivisor; - supportsNonZeroFirstInstance = copy_src.supportsNonZeroFirstInstance; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceVertexAttributeDivisorProperties::~safe_VkPhysicalDeviceVertexAttributeDivisorProperties() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceVertexAttributeDivisorProperties::initialize( - const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - maxVertexAttribDivisor = in_struct->maxVertexAttribDivisor; - supportsNonZeroFirstInstance = in_struct->supportsNonZeroFirstInstance; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceVertexAttributeDivisorProperties::initialize( - const safe_VkPhysicalDeviceVertexAttributeDivisorProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - maxVertexAttribDivisor = copy_src->maxVertexAttribDivisor; - supportsNonZeroFirstInstance = copy_src->supportsNonZeroFirstInstance; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineVertexInputDivisorStateCreateInfo::safe_VkPipelineVertexInputDivisorStateCreateInfo( - const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), vertexBindingDivisorCount(in_struct->vertexBindingDivisorCount), pVertexBindingDivisors(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pVertexBindingDivisors) { - pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[in_struct->vertexBindingDivisorCount]; - memcpy((void*)pVertexBindingDivisors, (void*)in_struct->pVertexBindingDivisors, - sizeof(VkVertexInputBindingDivisorDescription) * in_struct->vertexBindingDivisorCount); - } -} - -safe_VkPipelineVertexInputDivisorStateCreateInfo::safe_VkPipelineVertexInputDivisorStateCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO), - pNext(nullptr), - vertexBindingDivisorCount(), - pVertexBindingDivisors(nullptr) {} - -safe_VkPipelineVertexInputDivisorStateCreateInfo::safe_VkPipelineVertexInputDivisorStateCreateInfo( - const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src) { - sType = copy_src.sType; - vertexBindingDivisorCount = copy_src.vertexBindingDivisorCount; - pVertexBindingDivisors = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pVertexBindingDivisors) { - pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[copy_src.vertexBindingDivisorCount]; - memcpy((void*)pVertexBindingDivisors, (void*)copy_src.pVertexBindingDivisors, - sizeof(VkVertexInputBindingDivisorDescription) * copy_src.vertexBindingDivisorCount); - } -} - -safe_VkPipelineVertexInputDivisorStateCreateInfo& safe_VkPipelineVertexInputDivisorStateCreateInfo::operator=( - const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src) { - if (©_src == this) return *this; - - if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; - FreePnextChain(pNext); - - sType = copy_src.sType; - vertexBindingDivisorCount = copy_src.vertexBindingDivisorCount; - pVertexBindingDivisors = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pVertexBindingDivisors) { - pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[copy_src.vertexBindingDivisorCount]; - memcpy((void*)pVertexBindingDivisors, (void*)copy_src.pVertexBindingDivisors, - sizeof(VkVertexInputBindingDivisorDescription) * copy_src.vertexBindingDivisorCount); - } - - return *this; -} - -safe_VkPipelineVertexInputDivisorStateCreateInfo::~safe_VkPipelineVertexInputDivisorStateCreateInfo() { - if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; - FreePnextChain(pNext); -} - -void safe_VkPipelineVertexInputDivisorStateCreateInfo::initialize(const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; - FreePnextChain(pNext); - sType = in_struct->sType; - vertexBindingDivisorCount = in_struct->vertexBindingDivisorCount; - pVertexBindingDivisors = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pVertexBindingDivisors) { - pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[in_struct->vertexBindingDivisorCount]; - memcpy((void*)pVertexBindingDivisors, (void*)in_struct->pVertexBindingDivisors, - sizeof(VkVertexInputBindingDivisorDescription) * in_struct->vertexBindingDivisorCount); - } -} - -void safe_VkPipelineVertexInputDivisorStateCreateInfo::initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - vertexBindingDivisorCount = copy_src->vertexBindingDivisorCount; - pVertexBindingDivisors = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pVertexBindingDivisors) { - pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[copy_src->vertexBindingDivisorCount]; - memcpy((void*)pVertexBindingDivisors, (void*)copy_src->pVertexBindingDivisors, - sizeof(VkVertexInputBindingDivisorDescription) * copy_src->vertexBindingDivisorCount); - } -} - -safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::safe_VkPhysicalDeviceVertexAttributeDivisorFeatures( - const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - vertexAttributeInstanceRateDivisor(in_struct->vertexAttributeInstanceRateDivisor), - vertexAttributeInstanceRateZeroDivisor(in_struct->vertexAttributeInstanceRateZeroDivisor) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::safe_VkPhysicalDeviceVertexAttributeDivisorFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES), - pNext(nullptr), - vertexAttributeInstanceRateDivisor(), - vertexAttributeInstanceRateZeroDivisor() {} - -safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::safe_VkPhysicalDeviceVertexAttributeDivisorFeatures( - const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src) { - sType = copy_src.sType; - vertexAttributeInstanceRateDivisor = copy_src.vertexAttributeInstanceRateDivisor; - vertexAttributeInstanceRateZeroDivisor = copy_src.vertexAttributeInstanceRateZeroDivisor; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::operator=( - const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - vertexAttributeInstanceRateDivisor = copy_src.vertexAttributeInstanceRateDivisor; - vertexAttributeInstanceRateZeroDivisor = copy_src.vertexAttributeInstanceRateZeroDivisor; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::~safe_VkPhysicalDeviceVertexAttributeDivisorFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::initialize( - const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - vertexAttributeInstanceRateDivisor = in_struct->vertexAttributeInstanceRateDivisor; - vertexAttributeInstanceRateZeroDivisor = in_struct->vertexAttributeInstanceRateZeroDivisor; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::initialize( - const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - vertexAttributeInstanceRateDivisor = copy_src->vertexAttributeInstanceRateDivisor; - vertexAttributeInstanceRateZeroDivisor = copy_src->vertexAttributeInstanceRateZeroDivisor; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceIndexTypeUint8Features::safe_VkPhysicalDeviceIndexTypeUint8Features( const VkPhysicalDeviceIndexTypeUint8Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), indexTypeUint8(in_struct->indexTypeUint8) { @@ -20212,109 +19744,48 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkRenderingAreaInfo::safe_VkRenderingAreaInfo(const VkRenderingAreaInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - viewMask(in_struct->viewMask), - colorAttachmentCount(in_struct->colorAttachmentCount), - pColorAttachmentFormats(nullptr), - depthAttachmentFormat(in_struct->depthAttachmentFormat), - stencilAttachmentFormat(in_struct->stencilAttachmentFormat) { +safe_VkSubresourceLayout2::safe_VkSubresourceLayout2(const VkSubresourceLayout2* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), subresourceLayout(in_struct->subresourceLayout) { if (copy_pnext) { pNext = SafePnextCopy(in_struct->pNext, copy_state); } - if (in_struct->pColorAttachmentFormats) { - pColorAttachmentFormats = new VkFormat[in_struct->colorAttachmentCount]; - memcpy((void*)pColorAttachmentFormats, (void*)in_struct->pColorAttachmentFormats, - sizeof(VkFormat) * in_struct->colorAttachmentCount); - } } -safe_VkRenderingAreaInfo::safe_VkRenderingAreaInfo() - : sType(VK_STRUCTURE_TYPE_RENDERING_AREA_INFO), - pNext(nullptr), - viewMask(), - colorAttachmentCount(), - pColorAttachmentFormats(nullptr), - depthAttachmentFormat(), - stencilAttachmentFormat() {} +safe_VkSubresourceLayout2::safe_VkSubresourceLayout2() + : sType(VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2), pNext(nullptr), subresourceLayout() {} -safe_VkRenderingAreaInfo::safe_VkRenderingAreaInfo(const safe_VkRenderingAreaInfo& copy_src) { +safe_VkSubresourceLayout2::safe_VkSubresourceLayout2(const safe_VkSubresourceLayout2& copy_src) { sType = copy_src.sType; - viewMask = copy_src.viewMask; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachmentFormats = nullptr; - depthAttachmentFormat = copy_src.depthAttachmentFormat; - stencilAttachmentFormat = copy_src.stencilAttachmentFormat; + subresourceLayout = copy_src.subresourceLayout; pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pColorAttachmentFormats) { - pColorAttachmentFormats = new VkFormat[copy_src.colorAttachmentCount]; - memcpy((void*)pColorAttachmentFormats, (void*)copy_src.pColorAttachmentFormats, - sizeof(VkFormat) * copy_src.colorAttachmentCount); - } } -safe_VkRenderingAreaInfo& safe_VkRenderingAreaInfo::operator=(const safe_VkRenderingAreaInfo& copy_src) { +safe_VkSubresourceLayout2& safe_VkSubresourceLayout2::operator=(const safe_VkSubresourceLayout2& copy_src) { if (©_src == this) return *this; - if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; FreePnextChain(pNext); sType = copy_src.sType; - viewMask = copy_src.viewMask; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachmentFormats = nullptr; - depthAttachmentFormat = copy_src.depthAttachmentFormat; - stencilAttachmentFormat = copy_src.stencilAttachmentFormat; + subresourceLayout = copy_src.subresourceLayout; pNext = SafePnextCopy(copy_src.pNext); - if (copy_src.pColorAttachmentFormats) { - pColorAttachmentFormats = new VkFormat[copy_src.colorAttachmentCount]; - memcpy((void*)pColorAttachmentFormats, (void*)copy_src.pColorAttachmentFormats, - sizeof(VkFormat) * copy_src.colorAttachmentCount); - } - return *this; } -safe_VkRenderingAreaInfo::~safe_VkRenderingAreaInfo() { - if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; - FreePnextChain(pNext); -} +safe_VkSubresourceLayout2::~safe_VkSubresourceLayout2() { FreePnextChain(pNext); } -void safe_VkRenderingAreaInfo::initialize(const VkRenderingAreaInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; +void safe_VkSubresourceLayout2::initialize(const VkSubresourceLayout2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { FreePnextChain(pNext); sType = in_struct->sType; - viewMask = in_struct->viewMask; - colorAttachmentCount = in_struct->colorAttachmentCount; - pColorAttachmentFormats = nullptr; - depthAttachmentFormat = in_struct->depthAttachmentFormat; - stencilAttachmentFormat = in_struct->stencilAttachmentFormat; + subresourceLayout = in_struct->subresourceLayout; pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pColorAttachmentFormats) { - pColorAttachmentFormats = new VkFormat[in_struct->colorAttachmentCount]; - memcpy((void*)pColorAttachmentFormats, (void*)in_struct->pColorAttachmentFormats, - sizeof(VkFormat) * in_struct->colorAttachmentCount); - } } -void safe_VkRenderingAreaInfo::initialize(const safe_VkRenderingAreaInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { +void safe_VkSubresourceLayout2::initialize(const safe_VkSubresourceLayout2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { sType = copy_src->sType; - viewMask = copy_src->viewMask; - colorAttachmentCount = copy_src->colorAttachmentCount; - pColorAttachmentFormats = nullptr; - depthAttachmentFormat = copy_src->depthAttachmentFormat; - stencilAttachmentFormat = copy_src->stencilAttachmentFormat; + subresourceLayout = copy_src->subresourceLayout; pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pColorAttachmentFormats) { - pColorAttachmentFormats = new VkFormat[copy_src->colorAttachmentCount]; - memcpy((void*)pColorAttachmentFormats, (void*)copy_src->pColorAttachmentFormats, - sizeof(VkFormat) * copy_src->colorAttachmentCount); - } } safe_VkImageSubresource2::safe_VkImageSubresource2(const VkImageSubresource2* in_struct, @@ -20429,99 +19900,6 @@ if (copy_src->pSubresource) pSubresource = new safe_VkImageSubresource2(*copy_src->pSubresource); } -safe_VkSubresourceLayout2::safe_VkSubresourceLayout2(const VkSubresourceLayout2* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), subresourceLayout(in_struct->subresourceLayout) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSubresourceLayout2::safe_VkSubresourceLayout2() - : sType(VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2), pNext(nullptr), subresourceLayout() {} - -safe_VkSubresourceLayout2::safe_VkSubresourceLayout2(const safe_VkSubresourceLayout2& copy_src) { - sType = copy_src.sType; - subresourceLayout = copy_src.subresourceLayout; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSubresourceLayout2& safe_VkSubresourceLayout2::operator=(const safe_VkSubresourceLayout2& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - subresourceLayout = copy_src.subresourceLayout; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSubresourceLayout2::~safe_VkSubresourceLayout2() { FreePnextChain(pNext); } - -void safe_VkSubresourceLayout2::initialize(const VkSubresourceLayout2* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - subresourceLayout = in_struct->subresourceLayout; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSubresourceLayout2::initialize(const safe_VkSubresourceLayout2* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - subresourceLayout = copy_src->subresourceLayout; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineCreateFlags2CreateInfo::safe_VkPipelineCreateFlags2CreateInfo(const VkPipelineCreateFlags2CreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), flags(in_struct->flags) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineCreateFlags2CreateInfo::safe_VkPipelineCreateFlags2CreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO), pNext(nullptr), flags() {} - -safe_VkPipelineCreateFlags2CreateInfo::safe_VkPipelineCreateFlags2CreateInfo( - const safe_VkPipelineCreateFlags2CreateInfo& copy_src) { - sType = copy_src.sType; - flags = copy_src.flags; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineCreateFlags2CreateInfo& safe_VkPipelineCreateFlags2CreateInfo::operator=( - const safe_VkPipelineCreateFlags2CreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - flags = copy_src.flags; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineCreateFlags2CreateInfo::~safe_VkPipelineCreateFlags2CreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineCreateFlags2CreateInfo::initialize(const VkPipelineCreateFlags2CreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - flags = in_struct->flags; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineCreateFlags2CreateInfo::initialize(const safe_VkPipelineCreateFlags2CreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - flags = copy_src->flags; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkBufferUsageFlags2CreateInfo::safe_VkBufferUsageFlags2CreateInfo(const VkBufferUsageFlags2CreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), usage(in_struct->usage) { @@ -20569,344 +19947,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDevicePushDescriptorProperties::safe_VkPhysicalDevicePushDescriptorProperties( - const VkPhysicalDevicePushDescriptorProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), maxPushDescriptors(in_struct->maxPushDescriptors) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePushDescriptorProperties::safe_VkPhysicalDevicePushDescriptorProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES), pNext(nullptr), maxPushDescriptors() {} - -safe_VkPhysicalDevicePushDescriptorProperties::safe_VkPhysicalDevicePushDescriptorProperties( - const safe_VkPhysicalDevicePushDescriptorProperties& copy_src) { - sType = copy_src.sType; - maxPushDescriptors = copy_src.maxPushDescriptors; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePushDescriptorProperties& safe_VkPhysicalDevicePushDescriptorProperties::operator=( - const safe_VkPhysicalDevicePushDescriptorProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - maxPushDescriptors = copy_src.maxPushDescriptors; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePushDescriptorProperties::~safe_VkPhysicalDevicePushDescriptorProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDevicePushDescriptorProperties::initialize(const VkPhysicalDevicePushDescriptorProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - maxPushDescriptors = in_struct->maxPushDescriptors; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePushDescriptorProperties::initialize(const safe_VkPhysicalDevicePushDescriptorProperties* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - maxPushDescriptors = copy_src->maxPushDescriptors; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures( - const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), dynamicRenderingLocalRead(in_struct->dynamicRenderingLocalRead) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES), pNext(nullptr), dynamicRenderingLocalRead() {} - -safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures( - const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src) { - sType = copy_src.sType; - dynamicRenderingLocalRead = copy_src.dynamicRenderingLocalRead; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::operator=( - const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - dynamicRenderingLocalRead = copy_src.dynamicRenderingLocalRead; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::~safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::initialize( - const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - dynamicRenderingLocalRead = in_struct->dynamicRenderingLocalRead; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::initialize( - const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - dynamicRenderingLocalRead = copy_src->dynamicRenderingLocalRead; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkRenderingAttachmentLocationInfo::safe_VkRenderingAttachmentLocationInfo(const VkRenderingAttachmentLocationInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), colorAttachmentCount(in_struct->colorAttachmentCount), pColorAttachmentLocations(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pColorAttachmentLocations) { - pColorAttachmentLocations = new uint32_t[in_struct->colorAttachmentCount]; - memcpy((void*)pColorAttachmentLocations, (void*)in_struct->pColorAttachmentLocations, - sizeof(uint32_t) * in_struct->colorAttachmentCount); - } -} - -safe_VkRenderingAttachmentLocationInfo::safe_VkRenderingAttachmentLocationInfo() - : sType(VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO), - pNext(nullptr), - colorAttachmentCount(), - pColorAttachmentLocations(nullptr) {} - -safe_VkRenderingAttachmentLocationInfo::safe_VkRenderingAttachmentLocationInfo( - const safe_VkRenderingAttachmentLocationInfo& copy_src) { - sType = copy_src.sType; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachmentLocations = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pColorAttachmentLocations) { - pColorAttachmentLocations = new uint32_t[copy_src.colorAttachmentCount]; - memcpy((void*)pColorAttachmentLocations, (void*)copy_src.pColorAttachmentLocations, - sizeof(uint32_t) * copy_src.colorAttachmentCount); - } -} - -safe_VkRenderingAttachmentLocationInfo& safe_VkRenderingAttachmentLocationInfo::operator=( - const safe_VkRenderingAttachmentLocationInfo& copy_src) { - if (©_src == this) return *this; - - if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; - FreePnextChain(pNext); - - sType = copy_src.sType; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachmentLocations = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pColorAttachmentLocations) { - pColorAttachmentLocations = new uint32_t[copy_src.colorAttachmentCount]; - memcpy((void*)pColorAttachmentLocations, (void*)copy_src.pColorAttachmentLocations, - sizeof(uint32_t) * copy_src.colorAttachmentCount); - } - - return *this; -} - -safe_VkRenderingAttachmentLocationInfo::~safe_VkRenderingAttachmentLocationInfo() { - if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; - FreePnextChain(pNext); -} - -void safe_VkRenderingAttachmentLocationInfo::initialize(const VkRenderingAttachmentLocationInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; - FreePnextChain(pNext); - sType = in_struct->sType; - colorAttachmentCount = in_struct->colorAttachmentCount; - pColorAttachmentLocations = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pColorAttachmentLocations) { - pColorAttachmentLocations = new uint32_t[in_struct->colorAttachmentCount]; - memcpy((void*)pColorAttachmentLocations, (void*)in_struct->pColorAttachmentLocations, - sizeof(uint32_t) * in_struct->colorAttachmentCount); - } -} - -void safe_VkRenderingAttachmentLocationInfo::initialize(const safe_VkRenderingAttachmentLocationInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - colorAttachmentCount = copy_src->colorAttachmentCount; - pColorAttachmentLocations = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pColorAttachmentLocations) { - pColorAttachmentLocations = new uint32_t[copy_src->colorAttachmentCount]; - memcpy((void*)pColorAttachmentLocations, (void*)copy_src->pColorAttachmentLocations, - sizeof(uint32_t) * copy_src->colorAttachmentCount); - } -} - -safe_VkRenderingInputAttachmentIndexInfo::safe_VkRenderingInputAttachmentIndexInfo( - const VkRenderingInputAttachmentIndexInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - colorAttachmentCount(in_struct->colorAttachmentCount), - pColorAttachmentInputIndices(nullptr), - pDepthInputAttachmentIndex(nullptr), - pStencilInputAttachmentIndex(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pColorAttachmentInputIndices) { - pColorAttachmentInputIndices = new uint32_t[in_struct->colorAttachmentCount]; - memcpy((void*)pColorAttachmentInputIndices, (void*)in_struct->pColorAttachmentInputIndices, - sizeof(uint32_t) * in_struct->colorAttachmentCount); - } - - if (in_struct->pDepthInputAttachmentIndex) { - pDepthInputAttachmentIndex = new uint32_t(*in_struct->pDepthInputAttachmentIndex); - } - - if (in_struct->pStencilInputAttachmentIndex) { - pStencilInputAttachmentIndex = new uint32_t(*in_struct->pStencilInputAttachmentIndex); - } -} - -safe_VkRenderingInputAttachmentIndexInfo::safe_VkRenderingInputAttachmentIndexInfo() - : sType(VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO), - pNext(nullptr), - colorAttachmentCount(), - pColorAttachmentInputIndices(nullptr), - pDepthInputAttachmentIndex(nullptr), - pStencilInputAttachmentIndex(nullptr) {} - -safe_VkRenderingInputAttachmentIndexInfo::safe_VkRenderingInputAttachmentIndexInfo( - const safe_VkRenderingInputAttachmentIndexInfo& copy_src) { - sType = copy_src.sType; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachmentInputIndices = nullptr; - pDepthInputAttachmentIndex = nullptr; - pStencilInputAttachmentIndex = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pColorAttachmentInputIndices) { - pColorAttachmentInputIndices = new uint32_t[copy_src.colorAttachmentCount]; - memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src.pColorAttachmentInputIndices, - sizeof(uint32_t) * copy_src.colorAttachmentCount); - } - - if (copy_src.pDepthInputAttachmentIndex) { - pDepthInputAttachmentIndex = new uint32_t(*copy_src.pDepthInputAttachmentIndex); - } - - if (copy_src.pStencilInputAttachmentIndex) { - pStencilInputAttachmentIndex = new uint32_t(*copy_src.pStencilInputAttachmentIndex); - } -} - -safe_VkRenderingInputAttachmentIndexInfo& safe_VkRenderingInputAttachmentIndexInfo::operator=( - const safe_VkRenderingInputAttachmentIndexInfo& copy_src) { - if (©_src == this) return *this; - - if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; - if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; - if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; - FreePnextChain(pNext); - - sType = copy_src.sType; - colorAttachmentCount = copy_src.colorAttachmentCount; - pColorAttachmentInputIndices = nullptr; - pDepthInputAttachmentIndex = nullptr; - pStencilInputAttachmentIndex = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pColorAttachmentInputIndices) { - pColorAttachmentInputIndices = new uint32_t[copy_src.colorAttachmentCount]; - memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src.pColorAttachmentInputIndices, - sizeof(uint32_t) * copy_src.colorAttachmentCount); - } - - if (copy_src.pDepthInputAttachmentIndex) { - pDepthInputAttachmentIndex = new uint32_t(*copy_src.pDepthInputAttachmentIndex); - } - - if (copy_src.pStencilInputAttachmentIndex) { - pStencilInputAttachmentIndex = new uint32_t(*copy_src.pStencilInputAttachmentIndex); - } - - return *this; -} - -safe_VkRenderingInputAttachmentIndexInfo::~safe_VkRenderingInputAttachmentIndexInfo() { - if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; - if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; - if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; - FreePnextChain(pNext); -} - -void safe_VkRenderingInputAttachmentIndexInfo::initialize(const VkRenderingInputAttachmentIndexInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; - if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; - if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; - FreePnextChain(pNext); - sType = in_struct->sType; - colorAttachmentCount = in_struct->colorAttachmentCount; - pColorAttachmentInputIndices = nullptr; - pDepthInputAttachmentIndex = nullptr; - pStencilInputAttachmentIndex = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pColorAttachmentInputIndices) { - pColorAttachmentInputIndices = new uint32_t[in_struct->colorAttachmentCount]; - memcpy((void*)pColorAttachmentInputIndices, (void*)in_struct->pColorAttachmentInputIndices, - sizeof(uint32_t) * in_struct->colorAttachmentCount); - } - - if (in_struct->pDepthInputAttachmentIndex) { - pDepthInputAttachmentIndex = new uint32_t(*in_struct->pDepthInputAttachmentIndex); - } - - if (in_struct->pStencilInputAttachmentIndex) { - pStencilInputAttachmentIndex = new uint32_t(*in_struct->pStencilInputAttachmentIndex); - } -} - -void safe_VkRenderingInputAttachmentIndexInfo::initialize(const safe_VkRenderingInputAttachmentIndexInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - colorAttachmentCount = copy_src->colorAttachmentCount; - pColorAttachmentInputIndices = nullptr; - pDepthInputAttachmentIndex = nullptr; - pStencilInputAttachmentIndex = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pColorAttachmentInputIndices) { - pColorAttachmentInputIndices = new uint32_t[copy_src->colorAttachmentCount]; - memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src->pColorAttachmentInputIndices, - sizeof(uint32_t) * copy_src->colorAttachmentCount); - } - - if (copy_src->pDepthInputAttachmentIndex) { - pDepthInputAttachmentIndex = new uint32_t(*copy_src->pDepthInputAttachmentIndex); - } - - if (copy_src->pStencilInputAttachmentIndex) { - pStencilInputAttachmentIndex = new uint32_t(*copy_src->pStencilInputAttachmentIndex); - } -} - safe_VkPhysicalDeviceMaintenance6Features::safe_VkPhysicalDeviceMaintenance6Features( const VkPhysicalDeviceMaintenance6Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), maintenance6(in_struct->maintenance6) { @@ -21086,642 +20126,6 @@ } } -safe_VkBindDescriptorSetsInfo::safe_VkBindDescriptorSetsInfo(const VkBindDescriptorSetsInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - stageFlags(in_struct->stageFlags), - layout(in_struct->layout), - firstSet(in_struct->firstSet), - descriptorSetCount(in_struct->descriptorSetCount), - pDescriptorSets(nullptr), - dynamicOffsetCount(in_struct->dynamicOffsetCount), - pDynamicOffsets(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (descriptorSetCount && in_struct->pDescriptorSets) { - pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; - for (uint32_t i = 0; i < descriptorSetCount; ++i) { - pDescriptorSets[i] = in_struct->pDescriptorSets[i]; - } - } - - if (in_struct->pDynamicOffsets) { - pDynamicOffsets = new uint32_t[in_struct->dynamicOffsetCount]; - memcpy((void*)pDynamicOffsets, (void*)in_struct->pDynamicOffsets, sizeof(uint32_t) * in_struct->dynamicOffsetCount); - } -} - -safe_VkBindDescriptorSetsInfo::safe_VkBindDescriptorSetsInfo() - : sType(VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO), - pNext(nullptr), - stageFlags(), - layout(), - firstSet(), - descriptorSetCount(), - pDescriptorSets(nullptr), - dynamicOffsetCount(), - pDynamicOffsets(nullptr) {} - -safe_VkBindDescriptorSetsInfo::safe_VkBindDescriptorSetsInfo(const safe_VkBindDescriptorSetsInfo& copy_src) { - sType = copy_src.sType; - stageFlags = copy_src.stageFlags; - layout = copy_src.layout; - firstSet = copy_src.firstSet; - descriptorSetCount = copy_src.descriptorSetCount; - pDescriptorSets = nullptr; - dynamicOffsetCount = copy_src.dynamicOffsetCount; - pDynamicOffsets = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (descriptorSetCount && copy_src.pDescriptorSets) { - pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; - for (uint32_t i = 0; i < descriptorSetCount; ++i) { - pDescriptorSets[i] = copy_src.pDescriptorSets[i]; - } - } - - if (copy_src.pDynamicOffsets) { - pDynamicOffsets = new uint32_t[copy_src.dynamicOffsetCount]; - memcpy((void*)pDynamicOffsets, (void*)copy_src.pDynamicOffsets, sizeof(uint32_t) * copy_src.dynamicOffsetCount); - } -} - -safe_VkBindDescriptorSetsInfo& safe_VkBindDescriptorSetsInfo::operator=(const safe_VkBindDescriptorSetsInfo& copy_src) { - if (©_src == this) return *this; - - if (pDescriptorSets) delete[] pDescriptorSets; - if (pDynamicOffsets) delete[] pDynamicOffsets; - FreePnextChain(pNext); - - sType = copy_src.sType; - stageFlags = copy_src.stageFlags; - layout = copy_src.layout; - firstSet = copy_src.firstSet; - descriptorSetCount = copy_src.descriptorSetCount; - pDescriptorSets = nullptr; - dynamicOffsetCount = copy_src.dynamicOffsetCount; - pDynamicOffsets = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (descriptorSetCount && copy_src.pDescriptorSets) { - pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; - for (uint32_t i = 0; i < descriptorSetCount; ++i) { - pDescriptorSets[i] = copy_src.pDescriptorSets[i]; - } - } - - if (copy_src.pDynamicOffsets) { - pDynamicOffsets = new uint32_t[copy_src.dynamicOffsetCount]; - memcpy((void*)pDynamicOffsets, (void*)copy_src.pDynamicOffsets, sizeof(uint32_t) * copy_src.dynamicOffsetCount); - } - - return *this; -} - -safe_VkBindDescriptorSetsInfo::~safe_VkBindDescriptorSetsInfo() { - if (pDescriptorSets) delete[] pDescriptorSets; - if (pDynamicOffsets) delete[] pDynamicOffsets; - FreePnextChain(pNext); -} - -void safe_VkBindDescriptorSetsInfo::initialize(const VkBindDescriptorSetsInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pDescriptorSets) delete[] pDescriptorSets; - if (pDynamicOffsets) delete[] pDynamicOffsets; - FreePnextChain(pNext); - sType = in_struct->sType; - stageFlags = in_struct->stageFlags; - layout = in_struct->layout; - firstSet = in_struct->firstSet; - descriptorSetCount = in_struct->descriptorSetCount; - pDescriptorSets = nullptr; - dynamicOffsetCount = in_struct->dynamicOffsetCount; - pDynamicOffsets = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (descriptorSetCount && in_struct->pDescriptorSets) { - pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; - for (uint32_t i = 0; i < descriptorSetCount; ++i) { - pDescriptorSets[i] = in_struct->pDescriptorSets[i]; - } - } - - if (in_struct->pDynamicOffsets) { - pDynamicOffsets = new uint32_t[in_struct->dynamicOffsetCount]; - memcpy((void*)pDynamicOffsets, (void*)in_struct->pDynamicOffsets, sizeof(uint32_t) * in_struct->dynamicOffsetCount); - } -} - -void safe_VkBindDescriptorSetsInfo::initialize(const safe_VkBindDescriptorSetsInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - stageFlags = copy_src->stageFlags; - layout = copy_src->layout; - firstSet = copy_src->firstSet; - descriptorSetCount = copy_src->descriptorSetCount; - pDescriptorSets = nullptr; - dynamicOffsetCount = copy_src->dynamicOffsetCount; - pDynamicOffsets = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (descriptorSetCount && copy_src->pDescriptorSets) { - pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; - for (uint32_t i = 0; i < descriptorSetCount; ++i) { - pDescriptorSets[i] = copy_src->pDescriptorSets[i]; - } - } - - if (copy_src->pDynamicOffsets) { - pDynamicOffsets = new uint32_t[copy_src->dynamicOffsetCount]; - memcpy((void*)pDynamicOffsets, (void*)copy_src->pDynamicOffsets, sizeof(uint32_t) * copy_src->dynamicOffsetCount); - } -} - -safe_VkPushConstantsInfo::safe_VkPushConstantsInfo(const VkPushConstantsInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - layout(in_struct->layout), - stageFlags(in_struct->stageFlags), - offset(in_struct->offset), - size(in_struct->size), - pValues(in_struct->pValues) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPushConstantsInfo::safe_VkPushConstantsInfo() - : sType(VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO), pNext(nullptr), layout(), stageFlags(), offset(), size(), pValues(nullptr) {} - -safe_VkPushConstantsInfo::safe_VkPushConstantsInfo(const safe_VkPushConstantsInfo& copy_src) { - sType = copy_src.sType; - layout = copy_src.layout; - stageFlags = copy_src.stageFlags; - offset = copy_src.offset; - size = copy_src.size; - pValues = copy_src.pValues; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPushConstantsInfo& safe_VkPushConstantsInfo::operator=(const safe_VkPushConstantsInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - layout = copy_src.layout; - stageFlags = copy_src.stageFlags; - offset = copy_src.offset; - size = copy_src.size; - pValues = copy_src.pValues; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPushConstantsInfo::~safe_VkPushConstantsInfo() { FreePnextChain(pNext); } - -void safe_VkPushConstantsInfo::initialize(const VkPushConstantsInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - layout = in_struct->layout; - stageFlags = in_struct->stageFlags; - offset = in_struct->offset; - size = in_struct->size; - pValues = in_struct->pValues; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPushConstantsInfo::initialize(const safe_VkPushConstantsInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - layout = copy_src->layout; - stageFlags = copy_src->stageFlags; - offset = copy_src->offset; - size = copy_src->size; - pValues = copy_src->pValues; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPushDescriptorSetInfo::safe_VkPushDescriptorSetInfo(const VkPushDescriptorSetInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - stageFlags(in_struct->stageFlags), - layout(in_struct->layout), - set(in_struct->set), - descriptorWriteCount(in_struct->descriptorWriteCount), - pDescriptorWrites(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (descriptorWriteCount && in_struct->pDescriptorWrites) { - pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; - for (uint32_t i = 0; i < descriptorWriteCount; ++i) { - pDescriptorWrites[i].initialize(&in_struct->pDescriptorWrites[i]); - } - } -} - -safe_VkPushDescriptorSetInfo::safe_VkPushDescriptorSetInfo() - : sType(VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO), - pNext(nullptr), - stageFlags(), - layout(), - set(), - descriptorWriteCount(), - pDescriptorWrites(nullptr) {} - -safe_VkPushDescriptorSetInfo::safe_VkPushDescriptorSetInfo(const safe_VkPushDescriptorSetInfo& copy_src) { - sType = copy_src.sType; - stageFlags = copy_src.stageFlags; - layout = copy_src.layout; - set = copy_src.set; - descriptorWriteCount = copy_src.descriptorWriteCount; - pDescriptorWrites = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (descriptorWriteCount && copy_src.pDescriptorWrites) { - pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; - for (uint32_t i = 0; i < descriptorWriteCount; ++i) { - pDescriptorWrites[i].initialize(©_src.pDescriptorWrites[i]); - } - } -} - -safe_VkPushDescriptorSetInfo& safe_VkPushDescriptorSetInfo::operator=(const safe_VkPushDescriptorSetInfo& copy_src) { - if (©_src == this) return *this; - - if (pDescriptorWrites) delete[] pDescriptorWrites; - FreePnextChain(pNext); - - sType = copy_src.sType; - stageFlags = copy_src.stageFlags; - layout = copy_src.layout; - set = copy_src.set; - descriptorWriteCount = copy_src.descriptorWriteCount; - pDescriptorWrites = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (descriptorWriteCount && copy_src.pDescriptorWrites) { - pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; - for (uint32_t i = 0; i < descriptorWriteCount; ++i) { - pDescriptorWrites[i].initialize(©_src.pDescriptorWrites[i]); - } - } - - return *this; -} - -safe_VkPushDescriptorSetInfo::~safe_VkPushDescriptorSetInfo() { - if (pDescriptorWrites) delete[] pDescriptorWrites; - FreePnextChain(pNext); -} - -void safe_VkPushDescriptorSetInfo::initialize(const VkPushDescriptorSetInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pDescriptorWrites) delete[] pDescriptorWrites; - FreePnextChain(pNext); - sType = in_struct->sType; - stageFlags = in_struct->stageFlags; - layout = in_struct->layout; - set = in_struct->set; - descriptorWriteCount = in_struct->descriptorWriteCount; - pDescriptorWrites = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (descriptorWriteCount && in_struct->pDescriptorWrites) { - pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; - for (uint32_t i = 0; i < descriptorWriteCount; ++i) { - pDescriptorWrites[i].initialize(&in_struct->pDescriptorWrites[i]); - } - } -} - -void safe_VkPushDescriptorSetInfo::initialize(const safe_VkPushDescriptorSetInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - stageFlags = copy_src->stageFlags; - layout = copy_src->layout; - set = copy_src->set; - descriptorWriteCount = copy_src->descriptorWriteCount; - pDescriptorWrites = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (descriptorWriteCount && copy_src->pDescriptorWrites) { - pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; - for (uint32_t i = 0; i < descriptorWriteCount; ++i) { - pDescriptorWrites[i].initialize(©_src->pDescriptorWrites[i]); - } - } -} - -safe_VkPushDescriptorSetWithTemplateInfo::safe_VkPushDescriptorSetWithTemplateInfo( - const VkPushDescriptorSetWithTemplateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - descriptorUpdateTemplate(in_struct->descriptorUpdateTemplate), - layout(in_struct->layout), - set(in_struct->set), - pData(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPushDescriptorSetWithTemplateInfo::safe_VkPushDescriptorSetWithTemplateInfo() - : sType(VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO), - pNext(nullptr), - descriptorUpdateTemplate(), - layout(), - set(), - pData(nullptr) {} - -safe_VkPushDescriptorSetWithTemplateInfo::safe_VkPushDescriptorSetWithTemplateInfo( - const safe_VkPushDescriptorSetWithTemplateInfo& copy_src) { - sType = copy_src.sType; - descriptorUpdateTemplate = copy_src.descriptorUpdateTemplate; - layout = copy_src.layout; - set = copy_src.set; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPushDescriptorSetWithTemplateInfo& safe_VkPushDescriptorSetWithTemplateInfo::operator=( - const safe_VkPushDescriptorSetWithTemplateInfo& copy_src) { - if (©_src == this) return *this; - - if (pData != nullptr) { - auto temp = reinterpret_cast<const std::byte*>(pData); - delete[] temp; - } - FreePnextChain(pNext); - - sType = copy_src.sType; - descriptorUpdateTemplate = copy_src.descriptorUpdateTemplate; - layout = copy_src.layout; - set = copy_src.set; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPushDescriptorSetWithTemplateInfo::~safe_VkPushDescriptorSetWithTemplateInfo() { - if (pData != nullptr) { - auto temp = reinterpret_cast<const std::byte*>(pData); - delete[] temp; - } - FreePnextChain(pNext); -} - -void safe_VkPushDescriptorSetWithTemplateInfo::initialize(const VkPushDescriptorSetWithTemplateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pData != nullptr) { - auto temp = reinterpret_cast<const std::byte*>(pData); - delete[] temp; - } - FreePnextChain(pNext); - sType = in_struct->sType; - descriptorUpdateTemplate = in_struct->descriptorUpdateTemplate; - layout = in_struct->layout; - set = in_struct->set; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPushDescriptorSetWithTemplateInfo::initialize(const safe_VkPushDescriptorSetWithTemplateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - descriptorUpdateTemplate = copy_src->descriptorUpdateTemplate; - layout = copy_src->layout; - set = copy_src->set; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDevicePipelineProtectedAccessFeatures::safe_VkPhysicalDevicePipelineProtectedAccessFeatures( - const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), pipelineProtectedAccess(in_struct->pipelineProtectedAccess) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePipelineProtectedAccessFeatures::safe_VkPhysicalDevicePipelineProtectedAccessFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES), pNext(nullptr), pipelineProtectedAccess() {} - -safe_VkPhysicalDevicePipelineProtectedAccessFeatures::safe_VkPhysicalDevicePipelineProtectedAccessFeatures( - const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src) { - sType = copy_src.sType; - pipelineProtectedAccess = copy_src.pipelineProtectedAccess; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePipelineProtectedAccessFeatures& safe_VkPhysicalDevicePipelineProtectedAccessFeatures::operator=( - const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - pipelineProtectedAccess = copy_src.pipelineProtectedAccess; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePipelineProtectedAccessFeatures::~safe_VkPhysicalDevicePipelineProtectedAccessFeatures() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDevicePipelineProtectedAccessFeatures::initialize( - const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - pipelineProtectedAccess = in_struct->pipelineProtectedAccess; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePipelineProtectedAccessFeatures::initialize( - const safe_VkPhysicalDevicePipelineProtectedAccessFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pipelineProtectedAccess = copy_src->pipelineProtectedAccess; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDevicePipelineRobustnessFeatures::safe_VkPhysicalDevicePipelineRobustnessFeatures( - const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), pipelineRobustness(in_struct->pipelineRobustness) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePipelineRobustnessFeatures::safe_VkPhysicalDevicePipelineRobustnessFeatures() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES), pNext(nullptr), pipelineRobustness() {} - -safe_VkPhysicalDevicePipelineRobustnessFeatures::safe_VkPhysicalDevicePipelineRobustnessFeatures( - const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src) { - sType = copy_src.sType; - pipelineRobustness = copy_src.pipelineRobustness; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePipelineRobustnessFeatures& safe_VkPhysicalDevicePipelineRobustnessFeatures::operator=( - const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - pipelineRobustness = copy_src.pipelineRobustness; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePipelineRobustnessFeatures::~safe_VkPhysicalDevicePipelineRobustnessFeatures() { FreePnextChain(pNext); } - -void safe_VkPhysicalDevicePipelineRobustnessFeatures::initialize(const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - pipelineRobustness = in_struct->pipelineRobustness; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePipelineRobustnessFeatures::initialize(const safe_VkPhysicalDevicePipelineRobustnessFeatures* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - pipelineRobustness = copy_src->pipelineRobustness; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDevicePipelineRobustnessProperties::safe_VkPhysicalDevicePipelineRobustnessProperties( - const VkPhysicalDevicePipelineRobustnessProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - defaultRobustnessStorageBuffers(in_struct->defaultRobustnessStorageBuffers), - defaultRobustnessUniformBuffers(in_struct->defaultRobustnessUniformBuffers), - defaultRobustnessVertexInputs(in_struct->defaultRobustnessVertexInputs), - defaultRobustnessImages(in_struct->defaultRobustnessImages) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePipelineRobustnessProperties::safe_VkPhysicalDevicePipelineRobustnessProperties() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES), - pNext(nullptr), - defaultRobustnessStorageBuffers(), - defaultRobustnessUniformBuffers(), - defaultRobustnessVertexInputs(), - defaultRobustnessImages() {} - -safe_VkPhysicalDevicePipelineRobustnessProperties::safe_VkPhysicalDevicePipelineRobustnessProperties( - const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src) { - sType = copy_src.sType; - defaultRobustnessStorageBuffers = copy_src.defaultRobustnessStorageBuffers; - defaultRobustnessUniformBuffers = copy_src.defaultRobustnessUniformBuffers; - defaultRobustnessVertexInputs = copy_src.defaultRobustnessVertexInputs; - defaultRobustnessImages = copy_src.defaultRobustnessImages; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePipelineRobustnessProperties& safe_VkPhysicalDevicePipelineRobustnessProperties::operator=( - const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - defaultRobustnessStorageBuffers = copy_src.defaultRobustnessStorageBuffers; - defaultRobustnessUniformBuffers = copy_src.defaultRobustnessUniformBuffers; - defaultRobustnessVertexInputs = copy_src.defaultRobustnessVertexInputs; - defaultRobustnessImages = copy_src.defaultRobustnessImages; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePipelineRobustnessProperties::~safe_VkPhysicalDevicePipelineRobustnessProperties() { FreePnextChain(pNext); } - -void safe_VkPhysicalDevicePipelineRobustnessProperties::initialize(const VkPhysicalDevicePipelineRobustnessProperties* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - defaultRobustnessStorageBuffers = in_struct->defaultRobustnessStorageBuffers; - defaultRobustnessUniformBuffers = in_struct->defaultRobustnessUniformBuffers; - defaultRobustnessVertexInputs = in_struct->defaultRobustnessVertexInputs; - defaultRobustnessImages = in_struct->defaultRobustnessImages; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePipelineRobustnessProperties::initialize( - const safe_VkPhysicalDevicePipelineRobustnessProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - defaultRobustnessStorageBuffers = copy_src->defaultRobustnessStorageBuffers; - defaultRobustnessUniformBuffers = copy_src->defaultRobustnessUniformBuffers; - defaultRobustnessVertexInputs = copy_src->defaultRobustnessVertexInputs; - defaultRobustnessImages = copy_src->defaultRobustnessImages; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPipelineRobustnessCreateInfo::safe_VkPipelineRobustnessCreateInfo(const VkPipelineRobustnessCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - storageBuffers(in_struct->storageBuffers), - uniformBuffers(in_struct->uniformBuffers), - vertexInputs(in_struct->vertexInputs), - images(in_struct->images) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPipelineRobustnessCreateInfo::safe_VkPipelineRobustnessCreateInfo() - : sType(VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO), - pNext(nullptr), - storageBuffers(), - uniformBuffers(), - vertexInputs(), - images() {} - -safe_VkPipelineRobustnessCreateInfo::safe_VkPipelineRobustnessCreateInfo(const safe_VkPipelineRobustnessCreateInfo& copy_src) { - sType = copy_src.sType; - storageBuffers = copy_src.storageBuffers; - uniformBuffers = copy_src.uniformBuffers; - vertexInputs = copy_src.vertexInputs; - images = copy_src.images; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPipelineRobustnessCreateInfo& safe_VkPipelineRobustnessCreateInfo::operator=( - const safe_VkPipelineRobustnessCreateInfo& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - storageBuffers = copy_src.storageBuffers; - uniformBuffers = copy_src.uniformBuffers; - vertexInputs = copy_src.vertexInputs; - images = copy_src.images; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPipelineRobustnessCreateInfo::~safe_VkPipelineRobustnessCreateInfo() { FreePnextChain(pNext); } - -void safe_VkPipelineRobustnessCreateInfo::initialize(const VkPipelineRobustnessCreateInfo* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - storageBuffers = in_struct->storageBuffers; - uniformBuffers = in_struct->uniformBuffers; - vertexInputs = in_struct->vertexInputs; - images = in_struct->images; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPipelineRobustnessCreateInfo::initialize(const safe_VkPipelineRobustnessCreateInfo* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - storageBuffers = copy_src->storageBuffers; - uniformBuffers = copy_src->uniformBuffers; - vertexInputs = copy_src->vertexInputs; - images = copy_src->images; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceHostImageCopyFeatures::safe_VkPhysicalDeviceHostImageCopyFeatures( const VkPhysicalDeviceHostImageCopyFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), hostImageCopy(in_struct->hostImageCopy) { @@ -22583,6 +20987,1692 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::safe_VkPhysicalDeviceShaderSubgroupRotateFeatures( + const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + shaderSubgroupRotate(in_struct->shaderSubgroupRotate), + shaderSubgroupRotateClustered(in_struct->shaderSubgroupRotateClustered) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::safe_VkPhysicalDeviceShaderSubgroupRotateFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES), + pNext(nullptr), + shaderSubgroupRotate(), + shaderSubgroupRotateClustered() {} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::safe_VkPhysicalDeviceShaderSubgroupRotateFeatures( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src) { + sType = copy_src.sType; + shaderSubgroupRotate = copy_src.shaderSubgroupRotate; + shaderSubgroupRotateClustered = copy_src.shaderSubgroupRotateClustered; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::operator=( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderSubgroupRotate = copy_src.shaderSubgroupRotate; + shaderSubgroupRotateClustered = copy_src.shaderSubgroupRotateClustered; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::~safe_VkPhysicalDeviceShaderSubgroupRotateFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::initialize(const VkPhysicalDeviceShaderSubgroupRotateFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderSubgroupRotate = in_struct->shaderSubgroupRotate; + shaderSubgroupRotateClustered = in_struct->shaderSubgroupRotateClustered; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderSubgroupRotateFeatures::initialize( + const safe_VkPhysicalDeviceShaderSubgroupRotateFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderSubgroupRotate = copy_src->shaderSubgroupRotate; + shaderSubgroupRotateClustered = copy_src->shaderSubgroupRotateClustered; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderFloatControls2Features::safe_VkPhysicalDeviceShaderFloatControls2Features( + const VkPhysicalDeviceShaderFloatControls2Features* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderFloatControls2(in_struct->shaderFloatControls2) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderFloatControls2Features::safe_VkPhysicalDeviceShaderFloatControls2Features() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES), pNext(nullptr), shaderFloatControls2() {} + +safe_VkPhysicalDeviceShaderFloatControls2Features::safe_VkPhysicalDeviceShaderFloatControls2Features( + const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src) { + sType = copy_src.sType; + shaderFloatControls2 = copy_src.shaderFloatControls2; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderFloatControls2Features& safe_VkPhysicalDeviceShaderFloatControls2Features::operator=( + const safe_VkPhysicalDeviceShaderFloatControls2Features& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderFloatControls2 = copy_src.shaderFloatControls2; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderFloatControls2Features::~safe_VkPhysicalDeviceShaderFloatControls2Features() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderFloatControls2Features::initialize(const VkPhysicalDeviceShaderFloatControls2Features* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderFloatControls2 = in_struct->shaderFloatControls2; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderFloatControls2Features::initialize( + const safe_VkPhysicalDeviceShaderFloatControls2Features* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderFloatControls2 = copy_src->shaderFloatControls2; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeatures::safe_VkPhysicalDeviceShaderExpectAssumeFeatures( + const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderExpectAssume(in_struct->shaderExpectAssume) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeatures::safe_VkPhysicalDeviceShaderExpectAssumeFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES), pNext(nullptr), shaderExpectAssume() {} + +safe_VkPhysicalDeviceShaderExpectAssumeFeatures::safe_VkPhysicalDeviceShaderExpectAssumeFeatures( + const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src) { + sType = copy_src.sType; + shaderExpectAssume = copy_src.shaderExpectAssume; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeatures& safe_VkPhysicalDeviceShaderExpectAssumeFeatures::operator=( + const safe_VkPhysicalDeviceShaderExpectAssumeFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderExpectAssume = copy_src.shaderExpectAssume; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderExpectAssumeFeatures::~safe_VkPhysicalDeviceShaderExpectAssumeFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderExpectAssumeFeatures::initialize(const VkPhysicalDeviceShaderExpectAssumeFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderExpectAssume = in_struct->shaderExpectAssume; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderExpectAssumeFeatures::initialize(const safe_VkPhysicalDeviceShaderExpectAssumeFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderExpectAssume = copy_src->shaderExpectAssume; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineCreateFlags2CreateInfo::safe_VkPipelineCreateFlags2CreateInfo(const VkPipelineCreateFlags2CreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineCreateFlags2CreateInfo::safe_VkPipelineCreateFlags2CreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO), pNext(nullptr), flags() {} + +safe_VkPipelineCreateFlags2CreateInfo::safe_VkPipelineCreateFlags2CreateInfo( + const safe_VkPipelineCreateFlags2CreateInfo& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineCreateFlags2CreateInfo& safe_VkPipelineCreateFlags2CreateInfo::operator=( + const safe_VkPipelineCreateFlags2CreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineCreateFlags2CreateInfo::~safe_VkPipelineCreateFlags2CreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineCreateFlags2CreateInfo::initialize(const VkPipelineCreateFlags2CreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineCreateFlags2CreateInfo::initialize(const safe_VkPipelineCreateFlags2CreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePushDescriptorProperties::safe_VkPhysicalDevicePushDescriptorProperties( + const VkPhysicalDevicePushDescriptorProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxPushDescriptors(in_struct->maxPushDescriptors) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePushDescriptorProperties::safe_VkPhysicalDevicePushDescriptorProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES), pNext(nullptr), maxPushDescriptors() {} + +safe_VkPhysicalDevicePushDescriptorProperties::safe_VkPhysicalDevicePushDescriptorProperties( + const safe_VkPhysicalDevicePushDescriptorProperties& copy_src) { + sType = copy_src.sType; + maxPushDescriptors = copy_src.maxPushDescriptors; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePushDescriptorProperties& safe_VkPhysicalDevicePushDescriptorProperties::operator=( + const safe_VkPhysicalDevicePushDescriptorProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxPushDescriptors = copy_src.maxPushDescriptors; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePushDescriptorProperties::~safe_VkPhysicalDevicePushDescriptorProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePushDescriptorProperties::initialize(const VkPhysicalDevicePushDescriptorProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxPushDescriptors = in_struct->maxPushDescriptors; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePushDescriptorProperties::initialize(const safe_VkPhysicalDevicePushDescriptorProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxPushDescriptors = copy_src->maxPushDescriptors; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindDescriptorSetsInfo::safe_VkBindDescriptorSetsInfo(const VkBindDescriptorSetsInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + stageFlags(in_struct->stageFlags), + layout(in_struct->layout), + firstSet(in_struct->firstSet), + descriptorSetCount(in_struct->descriptorSetCount), + pDescriptorSets(nullptr), + dynamicOffsetCount(in_struct->dynamicOffsetCount), + pDynamicOffsets(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (descriptorSetCount && in_struct->pDescriptorSets) { + pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; + for (uint32_t i = 0; i < descriptorSetCount; ++i) { + pDescriptorSets[i] = in_struct->pDescriptorSets[i]; + } + } + + if (in_struct->pDynamicOffsets) { + pDynamicOffsets = new uint32_t[in_struct->dynamicOffsetCount]; + memcpy((void*)pDynamicOffsets, (void*)in_struct->pDynamicOffsets, sizeof(uint32_t) * in_struct->dynamicOffsetCount); + } +} + +safe_VkBindDescriptorSetsInfo::safe_VkBindDescriptorSetsInfo() + : sType(VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO), + pNext(nullptr), + stageFlags(), + layout(), + firstSet(), + descriptorSetCount(), + pDescriptorSets(nullptr), + dynamicOffsetCount(), + pDynamicOffsets(nullptr) {} + +safe_VkBindDescriptorSetsInfo::safe_VkBindDescriptorSetsInfo(const safe_VkBindDescriptorSetsInfo& copy_src) { + sType = copy_src.sType; + stageFlags = copy_src.stageFlags; + layout = copy_src.layout; + firstSet = copy_src.firstSet; + descriptorSetCount = copy_src.descriptorSetCount; + pDescriptorSets = nullptr; + dynamicOffsetCount = copy_src.dynamicOffsetCount; + pDynamicOffsets = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (descriptorSetCount && copy_src.pDescriptorSets) { + pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; + for (uint32_t i = 0; i < descriptorSetCount; ++i) { + pDescriptorSets[i] = copy_src.pDescriptorSets[i]; + } + } + + if (copy_src.pDynamicOffsets) { + pDynamicOffsets = new uint32_t[copy_src.dynamicOffsetCount]; + memcpy((void*)pDynamicOffsets, (void*)copy_src.pDynamicOffsets, sizeof(uint32_t) * copy_src.dynamicOffsetCount); + } +} + +safe_VkBindDescriptorSetsInfo& safe_VkBindDescriptorSetsInfo::operator=(const safe_VkBindDescriptorSetsInfo& copy_src) { + if (©_src == this) return *this; + + if (pDescriptorSets) delete[] pDescriptorSets; + if (pDynamicOffsets) delete[] pDynamicOffsets; + FreePnextChain(pNext); + + sType = copy_src.sType; + stageFlags = copy_src.stageFlags; + layout = copy_src.layout; + firstSet = copy_src.firstSet; + descriptorSetCount = copy_src.descriptorSetCount; + pDescriptorSets = nullptr; + dynamicOffsetCount = copy_src.dynamicOffsetCount; + pDynamicOffsets = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (descriptorSetCount && copy_src.pDescriptorSets) { + pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; + for (uint32_t i = 0; i < descriptorSetCount; ++i) { + pDescriptorSets[i] = copy_src.pDescriptorSets[i]; + } + } + + if (copy_src.pDynamicOffsets) { + pDynamicOffsets = new uint32_t[copy_src.dynamicOffsetCount]; + memcpy((void*)pDynamicOffsets, (void*)copy_src.pDynamicOffsets, sizeof(uint32_t) * copy_src.dynamicOffsetCount); + } + + return *this; +} + +safe_VkBindDescriptorSetsInfo::~safe_VkBindDescriptorSetsInfo() { + if (pDescriptorSets) delete[] pDescriptorSets; + if (pDynamicOffsets) delete[] pDynamicOffsets; + FreePnextChain(pNext); +} + +void safe_VkBindDescriptorSetsInfo::initialize(const VkBindDescriptorSetsInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDescriptorSets) delete[] pDescriptorSets; + if (pDynamicOffsets) delete[] pDynamicOffsets; + FreePnextChain(pNext); + sType = in_struct->sType; + stageFlags = in_struct->stageFlags; + layout = in_struct->layout; + firstSet = in_struct->firstSet; + descriptorSetCount = in_struct->descriptorSetCount; + pDescriptorSets = nullptr; + dynamicOffsetCount = in_struct->dynamicOffsetCount; + pDynamicOffsets = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (descriptorSetCount && in_struct->pDescriptorSets) { + pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; + for (uint32_t i = 0; i < descriptorSetCount; ++i) { + pDescriptorSets[i] = in_struct->pDescriptorSets[i]; + } + } + + if (in_struct->pDynamicOffsets) { + pDynamicOffsets = new uint32_t[in_struct->dynamicOffsetCount]; + memcpy((void*)pDynamicOffsets, (void*)in_struct->pDynamicOffsets, sizeof(uint32_t) * in_struct->dynamicOffsetCount); + } +} + +void safe_VkBindDescriptorSetsInfo::initialize(const safe_VkBindDescriptorSetsInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + stageFlags = copy_src->stageFlags; + layout = copy_src->layout; + firstSet = copy_src->firstSet; + descriptorSetCount = copy_src->descriptorSetCount; + pDescriptorSets = nullptr; + dynamicOffsetCount = copy_src->dynamicOffsetCount; + pDynamicOffsets = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (descriptorSetCount && copy_src->pDescriptorSets) { + pDescriptorSets = new VkDescriptorSet[descriptorSetCount]; + for (uint32_t i = 0; i < descriptorSetCount; ++i) { + pDescriptorSets[i] = copy_src->pDescriptorSets[i]; + } + } + + if (copy_src->pDynamicOffsets) { + pDynamicOffsets = new uint32_t[copy_src->dynamicOffsetCount]; + memcpy((void*)pDynamicOffsets, (void*)copy_src->pDynamicOffsets, sizeof(uint32_t) * copy_src->dynamicOffsetCount); + } +} + +safe_VkPushConstantsInfo::safe_VkPushConstantsInfo(const VkPushConstantsInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + layout(in_struct->layout), + stageFlags(in_struct->stageFlags), + offset(in_struct->offset), + size(in_struct->size), + pValues(in_struct->pValues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPushConstantsInfo::safe_VkPushConstantsInfo() + : sType(VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO), pNext(nullptr), layout(), stageFlags(), offset(), size(), pValues(nullptr) {} + +safe_VkPushConstantsInfo::safe_VkPushConstantsInfo(const safe_VkPushConstantsInfo& copy_src) { + sType = copy_src.sType; + layout = copy_src.layout; + stageFlags = copy_src.stageFlags; + offset = copy_src.offset; + size = copy_src.size; + pValues = copy_src.pValues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPushConstantsInfo& safe_VkPushConstantsInfo::operator=(const safe_VkPushConstantsInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + layout = copy_src.layout; + stageFlags = copy_src.stageFlags; + offset = copy_src.offset; + size = copy_src.size; + pValues = copy_src.pValues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPushConstantsInfo::~safe_VkPushConstantsInfo() { FreePnextChain(pNext); } + +void safe_VkPushConstantsInfo::initialize(const VkPushConstantsInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + layout = in_struct->layout; + stageFlags = in_struct->stageFlags; + offset = in_struct->offset; + size = in_struct->size; + pValues = in_struct->pValues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPushConstantsInfo::initialize(const safe_VkPushConstantsInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + layout = copy_src->layout; + stageFlags = copy_src->stageFlags; + offset = copy_src->offset; + size = copy_src->size; + pValues = copy_src->pValues; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPushDescriptorSetInfo::safe_VkPushDescriptorSetInfo(const VkPushDescriptorSetInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + stageFlags(in_struct->stageFlags), + layout(in_struct->layout), + set(in_struct->set), + descriptorWriteCount(in_struct->descriptorWriteCount), + pDescriptorWrites(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (descriptorWriteCount && in_struct->pDescriptorWrites) { + pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; + for (uint32_t i = 0; i < descriptorWriteCount; ++i) { + pDescriptorWrites[i].initialize(&in_struct->pDescriptorWrites[i]); + } + } +} + +safe_VkPushDescriptorSetInfo::safe_VkPushDescriptorSetInfo() + : sType(VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO), + pNext(nullptr), + stageFlags(), + layout(), + set(), + descriptorWriteCount(), + pDescriptorWrites(nullptr) {} + +safe_VkPushDescriptorSetInfo::safe_VkPushDescriptorSetInfo(const safe_VkPushDescriptorSetInfo& copy_src) { + sType = copy_src.sType; + stageFlags = copy_src.stageFlags; + layout = copy_src.layout; + set = copy_src.set; + descriptorWriteCount = copy_src.descriptorWriteCount; + pDescriptorWrites = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (descriptorWriteCount && copy_src.pDescriptorWrites) { + pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; + for (uint32_t i = 0; i < descriptorWriteCount; ++i) { + pDescriptorWrites[i].initialize(©_src.pDescriptorWrites[i]); + } + } +} + +safe_VkPushDescriptorSetInfo& safe_VkPushDescriptorSetInfo::operator=(const safe_VkPushDescriptorSetInfo& copy_src) { + if (©_src == this) return *this; + + if (pDescriptorWrites) delete[] pDescriptorWrites; + FreePnextChain(pNext); + + sType = copy_src.sType; + stageFlags = copy_src.stageFlags; + layout = copy_src.layout; + set = copy_src.set; + descriptorWriteCount = copy_src.descriptorWriteCount; + pDescriptorWrites = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (descriptorWriteCount && copy_src.pDescriptorWrites) { + pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; + for (uint32_t i = 0; i < descriptorWriteCount; ++i) { + pDescriptorWrites[i].initialize(©_src.pDescriptorWrites[i]); + } + } + + return *this; +} + +safe_VkPushDescriptorSetInfo::~safe_VkPushDescriptorSetInfo() { + if (pDescriptorWrites) delete[] pDescriptorWrites; + FreePnextChain(pNext); +} + +void safe_VkPushDescriptorSetInfo::initialize(const VkPushDescriptorSetInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDescriptorWrites) delete[] pDescriptorWrites; + FreePnextChain(pNext); + sType = in_struct->sType; + stageFlags = in_struct->stageFlags; + layout = in_struct->layout; + set = in_struct->set; + descriptorWriteCount = in_struct->descriptorWriteCount; + pDescriptorWrites = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (descriptorWriteCount && in_struct->pDescriptorWrites) { + pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; + for (uint32_t i = 0; i < descriptorWriteCount; ++i) { + pDescriptorWrites[i].initialize(&in_struct->pDescriptorWrites[i]); + } + } +} + +void safe_VkPushDescriptorSetInfo::initialize(const safe_VkPushDescriptorSetInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + stageFlags = copy_src->stageFlags; + layout = copy_src->layout; + set = copy_src->set; + descriptorWriteCount = copy_src->descriptorWriteCount; + pDescriptorWrites = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (descriptorWriteCount && copy_src->pDescriptorWrites) { + pDescriptorWrites = new safe_VkWriteDescriptorSet[descriptorWriteCount]; + for (uint32_t i = 0; i < descriptorWriteCount; ++i) { + pDescriptorWrites[i].initialize(©_src->pDescriptorWrites[i]); + } + } +} + +safe_VkPushDescriptorSetWithTemplateInfo::safe_VkPushDescriptorSetWithTemplateInfo( + const VkPushDescriptorSetWithTemplateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + descriptorUpdateTemplate(in_struct->descriptorUpdateTemplate), + layout(in_struct->layout), + set(in_struct->set), + pData(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPushDescriptorSetWithTemplateInfo::safe_VkPushDescriptorSetWithTemplateInfo() + : sType(VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO), + pNext(nullptr), + descriptorUpdateTemplate(), + layout(), + set(), + pData(nullptr) {} + +safe_VkPushDescriptorSetWithTemplateInfo::safe_VkPushDescriptorSetWithTemplateInfo( + const safe_VkPushDescriptorSetWithTemplateInfo& copy_src) { + sType = copy_src.sType; + descriptorUpdateTemplate = copy_src.descriptorUpdateTemplate; + layout = copy_src.layout; + set = copy_src.set; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPushDescriptorSetWithTemplateInfo& safe_VkPushDescriptorSetWithTemplateInfo::operator=( + const safe_VkPushDescriptorSetWithTemplateInfo& copy_src) { + if (©_src == this) return *this; + + if (pData != nullptr) { + auto temp = reinterpret_cast<const std::byte*>(pData); + delete[] temp; + } + FreePnextChain(pNext); + + sType = copy_src.sType; + descriptorUpdateTemplate = copy_src.descriptorUpdateTemplate; + layout = copy_src.layout; + set = copy_src.set; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPushDescriptorSetWithTemplateInfo::~safe_VkPushDescriptorSetWithTemplateInfo() { + if (pData != nullptr) { + auto temp = reinterpret_cast<const std::byte*>(pData); + delete[] temp; + } + FreePnextChain(pNext); +} + +void safe_VkPushDescriptorSetWithTemplateInfo::initialize(const VkPushDescriptorSetWithTemplateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pData != nullptr) { + auto temp = reinterpret_cast<const std::byte*>(pData); + delete[] temp; + } + FreePnextChain(pNext); + sType = in_struct->sType; + descriptorUpdateTemplate = in_struct->descriptorUpdateTemplate; + layout = in_struct->layout; + set = in_struct->set; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPushDescriptorSetWithTemplateInfo::initialize(const safe_VkPushDescriptorSetWithTemplateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + descriptorUpdateTemplate = copy_src->descriptorUpdateTemplate; + layout = copy_src->layout; + set = copy_src->set; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePipelineProtectedAccessFeatures::safe_VkPhysicalDevicePipelineProtectedAccessFeatures( + const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pipelineProtectedAccess(in_struct->pipelineProtectedAccess) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePipelineProtectedAccessFeatures::safe_VkPhysicalDevicePipelineProtectedAccessFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES), pNext(nullptr), pipelineProtectedAccess() {} + +safe_VkPhysicalDevicePipelineProtectedAccessFeatures::safe_VkPhysicalDevicePipelineProtectedAccessFeatures( + const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src) { + sType = copy_src.sType; + pipelineProtectedAccess = copy_src.pipelineProtectedAccess; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePipelineProtectedAccessFeatures& safe_VkPhysicalDevicePipelineProtectedAccessFeatures::operator=( + const safe_VkPhysicalDevicePipelineProtectedAccessFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pipelineProtectedAccess = copy_src.pipelineProtectedAccess; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineProtectedAccessFeatures::~safe_VkPhysicalDevicePipelineProtectedAccessFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePipelineProtectedAccessFeatures::initialize( + const VkPhysicalDevicePipelineProtectedAccessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pipelineProtectedAccess = in_struct->pipelineProtectedAccess; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePipelineProtectedAccessFeatures::initialize( + const safe_VkPhysicalDevicePipelineProtectedAccessFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pipelineProtectedAccess = copy_src->pipelineProtectedAccess; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePipelineRobustnessFeatures::safe_VkPhysicalDevicePipelineRobustnessFeatures( + const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pipelineRobustness(in_struct->pipelineRobustness) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePipelineRobustnessFeatures::safe_VkPhysicalDevicePipelineRobustnessFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES), pNext(nullptr), pipelineRobustness() {} + +safe_VkPhysicalDevicePipelineRobustnessFeatures::safe_VkPhysicalDevicePipelineRobustnessFeatures( + const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src) { + sType = copy_src.sType; + pipelineRobustness = copy_src.pipelineRobustness; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePipelineRobustnessFeatures& safe_VkPhysicalDevicePipelineRobustnessFeatures::operator=( + const safe_VkPhysicalDevicePipelineRobustnessFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pipelineRobustness = copy_src.pipelineRobustness; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineRobustnessFeatures::~safe_VkPhysicalDevicePipelineRobustnessFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePipelineRobustnessFeatures::initialize(const VkPhysicalDevicePipelineRobustnessFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pipelineRobustness = in_struct->pipelineRobustness; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePipelineRobustnessFeatures::initialize(const safe_VkPhysicalDevicePipelineRobustnessFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pipelineRobustness = copy_src->pipelineRobustness; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePipelineRobustnessProperties::safe_VkPhysicalDevicePipelineRobustnessProperties( + const VkPhysicalDevicePipelineRobustnessProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + defaultRobustnessStorageBuffers(in_struct->defaultRobustnessStorageBuffers), + defaultRobustnessUniformBuffers(in_struct->defaultRobustnessUniformBuffers), + defaultRobustnessVertexInputs(in_struct->defaultRobustnessVertexInputs), + defaultRobustnessImages(in_struct->defaultRobustnessImages) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePipelineRobustnessProperties::safe_VkPhysicalDevicePipelineRobustnessProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES), + pNext(nullptr), + defaultRobustnessStorageBuffers(), + defaultRobustnessUniformBuffers(), + defaultRobustnessVertexInputs(), + defaultRobustnessImages() {} + +safe_VkPhysicalDevicePipelineRobustnessProperties::safe_VkPhysicalDevicePipelineRobustnessProperties( + const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src) { + sType = copy_src.sType; + defaultRobustnessStorageBuffers = copy_src.defaultRobustnessStorageBuffers; + defaultRobustnessUniformBuffers = copy_src.defaultRobustnessUniformBuffers; + defaultRobustnessVertexInputs = copy_src.defaultRobustnessVertexInputs; + defaultRobustnessImages = copy_src.defaultRobustnessImages; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePipelineRobustnessProperties& safe_VkPhysicalDevicePipelineRobustnessProperties::operator=( + const safe_VkPhysicalDevicePipelineRobustnessProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + defaultRobustnessStorageBuffers = copy_src.defaultRobustnessStorageBuffers; + defaultRobustnessUniformBuffers = copy_src.defaultRobustnessUniformBuffers; + defaultRobustnessVertexInputs = copy_src.defaultRobustnessVertexInputs; + defaultRobustnessImages = copy_src.defaultRobustnessImages; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineRobustnessProperties::~safe_VkPhysicalDevicePipelineRobustnessProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePipelineRobustnessProperties::initialize(const VkPhysicalDevicePipelineRobustnessProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + defaultRobustnessStorageBuffers = in_struct->defaultRobustnessStorageBuffers; + defaultRobustnessUniformBuffers = in_struct->defaultRobustnessUniformBuffers; + defaultRobustnessVertexInputs = in_struct->defaultRobustnessVertexInputs; + defaultRobustnessImages = in_struct->defaultRobustnessImages; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePipelineRobustnessProperties::initialize( + const safe_VkPhysicalDevicePipelineRobustnessProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + defaultRobustnessStorageBuffers = copy_src->defaultRobustnessStorageBuffers; + defaultRobustnessUniformBuffers = copy_src->defaultRobustnessUniformBuffers; + defaultRobustnessVertexInputs = copy_src->defaultRobustnessVertexInputs; + defaultRobustnessImages = copy_src->defaultRobustnessImages; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineRobustnessCreateInfo::safe_VkPipelineRobustnessCreateInfo(const VkPipelineRobustnessCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + storageBuffers(in_struct->storageBuffers), + uniformBuffers(in_struct->uniformBuffers), + vertexInputs(in_struct->vertexInputs), + images(in_struct->images) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineRobustnessCreateInfo::safe_VkPipelineRobustnessCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO), + pNext(nullptr), + storageBuffers(), + uniformBuffers(), + vertexInputs(), + images() {} + +safe_VkPipelineRobustnessCreateInfo::safe_VkPipelineRobustnessCreateInfo(const safe_VkPipelineRobustnessCreateInfo& copy_src) { + sType = copy_src.sType; + storageBuffers = copy_src.storageBuffers; + uniformBuffers = copy_src.uniformBuffers; + vertexInputs = copy_src.vertexInputs; + images = copy_src.images; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineRobustnessCreateInfo& safe_VkPipelineRobustnessCreateInfo::operator=( + const safe_VkPipelineRobustnessCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + storageBuffers = copy_src.storageBuffers; + uniformBuffers = copy_src.uniformBuffers; + vertexInputs = copy_src.vertexInputs; + images = copy_src.images; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineRobustnessCreateInfo::~safe_VkPipelineRobustnessCreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineRobustnessCreateInfo::initialize(const VkPipelineRobustnessCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + storageBuffers = in_struct->storageBuffers; + uniformBuffers = in_struct->uniformBuffers; + vertexInputs = in_struct->vertexInputs; + images = in_struct->images; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineRobustnessCreateInfo::initialize(const safe_VkPipelineRobustnessCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + storageBuffers = copy_src->storageBuffers; + uniformBuffers = copy_src->uniformBuffers; + vertexInputs = copy_src->vertexInputs; + images = copy_src->images; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeatures::safe_VkPhysicalDeviceLineRasterizationFeatures( + const VkPhysicalDeviceLineRasterizationFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + rectangularLines(in_struct->rectangularLines), + bresenhamLines(in_struct->bresenhamLines), + smoothLines(in_struct->smoothLines), + stippledRectangularLines(in_struct->stippledRectangularLines), + stippledBresenhamLines(in_struct->stippledBresenhamLines), + stippledSmoothLines(in_struct->stippledSmoothLines) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceLineRasterizationFeatures::safe_VkPhysicalDeviceLineRasterizationFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES), + pNext(nullptr), + rectangularLines(), + bresenhamLines(), + smoothLines(), + stippledRectangularLines(), + stippledBresenhamLines(), + stippledSmoothLines() {} + +safe_VkPhysicalDeviceLineRasterizationFeatures::safe_VkPhysicalDeviceLineRasterizationFeatures( + const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src) { + sType = copy_src.sType; + rectangularLines = copy_src.rectangularLines; + bresenhamLines = copy_src.bresenhamLines; + smoothLines = copy_src.smoothLines; + stippledRectangularLines = copy_src.stippledRectangularLines; + stippledBresenhamLines = copy_src.stippledBresenhamLines; + stippledSmoothLines = copy_src.stippledSmoothLines; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceLineRasterizationFeatures& safe_VkPhysicalDeviceLineRasterizationFeatures::operator=( + const safe_VkPhysicalDeviceLineRasterizationFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rectangularLines = copy_src.rectangularLines; + bresenhamLines = copy_src.bresenhamLines; + smoothLines = copy_src.smoothLines; + stippledRectangularLines = copy_src.stippledRectangularLines; + stippledBresenhamLines = copy_src.stippledBresenhamLines; + stippledSmoothLines = copy_src.stippledSmoothLines; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceLineRasterizationFeatures::~safe_VkPhysicalDeviceLineRasterizationFeatures() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceLineRasterizationFeatures::initialize(const VkPhysicalDeviceLineRasterizationFeatures* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rectangularLines = in_struct->rectangularLines; + bresenhamLines = in_struct->bresenhamLines; + smoothLines = in_struct->smoothLines; + stippledRectangularLines = in_struct->stippledRectangularLines; + stippledBresenhamLines = in_struct->stippledBresenhamLines; + stippledSmoothLines = in_struct->stippledSmoothLines; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceLineRasterizationFeatures::initialize(const safe_VkPhysicalDeviceLineRasterizationFeatures* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rectangularLines = copy_src->rectangularLines; + bresenhamLines = copy_src->bresenhamLines; + smoothLines = copy_src->smoothLines; + stippledRectangularLines = copy_src->stippledRectangularLines; + stippledBresenhamLines = copy_src->stippledBresenhamLines; + stippledSmoothLines = copy_src->stippledSmoothLines; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceLineRasterizationProperties::safe_VkPhysicalDeviceLineRasterizationProperties( + const VkPhysicalDeviceLineRasterizationProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), lineSubPixelPrecisionBits(in_struct->lineSubPixelPrecisionBits) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceLineRasterizationProperties::safe_VkPhysicalDeviceLineRasterizationProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES), pNext(nullptr), lineSubPixelPrecisionBits() {} + +safe_VkPhysicalDeviceLineRasterizationProperties::safe_VkPhysicalDeviceLineRasterizationProperties( + const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src) { + sType = copy_src.sType; + lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceLineRasterizationProperties& safe_VkPhysicalDeviceLineRasterizationProperties::operator=( + const safe_VkPhysicalDeviceLineRasterizationProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + lineSubPixelPrecisionBits = copy_src.lineSubPixelPrecisionBits; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceLineRasterizationProperties::~safe_VkPhysicalDeviceLineRasterizationProperties() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceLineRasterizationProperties::initialize(const VkPhysicalDeviceLineRasterizationProperties* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + lineSubPixelPrecisionBits = in_struct->lineSubPixelPrecisionBits; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceLineRasterizationProperties::initialize(const safe_VkPhysicalDeviceLineRasterizationProperties* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + lineSubPixelPrecisionBits = copy_src->lineSubPixelPrecisionBits; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfo::safe_VkPipelineRasterizationLineStateCreateInfo( + const VkPipelineRasterizationLineStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + lineRasterizationMode(in_struct->lineRasterizationMode), + stippledLineEnable(in_struct->stippledLineEnable), + lineStippleFactor(in_struct->lineStippleFactor), + lineStipplePattern(in_struct->lineStipplePattern) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineRasterizationLineStateCreateInfo::safe_VkPipelineRasterizationLineStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO), + pNext(nullptr), + lineRasterizationMode(), + stippledLineEnable(), + lineStippleFactor(), + lineStipplePattern() {} + +safe_VkPipelineRasterizationLineStateCreateInfo::safe_VkPipelineRasterizationLineStateCreateInfo( + const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src) { + sType = copy_src.sType; + lineRasterizationMode = copy_src.lineRasterizationMode; + stippledLineEnable = copy_src.stippledLineEnable; + lineStippleFactor = copy_src.lineStippleFactor; + lineStipplePattern = copy_src.lineStipplePattern; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineRasterizationLineStateCreateInfo& safe_VkPipelineRasterizationLineStateCreateInfo::operator=( + const safe_VkPipelineRasterizationLineStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + lineRasterizationMode = copy_src.lineRasterizationMode; + stippledLineEnable = copy_src.stippledLineEnable; + lineStippleFactor = copy_src.lineStippleFactor; + lineStipplePattern = copy_src.lineStipplePattern; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineRasterizationLineStateCreateInfo::~safe_VkPipelineRasterizationLineStateCreateInfo() { FreePnextChain(pNext); } + +void safe_VkPipelineRasterizationLineStateCreateInfo::initialize(const VkPipelineRasterizationLineStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + lineRasterizationMode = in_struct->lineRasterizationMode; + stippledLineEnable = in_struct->stippledLineEnable; + lineStippleFactor = in_struct->lineStippleFactor; + lineStipplePattern = in_struct->lineStipplePattern; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineRasterizationLineStateCreateInfo::initialize(const safe_VkPipelineRasterizationLineStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + lineRasterizationMode = copy_src->lineRasterizationMode; + stippledLineEnable = copy_src->stippledLineEnable; + lineStippleFactor = copy_src->lineStippleFactor; + lineStipplePattern = copy_src->lineStipplePattern; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceVertexAttributeDivisorProperties::safe_VkPhysicalDeviceVertexAttributeDivisorProperties( + const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + maxVertexAttribDivisor(in_struct->maxVertexAttribDivisor), + supportsNonZeroFirstInstance(in_struct->supportsNonZeroFirstInstance) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVertexAttributeDivisorProperties::safe_VkPhysicalDeviceVertexAttributeDivisorProperties() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES), + pNext(nullptr), + maxVertexAttribDivisor(), + supportsNonZeroFirstInstance() {} + +safe_VkPhysicalDeviceVertexAttributeDivisorProperties::safe_VkPhysicalDeviceVertexAttributeDivisorProperties( + const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src) { + sType = copy_src.sType; + maxVertexAttribDivisor = copy_src.maxVertexAttribDivisor; + supportsNonZeroFirstInstance = copy_src.supportsNonZeroFirstInstance; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVertexAttributeDivisorProperties& safe_VkPhysicalDeviceVertexAttributeDivisorProperties::operator=( + const safe_VkPhysicalDeviceVertexAttributeDivisorProperties& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxVertexAttribDivisor = copy_src.maxVertexAttribDivisor; + supportsNonZeroFirstInstance = copy_src.supportsNonZeroFirstInstance; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVertexAttributeDivisorProperties::~safe_VkPhysicalDeviceVertexAttributeDivisorProperties() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceVertexAttributeDivisorProperties::initialize( + const VkPhysicalDeviceVertexAttributeDivisorProperties* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxVertexAttribDivisor = in_struct->maxVertexAttribDivisor; + supportsNonZeroFirstInstance = in_struct->supportsNonZeroFirstInstance; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVertexAttributeDivisorProperties::initialize( + const safe_VkPhysicalDeviceVertexAttributeDivisorProperties* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxVertexAttribDivisor = copy_src->maxVertexAttribDivisor; + supportsNonZeroFirstInstance = copy_src->supportsNonZeroFirstInstance; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineVertexInputDivisorStateCreateInfo::safe_VkPipelineVertexInputDivisorStateCreateInfo( + const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), vertexBindingDivisorCount(in_struct->vertexBindingDivisorCount), pVertexBindingDivisors(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pVertexBindingDivisors) { + pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[in_struct->vertexBindingDivisorCount]; + memcpy((void*)pVertexBindingDivisors, (void*)in_struct->pVertexBindingDivisors, + sizeof(VkVertexInputBindingDivisorDescription) * in_struct->vertexBindingDivisorCount); + } +} + +safe_VkPipelineVertexInputDivisorStateCreateInfo::safe_VkPipelineVertexInputDivisorStateCreateInfo() + : sType(VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO), + pNext(nullptr), + vertexBindingDivisorCount(), + pVertexBindingDivisors(nullptr) {} + +safe_VkPipelineVertexInputDivisorStateCreateInfo::safe_VkPipelineVertexInputDivisorStateCreateInfo( + const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src) { + sType = copy_src.sType; + vertexBindingDivisorCount = copy_src.vertexBindingDivisorCount; + pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pVertexBindingDivisors) { + pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[copy_src.vertexBindingDivisorCount]; + memcpy((void*)pVertexBindingDivisors, (void*)copy_src.pVertexBindingDivisors, + sizeof(VkVertexInputBindingDivisorDescription) * copy_src.vertexBindingDivisorCount); + } +} + +safe_VkPipelineVertexInputDivisorStateCreateInfo& safe_VkPipelineVertexInputDivisorStateCreateInfo::operator=( + const safe_VkPipelineVertexInputDivisorStateCreateInfo& copy_src) { + if (©_src == this) return *this; + + if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; + FreePnextChain(pNext); + + sType = copy_src.sType; + vertexBindingDivisorCount = copy_src.vertexBindingDivisorCount; + pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pVertexBindingDivisors) { + pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[copy_src.vertexBindingDivisorCount]; + memcpy((void*)pVertexBindingDivisors, (void*)copy_src.pVertexBindingDivisors, + sizeof(VkVertexInputBindingDivisorDescription) * copy_src.vertexBindingDivisorCount); + } + + return *this; +} + +safe_VkPipelineVertexInputDivisorStateCreateInfo::~safe_VkPipelineVertexInputDivisorStateCreateInfo() { + if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; + FreePnextChain(pNext); +} + +void safe_VkPipelineVertexInputDivisorStateCreateInfo::initialize(const VkPipelineVertexInputDivisorStateCreateInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pVertexBindingDivisors) delete[] pVertexBindingDivisors; + FreePnextChain(pNext); + sType = in_struct->sType; + vertexBindingDivisorCount = in_struct->vertexBindingDivisorCount; + pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pVertexBindingDivisors) { + pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[in_struct->vertexBindingDivisorCount]; + memcpy((void*)pVertexBindingDivisors, (void*)in_struct->pVertexBindingDivisors, + sizeof(VkVertexInputBindingDivisorDescription) * in_struct->vertexBindingDivisorCount); + } +} + +void safe_VkPipelineVertexInputDivisorStateCreateInfo::initialize(const safe_VkPipelineVertexInputDivisorStateCreateInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vertexBindingDivisorCount = copy_src->vertexBindingDivisorCount; + pVertexBindingDivisors = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pVertexBindingDivisors) { + pVertexBindingDivisors = new VkVertexInputBindingDivisorDescription[copy_src->vertexBindingDivisorCount]; + memcpy((void*)pVertexBindingDivisors, (void*)copy_src->pVertexBindingDivisors, + sizeof(VkVertexInputBindingDivisorDescription) * copy_src->vertexBindingDivisorCount); + } +} + +safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::safe_VkPhysicalDeviceVertexAttributeDivisorFeatures( + const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + vertexAttributeInstanceRateDivisor(in_struct->vertexAttributeInstanceRateDivisor), + vertexAttributeInstanceRateZeroDivisor(in_struct->vertexAttributeInstanceRateZeroDivisor) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::safe_VkPhysicalDeviceVertexAttributeDivisorFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES), + pNext(nullptr), + vertexAttributeInstanceRateDivisor(), + vertexAttributeInstanceRateZeroDivisor() {} + +safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::safe_VkPhysicalDeviceVertexAttributeDivisorFeatures( + const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src) { + sType = copy_src.sType; + vertexAttributeInstanceRateDivisor = copy_src.vertexAttributeInstanceRateDivisor; + vertexAttributeInstanceRateZeroDivisor = copy_src.vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::operator=( + const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + vertexAttributeInstanceRateDivisor = copy_src.vertexAttributeInstanceRateDivisor; + vertexAttributeInstanceRateZeroDivisor = copy_src.vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::~safe_VkPhysicalDeviceVertexAttributeDivisorFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::initialize( + const VkPhysicalDeviceVertexAttributeDivisorFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + vertexAttributeInstanceRateDivisor = in_struct->vertexAttributeInstanceRateDivisor; + vertexAttributeInstanceRateZeroDivisor = in_struct->vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVertexAttributeDivisorFeatures::initialize( + const safe_VkPhysicalDeviceVertexAttributeDivisorFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vertexAttributeInstanceRateDivisor = copy_src->vertexAttributeInstanceRateDivisor; + vertexAttributeInstanceRateZeroDivisor = copy_src->vertexAttributeInstanceRateZeroDivisor; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderingAreaInfo::safe_VkRenderingAreaInfo(const VkRenderingAreaInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + viewMask(in_struct->viewMask), + colorAttachmentCount(in_struct->colorAttachmentCount), + pColorAttachmentFormats(nullptr), + depthAttachmentFormat(in_struct->depthAttachmentFormat), + stencilAttachmentFormat(in_struct->stencilAttachmentFormat) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)in_struct->pColorAttachmentFormats, + sizeof(VkFormat) * in_struct->colorAttachmentCount); + } +} + +safe_VkRenderingAreaInfo::safe_VkRenderingAreaInfo() + : sType(VK_STRUCTURE_TYPE_RENDERING_AREA_INFO), + pNext(nullptr), + viewMask(), + colorAttachmentCount(), + pColorAttachmentFormats(nullptr), + depthAttachmentFormat(), + stencilAttachmentFormat() {} + +safe_VkRenderingAreaInfo::safe_VkRenderingAreaInfo(const safe_VkRenderingAreaInfo& copy_src) { + sType = copy_src.sType; + viewMask = copy_src.viewMask; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = copy_src.depthAttachmentFormat; + stencilAttachmentFormat = copy_src.stencilAttachmentFormat; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)copy_src.pColorAttachmentFormats, + sizeof(VkFormat) * copy_src.colorAttachmentCount); + } +} + +safe_VkRenderingAreaInfo& safe_VkRenderingAreaInfo::operator=(const safe_VkRenderingAreaInfo& copy_src) { + if (©_src == this) return *this; + + if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; + FreePnextChain(pNext); + + sType = copy_src.sType; + viewMask = copy_src.viewMask; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = copy_src.depthAttachmentFormat; + stencilAttachmentFormat = copy_src.stencilAttachmentFormat; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)copy_src.pColorAttachmentFormats, + sizeof(VkFormat) * copy_src.colorAttachmentCount); + } + + return *this; +} + +safe_VkRenderingAreaInfo::~safe_VkRenderingAreaInfo() { + if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; + FreePnextChain(pNext); +} + +void safe_VkRenderingAreaInfo::initialize(const VkRenderingAreaInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; + FreePnextChain(pNext); + sType = in_struct->sType; + viewMask = in_struct->viewMask; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = in_struct->depthAttachmentFormat; + stencilAttachmentFormat = in_struct->stencilAttachmentFormat; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)in_struct->pColorAttachmentFormats, + sizeof(VkFormat) * in_struct->colorAttachmentCount); + } +} + +void safe_VkRenderingAreaInfo::initialize(const safe_VkRenderingAreaInfo* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + viewMask = copy_src->viewMask; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = copy_src->depthAttachmentFormat; + stencilAttachmentFormat = copy_src->stencilAttachmentFormat; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[copy_src->colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)copy_src->pColorAttachmentFormats, + sizeof(VkFormat) * copy_src->colorAttachmentCount); + } +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures( + const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), dynamicRenderingLocalRead(in_struct->dynamicRenderingLocalRead) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES), pNext(nullptr), dynamicRenderingLocalRead() {} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src) { + sType = copy_src.sType; + dynamicRenderingLocalRead = copy_src.dynamicRenderingLocalRead; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::operator=( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dynamicRenderingLocalRead = copy_src.dynamicRenderingLocalRead; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::~safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::initialize( + const VkPhysicalDeviceDynamicRenderingLocalReadFeatures* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dynamicRenderingLocalRead = in_struct->dynamicRenderingLocalRead; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures::initialize( + const safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dynamicRenderingLocalRead = copy_src->dynamicRenderingLocalRead; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderingAttachmentLocationInfo::safe_VkRenderingAttachmentLocationInfo(const VkRenderingAttachmentLocationInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), colorAttachmentCount(in_struct->colorAttachmentCount), pColorAttachmentLocations(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)in_struct->pColorAttachmentLocations, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } +} + +safe_VkRenderingAttachmentLocationInfo::safe_VkRenderingAttachmentLocationInfo() + : sType(VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO), + pNext(nullptr), + colorAttachmentCount(), + pColorAttachmentLocations(nullptr) {} + +safe_VkRenderingAttachmentLocationInfo::safe_VkRenderingAttachmentLocationInfo( + const safe_VkRenderingAttachmentLocationInfo& copy_src) { + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)copy_src.pColorAttachmentLocations, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } +} + +safe_VkRenderingAttachmentLocationInfo& safe_VkRenderingAttachmentLocationInfo::operator=( + const safe_VkRenderingAttachmentLocationInfo& copy_src) { + if (©_src == this) return *this; + + if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; + FreePnextChain(pNext); + + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)copy_src.pColorAttachmentLocations, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } + + return *this; +} + +safe_VkRenderingAttachmentLocationInfo::~safe_VkRenderingAttachmentLocationInfo() { + if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; + FreePnextChain(pNext); +} + +void safe_VkRenderingAttachmentLocationInfo::initialize(const VkRenderingAttachmentLocationInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pColorAttachmentLocations) delete[] pColorAttachmentLocations; + FreePnextChain(pNext); + sType = in_struct->sType; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)in_struct->pColorAttachmentLocations, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } +} + +void safe_VkRenderingAttachmentLocationInfo::initialize(const safe_VkRenderingAttachmentLocationInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachmentLocations = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pColorAttachmentLocations) { + pColorAttachmentLocations = new uint32_t[copy_src->colorAttachmentCount]; + memcpy((void*)pColorAttachmentLocations, (void*)copy_src->pColorAttachmentLocations, + sizeof(uint32_t) * copy_src->colorAttachmentCount); + } +} + +safe_VkRenderingInputAttachmentIndexInfo::safe_VkRenderingInputAttachmentIndexInfo( + const VkRenderingInputAttachmentIndexInfo* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + colorAttachmentCount(in_struct->colorAttachmentCount), + pColorAttachmentInputIndices(nullptr), + pDepthInputAttachmentIndex(nullptr), + pStencilInputAttachmentIndex(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)in_struct->pColorAttachmentInputIndices, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } + + if (in_struct->pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*in_struct->pDepthInputAttachmentIndex); + } + + if (in_struct->pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*in_struct->pStencilInputAttachmentIndex); + } +} + +safe_VkRenderingInputAttachmentIndexInfo::safe_VkRenderingInputAttachmentIndexInfo() + : sType(VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO), + pNext(nullptr), + colorAttachmentCount(), + pColorAttachmentInputIndices(nullptr), + pDepthInputAttachmentIndex(nullptr), + pStencilInputAttachmentIndex(nullptr) {} + +safe_VkRenderingInputAttachmentIndexInfo::safe_VkRenderingInputAttachmentIndexInfo( + const safe_VkRenderingInputAttachmentIndexInfo& copy_src) { + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src.pColorAttachmentInputIndices, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } + + if (copy_src.pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*copy_src.pDepthInputAttachmentIndex); + } + + if (copy_src.pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*copy_src.pStencilInputAttachmentIndex); + } +} + +safe_VkRenderingInputAttachmentIndexInfo& safe_VkRenderingInputAttachmentIndexInfo::operator=( + const safe_VkRenderingInputAttachmentIndexInfo& copy_src) { + if (©_src == this) return *this; + + if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; + if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; + if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; + FreePnextChain(pNext); + + sType = copy_src.sType; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src.pColorAttachmentInputIndices, + sizeof(uint32_t) * copy_src.colorAttachmentCount); + } + + if (copy_src.pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*copy_src.pDepthInputAttachmentIndex); + } + + if (copy_src.pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*copy_src.pStencilInputAttachmentIndex); + } + + return *this; +} + +safe_VkRenderingInputAttachmentIndexInfo::~safe_VkRenderingInputAttachmentIndexInfo() { + if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; + if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; + if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; + FreePnextChain(pNext); +} + +void safe_VkRenderingInputAttachmentIndexInfo::initialize(const VkRenderingInputAttachmentIndexInfo* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pColorAttachmentInputIndices) delete[] pColorAttachmentInputIndices; + if (pDepthInputAttachmentIndex) delete pDepthInputAttachmentIndex; + if (pStencilInputAttachmentIndex) delete pStencilInputAttachmentIndex; + FreePnextChain(pNext); + sType = in_struct->sType; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)in_struct->pColorAttachmentInputIndices, + sizeof(uint32_t) * in_struct->colorAttachmentCount); + } + + if (in_struct->pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*in_struct->pDepthInputAttachmentIndex); + } + + if (in_struct->pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*in_struct->pStencilInputAttachmentIndex); + } +} + +void safe_VkRenderingInputAttachmentIndexInfo::initialize(const safe_VkRenderingInputAttachmentIndexInfo* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachmentInputIndices = nullptr; + pDepthInputAttachmentIndex = nullptr; + pStencilInputAttachmentIndex = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pColorAttachmentInputIndices) { + pColorAttachmentInputIndices = new uint32_t[copy_src->colorAttachmentCount]; + memcpy((void*)pColorAttachmentInputIndices, (void*)copy_src->pColorAttachmentInputIndices, + sizeof(uint32_t) * copy_src->colorAttachmentCount); + } + + if (copy_src->pDepthInputAttachmentIndex) { + pDepthInputAttachmentIndex = new uint32_t(*copy_src->pDepthInputAttachmentIndex); + } + + if (copy_src->pStencilInputAttachmentIndex) { + pStencilInputAttachmentIndex = new uint32_t(*copy_src->pStencilInputAttachmentIndex); + } +} + } // namespace vku // NOLINTEND
diff --git a/src/vulkan/vk_safe_struct_ext.cpp b/src/vulkan/vk_safe_struct_ext.cpp index 0e4ccd1..6752c28 100644 --- a/src/vulkan/vk_safe_struct_ext.cpp +++ b/src/vulkan/vk_safe_struct_ext.cpp
@@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -22,6 +22,165 @@ namespace vku { +safe_VkConditionalRenderingBeginInfo2EXT::safe_VkConditionalRenderingBeginInfo2EXT( + const VkConditionalRenderingBeginInfo2EXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags), + flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkConditionalRenderingBeginInfo2EXT::safe_VkConditionalRenderingBeginInfo2EXT() + : sType(VK_STRUCTURE_TYPE_CONDITIONAL_RENDERING_BEGIN_INFO_2_EXT), pNext(nullptr), addressRange(), addressFlags(), flags() {} + +safe_VkConditionalRenderingBeginInfo2EXT::safe_VkConditionalRenderingBeginInfo2EXT( + const safe_VkConditionalRenderingBeginInfo2EXT& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkConditionalRenderingBeginInfo2EXT& safe_VkConditionalRenderingBeginInfo2EXT::operator=( + const safe_VkConditionalRenderingBeginInfo2EXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkConditionalRenderingBeginInfo2EXT::~safe_VkConditionalRenderingBeginInfo2EXT() { FreePnextChain(pNext); } + +void safe_VkConditionalRenderingBeginInfo2EXT::initialize(const VkConditionalRenderingBeginInfo2EXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkConditionalRenderingBeginInfo2EXT::initialize(const safe_VkConditionalRenderingBeginInfo2EXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindTransformFeedbackBuffer2InfoEXT::safe_VkBindTransformFeedbackBuffer2InfoEXT( + const VkBindTransformFeedbackBuffer2InfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), addressRange(in_struct->addressRange), addressFlags(in_struct->addressFlags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBindTransformFeedbackBuffer2InfoEXT::safe_VkBindTransformFeedbackBuffer2InfoEXT() + : sType(VK_STRUCTURE_TYPE_BIND_TRANSFORM_FEEDBACK_BUFFER_2_INFO_EXT), pNext(nullptr), addressRange(), addressFlags() {} + +safe_VkBindTransformFeedbackBuffer2InfoEXT::safe_VkBindTransformFeedbackBuffer2InfoEXT( + const safe_VkBindTransformFeedbackBuffer2InfoEXT& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBindTransformFeedbackBuffer2InfoEXT& safe_VkBindTransformFeedbackBuffer2InfoEXT::operator=( + const safe_VkBindTransformFeedbackBuffer2InfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBindTransformFeedbackBuffer2InfoEXT::~safe_VkBindTransformFeedbackBuffer2InfoEXT() { FreePnextChain(pNext); } + +void safe_VkBindTransformFeedbackBuffer2InfoEXT::initialize(const VkBindTransformFeedbackBuffer2InfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBindTransformFeedbackBuffer2InfoEXT::initialize(const safe_VkBindTransformFeedbackBuffer2InfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAttachmentFeedbackLoopInfoEXT::safe_VkAttachmentFeedbackLoopInfoEXT(const VkAttachmentFeedbackLoopInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), feedbackLoopEnable(in_struct->feedbackLoopEnable) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAttachmentFeedbackLoopInfoEXT::safe_VkAttachmentFeedbackLoopInfoEXT() + : sType(VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT), pNext(nullptr), feedbackLoopEnable() {} + +safe_VkAttachmentFeedbackLoopInfoEXT::safe_VkAttachmentFeedbackLoopInfoEXT(const safe_VkAttachmentFeedbackLoopInfoEXT& copy_src) { + sType = copy_src.sType; + feedbackLoopEnable = copy_src.feedbackLoopEnable; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAttachmentFeedbackLoopInfoEXT& safe_VkAttachmentFeedbackLoopInfoEXT::operator=( + const safe_VkAttachmentFeedbackLoopInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + feedbackLoopEnable = copy_src.feedbackLoopEnable; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAttachmentFeedbackLoopInfoEXT::~safe_VkAttachmentFeedbackLoopInfoEXT() { FreePnextChain(pNext); } + +void safe_VkAttachmentFeedbackLoopInfoEXT::initialize(const VkAttachmentFeedbackLoopInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + feedbackLoopEnable = in_struct->feedbackLoopEnable; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAttachmentFeedbackLoopInfoEXT::initialize(const safe_VkAttachmentFeedbackLoopInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + feedbackLoopEnable = copy_src->feedbackLoopEnable; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkSetDescriptorBufferOffsetsInfoEXT::safe_VkSetDescriptorBufferOffsetsInfoEXT( const VkSetDescriptorBufferOffsetsInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -2345,6 +2504,1472 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkHostAddressRangeEXT::safe_VkHostAddressRangeEXT(const VkHostAddressRangeEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) + : address(in_struct->address), size(in_struct->size) {} + +safe_VkHostAddressRangeEXT::safe_VkHostAddressRangeEXT() : address(nullptr), size() {} + +safe_VkHostAddressRangeEXT::safe_VkHostAddressRangeEXT(const safe_VkHostAddressRangeEXT& copy_src) { + address = copy_src.address; + size = copy_src.size; +} + +safe_VkHostAddressRangeEXT& safe_VkHostAddressRangeEXT::operator=(const safe_VkHostAddressRangeEXT& copy_src) { + if (©_src == this) return *this; + + address = copy_src.address; + size = copy_src.size; + + return *this; +} + +safe_VkHostAddressRangeEXT::~safe_VkHostAddressRangeEXT() {} + +void safe_VkHostAddressRangeEXT::initialize(const VkHostAddressRangeEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + address = in_struct->address; + size = in_struct->size; +} + +void safe_VkHostAddressRangeEXT::initialize(const safe_VkHostAddressRangeEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + address = copy_src->address; + size = copy_src->size; +} + +safe_VkHostAddressRangeConstEXT::safe_VkHostAddressRangeConstEXT(const VkHostAddressRangeConstEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) + : address(in_struct->address), size(in_struct->size) {} + +safe_VkHostAddressRangeConstEXT::safe_VkHostAddressRangeConstEXT() : address(nullptr), size() {} + +safe_VkHostAddressRangeConstEXT::safe_VkHostAddressRangeConstEXT(const safe_VkHostAddressRangeConstEXT& copy_src) { + address = copy_src.address; + size = copy_src.size; +} + +safe_VkHostAddressRangeConstEXT& safe_VkHostAddressRangeConstEXT::operator=(const safe_VkHostAddressRangeConstEXT& copy_src) { + if (©_src == this) return *this; + + address = copy_src.address; + size = copy_src.size; + + return *this; +} + +safe_VkHostAddressRangeConstEXT::~safe_VkHostAddressRangeConstEXT() {} + +void safe_VkHostAddressRangeConstEXT::initialize(const VkHostAddressRangeConstEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + address = in_struct->address; + size = in_struct->size; +} + +void safe_VkHostAddressRangeConstEXT::initialize(const safe_VkHostAddressRangeConstEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + address = copy_src->address; + size = copy_src->size; +} + +safe_VkTexelBufferDescriptorInfoEXT::safe_VkTexelBufferDescriptorInfoEXT(const VkTexelBufferDescriptorInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), format(in_struct->format), addressRange(in_struct->addressRange) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTexelBufferDescriptorInfoEXT::safe_VkTexelBufferDescriptorInfoEXT() + : sType(VK_STRUCTURE_TYPE_TEXEL_BUFFER_DESCRIPTOR_INFO_EXT), pNext(nullptr), format(), addressRange() {} + +safe_VkTexelBufferDescriptorInfoEXT::safe_VkTexelBufferDescriptorInfoEXT(const safe_VkTexelBufferDescriptorInfoEXT& copy_src) { + sType = copy_src.sType; + format = copy_src.format; + addressRange = copy_src.addressRange; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTexelBufferDescriptorInfoEXT& safe_VkTexelBufferDescriptorInfoEXT::operator=( + const safe_VkTexelBufferDescriptorInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + format = copy_src.format; + addressRange = copy_src.addressRange; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTexelBufferDescriptorInfoEXT::~safe_VkTexelBufferDescriptorInfoEXT() { FreePnextChain(pNext); } + +void safe_VkTexelBufferDescriptorInfoEXT::initialize(const VkTexelBufferDescriptorInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + format = in_struct->format; + addressRange = in_struct->addressRange; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTexelBufferDescriptorInfoEXT::initialize(const safe_VkTexelBufferDescriptorInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + format = copy_src->format; + addressRange = copy_src->addressRange; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkImageDescriptorInfoEXT::safe_VkImageDescriptorInfoEXT(const VkImageDescriptorInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pView(nullptr), layout(in_struct->layout) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pView) pView = new safe_VkImageViewCreateInfo(in_struct->pView); +} + +safe_VkImageDescriptorInfoEXT::safe_VkImageDescriptorInfoEXT() + : sType(VK_STRUCTURE_TYPE_IMAGE_DESCRIPTOR_INFO_EXT), pNext(nullptr), pView(nullptr), layout() {} + +safe_VkImageDescriptorInfoEXT::safe_VkImageDescriptorInfoEXT(const safe_VkImageDescriptorInfoEXT& copy_src) { + sType = copy_src.sType; + pView = nullptr; + layout = copy_src.layout; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pView) pView = new safe_VkImageViewCreateInfo(*copy_src.pView); +} + +safe_VkImageDescriptorInfoEXT& safe_VkImageDescriptorInfoEXT::operator=(const safe_VkImageDescriptorInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pView) delete pView; + FreePnextChain(pNext); + + sType = copy_src.sType; + pView = nullptr; + layout = copy_src.layout; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pView) pView = new safe_VkImageViewCreateInfo(*copy_src.pView); + + return *this; +} + +safe_VkImageDescriptorInfoEXT::~safe_VkImageDescriptorInfoEXT() { + if (pView) delete pView; + FreePnextChain(pNext); +} + +void safe_VkImageDescriptorInfoEXT::initialize(const VkImageDescriptorInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pView) delete pView; + FreePnextChain(pNext); + sType = in_struct->sType; + pView = nullptr; + layout = in_struct->layout; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pView) pView = new safe_VkImageViewCreateInfo(in_struct->pView); +} + +void safe_VkImageDescriptorInfoEXT::initialize(const safe_VkImageDescriptorInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pView = nullptr; + layout = copy_src->layout; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pView) pView = new safe_VkImageViewCreateInfo(*copy_src->pView); +} + +safe_VkResourceDescriptorInfoEXT::safe_VkResourceDescriptorInfoEXT(const VkResourceDescriptorInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), type(in_struct->type), data(in_struct->data) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkResourceDescriptorInfoEXT::safe_VkResourceDescriptorInfoEXT() + : sType(VK_STRUCTURE_TYPE_RESOURCE_DESCRIPTOR_INFO_EXT), pNext(nullptr), type(), data() {} + +safe_VkResourceDescriptorInfoEXT::safe_VkResourceDescriptorInfoEXT(const safe_VkResourceDescriptorInfoEXT& copy_src) { + sType = copy_src.sType; + type = copy_src.type; + data = copy_src.data; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkResourceDescriptorInfoEXT& safe_VkResourceDescriptorInfoEXT::operator=(const safe_VkResourceDescriptorInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + type = copy_src.type; + data = copy_src.data; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkResourceDescriptorInfoEXT::~safe_VkResourceDescriptorInfoEXT() { FreePnextChain(pNext); } + +void safe_VkResourceDescriptorInfoEXT::initialize(const VkResourceDescriptorInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + type = in_struct->type; + data = in_struct->data; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkResourceDescriptorInfoEXT::initialize(const safe_VkResourceDescriptorInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + type = copy_src->type; + data = copy_src->data; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindHeapInfoEXT::safe_VkBindHeapInfoEXT(const VkBindHeapInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + heapRange(in_struct->heapRange), + reservedRangeOffset(in_struct->reservedRangeOffset), + reservedRangeSize(in_struct->reservedRangeSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBindHeapInfoEXT::safe_VkBindHeapInfoEXT() + : sType(VK_STRUCTURE_TYPE_BIND_HEAP_INFO_EXT), pNext(nullptr), heapRange(), reservedRangeOffset(), reservedRangeSize() {} + +safe_VkBindHeapInfoEXT::safe_VkBindHeapInfoEXT(const safe_VkBindHeapInfoEXT& copy_src) { + sType = copy_src.sType; + heapRange = copy_src.heapRange; + reservedRangeOffset = copy_src.reservedRangeOffset; + reservedRangeSize = copy_src.reservedRangeSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBindHeapInfoEXT& safe_VkBindHeapInfoEXT::operator=(const safe_VkBindHeapInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + heapRange = copy_src.heapRange; + reservedRangeOffset = copy_src.reservedRangeOffset; + reservedRangeSize = copy_src.reservedRangeSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBindHeapInfoEXT::~safe_VkBindHeapInfoEXT() { FreePnextChain(pNext); } + +void safe_VkBindHeapInfoEXT::initialize(const VkBindHeapInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + heapRange = in_struct->heapRange; + reservedRangeOffset = in_struct->reservedRangeOffset; + reservedRangeSize = in_struct->reservedRangeSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBindHeapInfoEXT::initialize(const safe_VkBindHeapInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + heapRange = copy_src->heapRange; + reservedRangeOffset = copy_src->reservedRangeOffset; + reservedRangeSize = copy_src->reservedRangeSize; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPushDataInfoEXT::safe_VkPushDataInfoEXT(const VkPushDataInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), offset(in_struct->offset), data(&in_struct->data) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPushDataInfoEXT::safe_VkPushDataInfoEXT() : sType(VK_STRUCTURE_TYPE_PUSH_DATA_INFO_EXT), pNext(nullptr), offset() {} + +safe_VkPushDataInfoEXT::safe_VkPushDataInfoEXT(const safe_VkPushDataInfoEXT& copy_src) { + sType = copy_src.sType; + offset = copy_src.offset; + data.initialize(©_src.data); + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPushDataInfoEXT& safe_VkPushDataInfoEXT::operator=(const safe_VkPushDataInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + offset = copy_src.offset; + data.initialize(©_src.data); + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPushDataInfoEXT::~safe_VkPushDataInfoEXT() { FreePnextChain(pNext); } + +void safe_VkPushDataInfoEXT::initialize(const VkPushDataInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + offset = in_struct->offset; + data.initialize(&in_struct->data); + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPushDataInfoEXT::initialize(const safe_VkPushDataInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + offset = copy_src->offset; + data.initialize(©_src->data); + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDescriptorMappingSourceConstantOffsetEXT::safe_VkDescriptorMappingSourceConstantOffsetEXT( + const VkDescriptorMappingSourceConstantOffsetEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) + : heapOffset(in_struct->heapOffset), + heapArrayStride(in_struct->heapArrayStride), + pEmbeddedSampler(nullptr), + samplerHeapOffset(in_struct->samplerHeapOffset), + samplerHeapArrayStride(in_struct->samplerHeapArrayStride) { + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceConstantOffsetEXT::safe_VkDescriptorMappingSourceConstantOffsetEXT() + : heapOffset(), heapArrayStride(), pEmbeddedSampler(nullptr), samplerHeapOffset(), samplerHeapArrayStride() {} + +safe_VkDescriptorMappingSourceConstantOffsetEXT::safe_VkDescriptorMappingSourceConstantOffsetEXT( + const safe_VkDescriptorMappingSourceConstantOffsetEXT& copy_src) { + heapOffset = copy_src.heapOffset; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceConstantOffsetEXT& safe_VkDescriptorMappingSourceConstantOffsetEXT::operator=( + const safe_VkDescriptorMappingSourceConstantOffsetEXT& copy_src) { + if (©_src == this) return *this; + + if (pEmbeddedSampler) delete pEmbeddedSampler; + + heapOffset = copy_src.heapOffset; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); + + return *this; +} + +safe_VkDescriptorMappingSourceConstantOffsetEXT::~safe_VkDescriptorMappingSourceConstantOffsetEXT() { + if (pEmbeddedSampler) delete pEmbeddedSampler; +} + +void safe_VkDescriptorMappingSourceConstantOffsetEXT::initialize(const VkDescriptorMappingSourceConstantOffsetEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pEmbeddedSampler) delete pEmbeddedSampler; + heapOffset = in_struct->heapOffset; + heapArrayStride = in_struct->heapArrayStride; + pEmbeddedSampler = nullptr; + samplerHeapOffset = in_struct->samplerHeapOffset; + samplerHeapArrayStride = in_struct->samplerHeapArrayStride; + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +void safe_VkDescriptorMappingSourceConstantOffsetEXT::initialize(const safe_VkDescriptorMappingSourceConstantOffsetEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + heapOffset = copy_src->heapOffset; + heapArrayStride = copy_src->heapArrayStride; + pEmbeddedSampler = nullptr; + samplerHeapOffset = copy_src->samplerHeapOffset; + samplerHeapArrayStride = copy_src->samplerHeapArrayStride; + if (copy_src->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourcePushIndexEXT::safe_VkDescriptorMappingSourcePushIndexEXT( + const VkDescriptorMappingSourcePushIndexEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) + : heapOffset(in_struct->heapOffset), + pushOffset(in_struct->pushOffset), + heapIndexStride(in_struct->heapIndexStride), + heapArrayStride(in_struct->heapArrayStride), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(in_struct->useCombinedImageSamplerIndex), + samplerHeapOffset(in_struct->samplerHeapOffset), + samplerPushOffset(in_struct->samplerPushOffset), + samplerHeapIndexStride(in_struct->samplerHeapIndexStride), + samplerHeapArrayStride(in_struct->samplerHeapArrayStride) { + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourcePushIndexEXT::safe_VkDescriptorMappingSourcePushIndexEXT() + : heapOffset(), + pushOffset(), + heapIndexStride(), + heapArrayStride(), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(), + samplerHeapOffset(), + samplerPushOffset(), + samplerHeapIndexStride(), + samplerHeapArrayStride() {} + +safe_VkDescriptorMappingSourcePushIndexEXT::safe_VkDescriptorMappingSourcePushIndexEXT( + const safe_VkDescriptorMappingSourcePushIndexEXT& copy_src) { + heapOffset = copy_src.heapOffset; + pushOffset = copy_src.pushOffset; + heapIndexStride = copy_src.heapIndexStride; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerPushOffset = copy_src.samplerPushOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourcePushIndexEXT& safe_VkDescriptorMappingSourcePushIndexEXT::operator=( + const safe_VkDescriptorMappingSourcePushIndexEXT& copy_src) { + if (©_src == this) return *this; + + if (pEmbeddedSampler) delete pEmbeddedSampler; + + heapOffset = copy_src.heapOffset; + pushOffset = copy_src.pushOffset; + heapIndexStride = copy_src.heapIndexStride; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerPushOffset = copy_src.samplerPushOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); + + return *this; +} + +safe_VkDescriptorMappingSourcePushIndexEXT::~safe_VkDescriptorMappingSourcePushIndexEXT() { + if (pEmbeddedSampler) delete pEmbeddedSampler; +} + +void safe_VkDescriptorMappingSourcePushIndexEXT::initialize(const VkDescriptorMappingSourcePushIndexEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pEmbeddedSampler) delete pEmbeddedSampler; + heapOffset = in_struct->heapOffset; + pushOffset = in_struct->pushOffset; + heapIndexStride = in_struct->heapIndexStride; + heapArrayStride = in_struct->heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = in_struct->useCombinedImageSamplerIndex; + samplerHeapOffset = in_struct->samplerHeapOffset; + samplerPushOffset = in_struct->samplerPushOffset; + samplerHeapIndexStride = in_struct->samplerHeapIndexStride; + samplerHeapArrayStride = in_struct->samplerHeapArrayStride; + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +void safe_VkDescriptorMappingSourcePushIndexEXT::initialize(const safe_VkDescriptorMappingSourcePushIndexEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + heapOffset = copy_src->heapOffset; + pushOffset = copy_src->pushOffset; + heapIndexStride = copy_src->heapIndexStride; + heapArrayStride = copy_src->heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src->useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src->samplerHeapOffset; + samplerPushOffset = copy_src->samplerPushOffset; + samplerHeapIndexStride = copy_src->samplerHeapIndexStride; + samplerHeapArrayStride = copy_src->samplerHeapArrayStride; + if (copy_src->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceIndirectIndexEXT::safe_VkDescriptorMappingSourceIndirectIndexEXT( + const VkDescriptorMappingSourceIndirectIndexEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) + : heapOffset(in_struct->heapOffset), + pushOffset(in_struct->pushOffset), + addressOffset(in_struct->addressOffset), + heapIndexStride(in_struct->heapIndexStride), + heapArrayStride(in_struct->heapArrayStride), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(in_struct->useCombinedImageSamplerIndex), + samplerHeapOffset(in_struct->samplerHeapOffset), + samplerPushOffset(in_struct->samplerPushOffset), + samplerAddressOffset(in_struct->samplerAddressOffset), + samplerHeapIndexStride(in_struct->samplerHeapIndexStride), + samplerHeapArrayStride(in_struct->samplerHeapArrayStride) { + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceIndirectIndexEXT::safe_VkDescriptorMappingSourceIndirectIndexEXT() + : heapOffset(), + pushOffset(), + addressOffset(), + heapIndexStride(), + heapArrayStride(), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(), + samplerHeapOffset(), + samplerPushOffset(), + samplerAddressOffset(), + samplerHeapIndexStride(), + samplerHeapArrayStride() {} + +safe_VkDescriptorMappingSourceIndirectIndexEXT::safe_VkDescriptorMappingSourceIndirectIndexEXT( + const safe_VkDescriptorMappingSourceIndirectIndexEXT& copy_src) { + heapOffset = copy_src.heapOffset; + pushOffset = copy_src.pushOffset; + addressOffset = copy_src.addressOffset; + heapIndexStride = copy_src.heapIndexStride; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerPushOffset = copy_src.samplerPushOffset; + samplerAddressOffset = copy_src.samplerAddressOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceIndirectIndexEXT& safe_VkDescriptorMappingSourceIndirectIndexEXT::operator=( + const safe_VkDescriptorMappingSourceIndirectIndexEXT& copy_src) { + if (©_src == this) return *this; + + if (pEmbeddedSampler) delete pEmbeddedSampler; + + heapOffset = copy_src.heapOffset; + pushOffset = copy_src.pushOffset; + addressOffset = copy_src.addressOffset; + heapIndexStride = copy_src.heapIndexStride; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerPushOffset = copy_src.samplerPushOffset; + samplerAddressOffset = copy_src.samplerAddressOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); + + return *this; +} + +safe_VkDescriptorMappingSourceIndirectIndexEXT::~safe_VkDescriptorMappingSourceIndirectIndexEXT() { + if (pEmbeddedSampler) delete pEmbeddedSampler; +} + +void safe_VkDescriptorMappingSourceIndirectIndexEXT::initialize(const VkDescriptorMappingSourceIndirectIndexEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pEmbeddedSampler) delete pEmbeddedSampler; + heapOffset = in_struct->heapOffset; + pushOffset = in_struct->pushOffset; + addressOffset = in_struct->addressOffset; + heapIndexStride = in_struct->heapIndexStride; + heapArrayStride = in_struct->heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = in_struct->useCombinedImageSamplerIndex; + samplerHeapOffset = in_struct->samplerHeapOffset; + samplerPushOffset = in_struct->samplerPushOffset; + samplerAddressOffset = in_struct->samplerAddressOffset; + samplerHeapIndexStride = in_struct->samplerHeapIndexStride; + samplerHeapArrayStride = in_struct->samplerHeapArrayStride; + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +void safe_VkDescriptorMappingSourceIndirectIndexEXT::initialize(const safe_VkDescriptorMappingSourceIndirectIndexEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + heapOffset = copy_src->heapOffset; + pushOffset = copy_src->pushOffset; + addressOffset = copy_src->addressOffset; + heapIndexStride = copy_src->heapIndexStride; + heapArrayStride = copy_src->heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src->useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src->samplerHeapOffset; + samplerPushOffset = copy_src->samplerPushOffset; + samplerAddressOffset = copy_src->samplerAddressOffset; + samplerHeapIndexStride = copy_src->samplerHeapIndexStride; + samplerHeapArrayStride = copy_src->samplerHeapArrayStride; + if (copy_src->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceShaderRecordIndexEXT::safe_VkDescriptorMappingSourceShaderRecordIndexEXT( + const VkDescriptorMappingSourceShaderRecordIndexEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) + : heapOffset(in_struct->heapOffset), + shaderRecordOffset(in_struct->shaderRecordOffset), + heapIndexStride(in_struct->heapIndexStride), + heapArrayStride(in_struct->heapArrayStride), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(in_struct->useCombinedImageSamplerIndex), + samplerHeapOffset(in_struct->samplerHeapOffset), + samplerShaderRecordOffset(in_struct->samplerShaderRecordOffset), + samplerHeapIndexStride(in_struct->samplerHeapIndexStride), + samplerHeapArrayStride(in_struct->samplerHeapArrayStride) { + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceShaderRecordIndexEXT::safe_VkDescriptorMappingSourceShaderRecordIndexEXT() + : heapOffset(), + shaderRecordOffset(), + heapIndexStride(), + heapArrayStride(), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(), + samplerHeapOffset(), + samplerShaderRecordOffset(), + samplerHeapIndexStride(), + samplerHeapArrayStride() {} + +safe_VkDescriptorMappingSourceShaderRecordIndexEXT::safe_VkDescriptorMappingSourceShaderRecordIndexEXT( + const safe_VkDescriptorMappingSourceShaderRecordIndexEXT& copy_src) { + heapOffset = copy_src.heapOffset; + shaderRecordOffset = copy_src.shaderRecordOffset; + heapIndexStride = copy_src.heapIndexStride; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerShaderRecordOffset = copy_src.samplerShaderRecordOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceShaderRecordIndexEXT& safe_VkDescriptorMappingSourceShaderRecordIndexEXT::operator=( + const safe_VkDescriptorMappingSourceShaderRecordIndexEXT& copy_src) { + if (©_src == this) return *this; + + if (pEmbeddedSampler) delete pEmbeddedSampler; + + heapOffset = copy_src.heapOffset; + shaderRecordOffset = copy_src.shaderRecordOffset; + heapIndexStride = copy_src.heapIndexStride; + heapArrayStride = copy_src.heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerShaderRecordOffset = copy_src.samplerShaderRecordOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + samplerHeapArrayStride = copy_src.samplerHeapArrayStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); + + return *this; +} + +safe_VkDescriptorMappingSourceShaderRecordIndexEXT::~safe_VkDescriptorMappingSourceShaderRecordIndexEXT() { + if (pEmbeddedSampler) delete pEmbeddedSampler; +} + +void safe_VkDescriptorMappingSourceShaderRecordIndexEXT::initialize(const VkDescriptorMappingSourceShaderRecordIndexEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pEmbeddedSampler) delete pEmbeddedSampler; + heapOffset = in_struct->heapOffset; + shaderRecordOffset = in_struct->shaderRecordOffset; + heapIndexStride = in_struct->heapIndexStride; + heapArrayStride = in_struct->heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = in_struct->useCombinedImageSamplerIndex; + samplerHeapOffset = in_struct->samplerHeapOffset; + samplerShaderRecordOffset = in_struct->samplerShaderRecordOffset; + samplerHeapIndexStride = in_struct->samplerHeapIndexStride; + samplerHeapArrayStride = in_struct->samplerHeapArrayStride; + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +void safe_VkDescriptorMappingSourceShaderRecordIndexEXT::initialize( + const safe_VkDescriptorMappingSourceShaderRecordIndexEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + heapOffset = copy_src->heapOffset; + shaderRecordOffset = copy_src->shaderRecordOffset; + heapIndexStride = copy_src->heapIndexStride; + heapArrayStride = copy_src->heapArrayStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src->useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src->samplerHeapOffset; + samplerShaderRecordOffset = copy_src->samplerShaderRecordOffset; + samplerHeapIndexStride = copy_src->samplerHeapIndexStride; + samplerHeapArrayStride = copy_src->samplerHeapArrayStride; + if (copy_src->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::safe_VkDescriptorMappingSourceIndirectIndexArrayEXT( + const VkDescriptorMappingSourceIndirectIndexArrayEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) + : heapOffset(in_struct->heapOffset), + pushOffset(in_struct->pushOffset), + addressOffset(in_struct->addressOffset), + heapIndexStride(in_struct->heapIndexStride), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(in_struct->useCombinedImageSamplerIndex), + samplerHeapOffset(in_struct->samplerHeapOffset), + samplerPushOffset(in_struct->samplerPushOffset), + samplerAddressOffset(in_struct->samplerAddressOffset), + samplerHeapIndexStride(in_struct->samplerHeapIndexStride) { + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::safe_VkDescriptorMappingSourceIndirectIndexArrayEXT() + : heapOffset(), + pushOffset(), + addressOffset(), + heapIndexStride(), + pEmbeddedSampler(nullptr), + useCombinedImageSamplerIndex(), + samplerHeapOffset(), + samplerPushOffset(), + samplerAddressOffset(), + samplerHeapIndexStride() {} + +safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::safe_VkDescriptorMappingSourceIndirectIndexArrayEXT( + const safe_VkDescriptorMappingSourceIndirectIndexArrayEXT& copy_src) { + heapOffset = copy_src.heapOffset; + pushOffset = copy_src.pushOffset; + addressOffset = copy_src.addressOffset; + heapIndexStride = copy_src.heapIndexStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerPushOffset = copy_src.samplerPushOffset; + samplerAddressOffset = copy_src.samplerAddressOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); +} + +safe_VkDescriptorMappingSourceIndirectIndexArrayEXT& safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::operator=( + const safe_VkDescriptorMappingSourceIndirectIndexArrayEXT& copy_src) { + if (©_src == this) return *this; + + if (pEmbeddedSampler) delete pEmbeddedSampler; + + heapOffset = copy_src.heapOffset; + pushOffset = copy_src.pushOffset; + addressOffset = copy_src.addressOffset; + heapIndexStride = copy_src.heapIndexStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src.useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src.samplerHeapOffset; + samplerPushOffset = copy_src.samplerPushOffset; + samplerAddressOffset = copy_src.samplerAddressOffset; + samplerHeapIndexStride = copy_src.samplerHeapIndexStride; + if (copy_src.pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src.pEmbeddedSampler); + + return *this; +} + +safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::~safe_VkDescriptorMappingSourceIndirectIndexArrayEXT() { + if (pEmbeddedSampler) delete pEmbeddedSampler; +} + +void safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::initialize( + const VkDescriptorMappingSourceIndirectIndexArrayEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pEmbeddedSampler) delete pEmbeddedSampler; + heapOffset = in_struct->heapOffset; + pushOffset = in_struct->pushOffset; + addressOffset = in_struct->addressOffset; + heapIndexStride = in_struct->heapIndexStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = in_struct->useCombinedImageSamplerIndex; + samplerHeapOffset = in_struct->samplerHeapOffset; + samplerPushOffset = in_struct->samplerPushOffset; + samplerAddressOffset = in_struct->samplerAddressOffset; + samplerHeapIndexStride = in_struct->samplerHeapIndexStride; + if (in_struct->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(in_struct->pEmbeddedSampler); +} + +void safe_VkDescriptorMappingSourceIndirectIndexArrayEXT::initialize( + const safe_VkDescriptorMappingSourceIndirectIndexArrayEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + heapOffset = copy_src->heapOffset; + pushOffset = copy_src->pushOffset; + addressOffset = copy_src->addressOffset; + heapIndexStride = copy_src->heapIndexStride; + pEmbeddedSampler = nullptr; + useCombinedImageSamplerIndex = copy_src->useCombinedImageSamplerIndex; + samplerHeapOffset = copy_src->samplerHeapOffset; + samplerPushOffset = copy_src->samplerPushOffset; + samplerAddressOffset = copy_src->samplerAddressOffset; + samplerHeapIndexStride = copy_src->samplerHeapIndexStride; + if (copy_src->pEmbeddedSampler) pEmbeddedSampler = new safe_VkSamplerCreateInfo(*copy_src->pEmbeddedSampler); +} + +safe_VkDescriptorSetAndBindingMappingEXT::safe_VkDescriptorSetAndBindingMappingEXT( + const VkDescriptorSetAndBindingMappingEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + descriptorSet(in_struct->descriptorSet), + firstBinding(in_struct->firstBinding), + bindingCount(in_struct->bindingCount), + resourceMask(in_struct->resourceMask), + source(in_struct->source), + sourceData(in_struct->sourceData) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDescriptorSetAndBindingMappingEXT::safe_VkDescriptorSetAndBindingMappingEXT() + : sType(VK_STRUCTURE_TYPE_DESCRIPTOR_SET_AND_BINDING_MAPPING_EXT), + pNext(nullptr), + descriptorSet(), + firstBinding(), + bindingCount(), + resourceMask(), + source(), + sourceData() {} + +safe_VkDescriptorSetAndBindingMappingEXT::safe_VkDescriptorSetAndBindingMappingEXT( + const safe_VkDescriptorSetAndBindingMappingEXT& copy_src) { + sType = copy_src.sType; + descriptorSet = copy_src.descriptorSet; + firstBinding = copy_src.firstBinding; + bindingCount = copy_src.bindingCount; + resourceMask = copy_src.resourceMask; + source = copy_src.source; + sourceData = copy_src.sourceData; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDescriptorSetAndBindingMappingEXT& safe_VkDescriptorSetAndBindingMappingEXT::operator=( + const safe_VkDescriptorSetAndBindingMappingEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + descriptorSet = copy_src.descriptorSet; + firstBinding = copy_src.firstBinding; + bindingCount = copy_src.bindingCount; + resourceMask = copy_src.resourceMask; + source = copy_src.source; + sourceData = copy_src.sourceData; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDescriptorSetAndBindingMappingEXT::~safe_VkDescriptorSetAndBindingMappingEXT() { FreePnextChain(pNext); } + +void safe_VkDescriptorSetAndBindingMappingEXT::initialize(const VkDescriptorSetAndBindingMappingEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + descriptorSet = in_struct->descriptorSet; + firstBinding = in_struct->firstBinding; + bindingCount = in_struct->bindingCount; + resourceMask = in_struct->resourceMask; + source = in_struct->source; + sourceData = in_struct->sourceData; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDescriptorSetAndBindingMappingEXT::initialize(const safe_VkDescriptorSetAndBindingMappingEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + descriptorSet = copy_src->descriptorSet; + firstBinding = copy_src->firstBinding; + bindingCount = copy_src->bindingCount; + resourceMask = copy_src->resourceMask; + source = copy_src->source; + sourceData = copy_src->sourceData; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::safe_VkShaderDescriptorSetAndBindingMappingInfoEXT( + const VkShaderDescriptorSetAndBindingMappingInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), mappingCount(in_struct->mappingCount), pMappings(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (mappingCount && in_struct->pMappings) { + pMappings = new safe_VkDescriptorSetAndBindingMappingEXT[mappingCount]; + for (uint32_t i = 0; i < mappingCount; ++i) { + pMappings[i].initialize(&in_struct->pMappings[i]); + } + } +} + +safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::safe_VkShaderDescriptorSetAndBindingMappingInfoEXT() + : sType(VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT), + pNext(nullptr), + mappingCount(), + pMappings(nullptr) {} + +safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::safe_VkShaderDescriptorSetAndBindingMappingInfoEXT( + const safe_VkShaderDescriptorSetAndBindingMappingInfoEXT& copy_src) { + sType = copy_src.sType; + mappingCount = copy_src.mappingCount; + pMappings = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (mappingCount && copy_src.pMappings) { + pMappings = new safe_VkDescriptorSetAndBindingMappingEXT[mappingCount]; + for (uint32_t i = 0; i < mappingCount; ++i) { + pMappings[i].initialize(©_src.pMappings[i]); + } + } +} + +safe_VkShaderDescriptorSetAndBindingMappingInfoEXT& safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::operator=( + const safe_VkShaderDescriptorSetAndBindingMappingInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pMappings) delete[] pMappings; + FreePnextChain(pNext); + + sType = copy_src.sType; + mappingCount = copy_src.mappingCount; + pMappings = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (mappingCount && copy_src.pMappings) { + pMappings = new safe_VkDescriptorSetAndBindingMappingEXT[mappingCount]; + for (uint32_t i = 0; i < mappingCount; ++i) { + pMappings[i].initialize(©_src.pMappings[i]); + } + } + + return *this; +} + +safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::~safe_VkShaderDescriptorSetAndBindingMappingInfoEXT() { + if (pMappings) delete[] pMappings; + FreePnextChain(pNext); +} + +void safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::initialize(const VkShaderDescriptorSetAndBindingMappingInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pMappings) delete[] pMappings; + FreePnextChain(pNext); + sType = in_struct->sType; + mappingCount = in_struct->mappingCount; + pMappings = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (mappingCount && in_struct->pMappings) { + pMappings = new safe_VkDescriptorSetAndBindingMappingEXT[mappingCount]; + for (uint32_t i = 0; i < mappingCount; ++i) { + pMappings[i].initialize(&in_struct->pMappings[i]); + } + } +} + +void safe_VkShaderDescriptorSetAndBindingMappingInfoEXT::initialize( + const safe_VkShaderDescriptorSetAndBindingMappingInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + mappingCount = copy_src->mappingCount; + pMappings = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (mappingCount && copy_src->pMappings) { + pMappings = new safe_VkDescriptorSetAndBindingMappingEXT[mappingCount]; + for (uint32_t i = 0; i < mappingCount; ++i) { + pMappings[i].initialize(©_src->pMappings[i]); + } + } +} + +safe_VkOpaqueCaptureDataCreateInfoEXT::safe_VkOpaqueCaptureDataCreateInfoEXT(const VkOpaqueCaptureDataCreateInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), pData(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pData) pData = new safe_VkHostAddressRangeConstEXT(in_struct->pData); +} + +safe_VkOpaqueCaptureDataCreateInfoEXT::safe_VkOpaqueCaptureDataCreateInfoEXT() + : sType(VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT), pNext(nullptr), pData(nullptr) {} + +safe_VkOpaqueCaptureDataCreateInfoEXT::safe_VkOpaqueCaptureDataCreateInfoEXT( + const safe_VkOpaqueCaptureDataCreateInfoEXT& copy_src) { + sType = copy_src.sType; + pData = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pData) pData = new safe_VkHostAddressRangeConstEXT(*copy_src.pData); +} + +safe_VkOpaqueCaptureDataCreateInfoEXT& safe_VkOpaqueCaptureDataCreateInfoEXT::operator=( + const safe_VkOpaqueCaptureDataCreateInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pData) delete pData; + FreePnextChain(pNext); + + sType = copy_src.sType; + pData = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pData) pData = new safe_VkHostAddressRangeConstEXT(*copy_src.pData); + + return *this; +} + +safe_VkOpaqueCaptureDataCreateInfoEXT::~safe_VkOpaqueCaptureDataCreateInfoEXT() { + if (pData) delete pData; + FreePnextChain(pNext); +} + +void safe_VkOpaqueCaptureDataCreateInfoEXT::initialize(const VkOpaqueCaptureDataCreateInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pData) delete pData; + FreePnextChain(pNext); + sType = in_struct->sType; + pData = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pData) pData = new safe_VkHostAddressRangeConstEXT(in_struct->pData); +} + +void safe_VkOpaqueCaptureDataCreateInfoEXT::initialize(const safe_VkOpaqueCaptureDataCreateInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pData = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pData) pData = new safe_VkHostAddressRangeConstEXT(*copy_src->pData); +} + +safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT( + const VkPhysicalDeviceDescriptorHeapFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + descriptorHeap(in_struct->descriptorHeap), + descriptorHeapCaptureReplay(in_struct->descriptorHeapCaptureReplay) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT), + pNext(nullptr), + descriptorHeap(), + descriptorHeapCaptureReplay() {} + +safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT( + const safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT& copy_src) { + sType = copy_src.sType; + descriptorHeap = copy_src.descriptorHeap; + descriptorHeapCaptureReplay = copy_src.descriptorHeapCaptureReplay; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT& safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::operator=( + const safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + descriptorHeap = copy_src.descriptorHeap; + descriptorHeapCaptureReplay = copy_src.descriptorHeapCaptureReplay; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::~safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::initialize(const VkPhysicalDeviceDescriptorHeapFeaturesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + descriptorHeap = in_struct->descriptorHeap; + descriptorHeapCaptureReplay = in_struct->descriptorHeapCaptureReplay; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT::initialize(const safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + descriptorHeap = copy_src->descriptorHeap; + descriptorHeapCaptureReplay = copy_src->descriptorHeapCaptureReplay; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT( + const VkPhysicalDeviceDescriptorHeapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + samplerHeapAlignment(in_struct->samplerHeapAlignment), + resourceHeapAlignment(in_struct->resourceHeapAlignment), + maxSamplerHeapSize(in_struct->maxSamplerHeapSize), + maxResourceHeapSize(in_struct->maxResourceHeapSize), + minSamplerHeapReservedRange(in_struct->minSamplerHeapReservedRange), + minSamplerHeapReservedRangeWithEmbedded(in_struct->minSamplerHeapReservedRangeWithEmbedded), + minResourceHeapReservedRange(in_struct->minResourceHeapReservedRange), + samplerDescriptorSize(in_struct->samplerDescriptorSize), + imageDescriptorSize(in_struct->imageDescriptorSize), + bufferDescriptorSize(in_struct->bufferDescriptorSize), + samplerDescriptorAlignment(in_struct->samplerDescriptorAlignment), + imageDescriptorAlignment(in_struct->imageDescriptorAlignment), + bufferDescriptorAlignment(in_struct->bufferDescriptorAlignment), + maxPushDataSize(in_struct->maxPushDataSize), + imageCaptureReplayOpaqueDataSize(in_struct->imageCaptureReplayOpaqueDataSize), + maxDescriptorHeapEmbeddedSamplers(in_struct->maxDescriptorHeapEmbeddedSamplers), + samplerYcbcrConversionCount(in_struct->samplerYcbcrConversionCount), + sparseDescriptorHeaps(in_struct->sparseDescriptorHeaps), + protectedDescriptorHeaps(in_struct->protectedDescriptorHeaps) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT), + pNext(nullptr), + samplerHeapAlignment(), + resourceHeapAlignment(), + maxSamplerHeapSize(), + maxResourceHeapSize(), + minSamplerHeapReservedRange(), + minSamplerHeapReservedRangeWithEmbedded(), + minResourceHeapReservedRange(), + samplerDescriptorSize(), + imageDescriptorSize(), + bufferDescriptorSize(), + samplerDescriptorAlignment(), + imageDescriptorAlignment(), + bufferDescriptorAlignment(), + maxPushDataSize(), + imageCaptureReplayOpaqueDataSize(), + maxDescriptorHeapEmbeddedSamplers(), + samplerYcbcrConversionCount(), + sparseDescriptorHeaps(), + protectedDescriptorHeaps() {} + +safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT( + const safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT& copy_src) { + sType = copy_src.sType; + samplerHeapAlignment = copy_src.samplerHeapAlignment; + resourceHeapAlignment = copy_src.resourceHeapAlignment; + maxSamplerHeapSize = copy_src.maxSamplerHeapSize; + maxResourceHeapSize = copy_src.maxResourceHeapSize; + minSamplerHeapReservedRange = copy_src.minSamplerHeapReservedRange; + minSamplerHeapReservedRangeWithEmbedded = copy_src.minSamplerHeapReservedRangeWithEmbedded; + minResourceHeapReservedRange = copy_src.minResourceHeapReservedRange; + samplerDescriptorSize = copy_src.samplerDescriptorSize; + imageDescriptorSize = copy_src.imageDescriptorSize; + bufferDescriptorSize = copy_src.bufferDescriptorSize; + samplerDescriptorAlignment = copy_src.samplerDescriptorAlignment; + imageDescriptorAlignment = copy_src.imageDescriptorAlignment; + bufferDescriptorAlignment = copy_src.bufferDescriptorAlignment; + maxPushDataSize = copy_src.maxPushDataSize; + imageCaptureReplayOpaqueDataSize = copy_src.imageCaptureReplayOpaqueDataSize; + maxDescriptorHeapEmbeddedSamplers = copy_src.maxDescriptorHeapEmbeddedSamplers; + samplerYcbcrConversionCount = copy_src.samplerYcbcrConversionCount; + sparseDescriptorHeaps = copy_src.sparseDescriptorHeaps; + protectedDescriptorHeaps = copy_src.protectedDescriptorHeaps; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT& safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::operator=( + const safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + samplerHeapAlignment = copy_src.samplerHeapAlignment; + resourceHeapAlignment = copy_src.resourceHeapAlignment; + maxSamplerHeapSize = copy_src.maxSamplerHeapSize; + maxResourceHeapSize = copy_src.maxResourceHeapSize; + minSamplerHeapReservedRange = copy_src.minSamplerHeapReservedRange; + minSamplerHeapReservedRangeWithEmbedded = copy_src.minSamplerHeapReservedRangeWithEmbedded; + minResourceHeapReservedRange = copy_src.minResourceHeapReservedRange; + samplerDescriptorSize = copy_src.samplerDescriptorSize; + imageDescriptorSize = copy_src.imageDescriptorSize; + bufferDescriptorSize = copy_src.bufferDescriptorSize; + samplerDescriptorAlignment = copy_src.samplerDescriptorAlignment; + imageDescriptorAlignment = copy_src.imageDescriptorAlignment; + bufferDescriptorAlignment = copy_src.bufferDescriptorAlignment; + maxPushDataSize = copy_src.maxPushDataSize; + imageCaptureReplayOpaqueDataSize = copy_src.imageCaptureReplayOpaqueDataSize; + maxDescriptorHeapEmbeddedSamplers = copy_src.maxDescriptorHeapEmbeddedSamplers; + samplerYcbcrConversionCount = copy_src.samplerYcbcrConversionCount; + sparseDescriptorHeaps = copy_src.sparseDescriptorHeaps; + protectedDescriptorHeaps = copy_src.protectedDescriptorHeaps; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::~safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::initialize(const VkPhysicalDeviceDescriptorHeapPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + samplerHeapAlignment = in_struct->samplerHeapAlignment; + resourceHeapAlignment = in_struct->resourceHeapAlignment; + maxSamplerHeapSize = in_struct->maxSamplerHeapSize; + maxResourceHeapSize = in_struct->maxResourceHeapSize; + minSamplerHeapReservedRange = in_struct->minSamplerHeapReservedRange; + minSamplerHeapReservedRangeWithEmbedded = in_struct->minSamplerHeapReservedRangeWithEmbedded; + minResourceHeapReservedRange = in_struct->minResourceHeapReservedRange; + samplerDescriptorSize = in_struct->samplerDescriptorSize; + imageDescriptorSize = in_struct->imageDescriptorSize; + bufferDescriptorSize = in_struct->bufferDescriptorSize; + samplerDescriptorAlignment = in_struct->samplerDescriptorAlignment; + imageDescriptorAlignment = in_struct->imageDescriptorAlignment; + bufferDescriptorAlignment = in_struct->bufferDescriptorAlignment; + maxPushDataSize = in_struct->maxPushDataSize; + imageCaptureReplayOpaqueDataSize = in_struct->imageCaptureReplayOpaqueDataSize; + maxDescriptorHeapEmbeddedSamplers = in_struct->maxDescriptorHeapEmbeddedSamplers; + samplerYcbcrConversionCount = in_struct->samplerYcbcrConversionCount; + sparseDescriptorHeaps = in_struct->sparseDescriptorHeaps; + protectedDescriptorHeaps = in_struct->protectedDescriptorHeaps; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT::initialize(const safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + samplerHeapAlignment = copy_src->samplerHeapAlignment; + resourceHeapAlignment = copy_src->resourceHeapAlignment; + maxSamplerHeapSize = copy_src->maxSamplerHeapSize; + maxResourceHeapSize = copy_src->maxResourceHeapSize; + minSamplerHeapReservedRange = copy_src->minSamplerHeapReservedRange; + minSamplerHeapReservedRangeWithEmbedded = copy_src->minSamplerHeapReservedRangeWithEmbedded; + minResourceHeapReservedRange = copy_src->minResourceHeapReservedRange; + samplerDescriptorSize = copy_src->samplerDescriptorSize; + imageDescriptorSize = copy_src->imageDescriptorSize; + bufferDescriptorSize = copy_src->bufferDescriptorSize; + samplerDescriptorAlignment = copy_src->samplerDescriptorAlignment; + imageDescriptorAlignment = copy_src->imageDescriptorAlignment; + bufferDescriptorAlignment = copy_src->bufferDescriptorAlignment; + maxPushDataSize = copy_src->maxPushDataSize; + imageCaptureReplayOpaqueDataSize = copy_src->imageCaptureReplayOpaqueDataSize; + maxDescriptorHeapEmbeddedSamplers = copy_src->maxDescriptorHeapEmbeddedSamplers; + samplerYcbcrConversionCount = copy_src->samplerYcbcrConversionCount; + sparseDescriptorHeaps = copy_src->sparseDescriptorHeaps; + protectedDescriptorHeaps = copy_src->protectedDescriptorHeaps; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT( + const VkCommandBufferInheritanceDescriptorHeapInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pSamplerHeapBindInfo(nullptr), pResourceHeapBindInfo(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pSamplerHeapBindInfo) pSamplerHeapBindInfo = new safe_VkBindHeapInfoEXT(in_struct->pSamplerHeapBindInfo); + if (in_struct->pResourceHeapBindInfo) pResourceHeapBindInfo = new safe_VkBindHeapInfoEXT(in_struct->pResourceHeapBindInfo); +} + +safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT() + : sType(VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT), + pNext(nullptr), + pSamplerHeapBindInfo(nullptr), + pResourceHeapBindInfo(nullptr) {} + +safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT( + const safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT& copy_src) { + sType = copy_src.sType; + pSamplerHeapBindInfo = nullptr; + pResourceHeapBindInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pSamplerHeapBindInfo) pSamplerHeapBindInfo = new safe_VkBindHeapInfoEXT(*copy_src.pSamplerHeapBindInfo); + if (copy_src.pResourceHeapBindInfo) pResourceHeapBindInfo = new safe_VkBindHeapInfoEXT(*copy_src.pResourceHeapBindInfo); +} + +safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT& safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::operator=( + const safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pSamplerHeapBindInfo) delete pSamplerHeapBindInfo; + if (pResourceHeapBindInfo) delete pResourceHeapBindInfo; + FreePnextChain(pNext); + + sType = copy_src.sType; + pSamplerHeapBindInfo = nullptr; + pResourceHeapBindInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pSamplerHeapBindInfo) pSamplerHeapBindInfo = new safe_VkBindHeapInfoEXT(*copy_src.pSamplerHeapBindInfo); + if (copy_src.pResourceHeapBindInfo) pResourceHeapBindInfo = new safe_VkBindHeapInfoEXT(*copy_src.pResourceHeapBindInfo); + + return *this; +} + +safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::~safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT() { + if (pSamplerHeapBindInfo) delete pSamplerHeapBindInfo; + if (pResourceHeapBindInfo) delete pResourceHeapBindInfo; + FreePnextChain(pNext); +} + +void safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::initialize( + const VkCommandBufferInheritanceDescriptorHeapInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pSamplerHeapBindInfo) delete pSamplerHeapBindInfo; + if (pResourceHeapBindInfo) delete pResourceHeapBindInfo; + FreePnextChain(pNext); + sType = in_struct->sType; + pSamplerHeapBindInfo = nullptr; + pResourceHeapBindInfo = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pSamplerHeapBindInfo) pSamplerHeapBindInfo = new safe_VkBindHeapInfoEXT(in_struct->pSamplerHeapBindInfo); + if (in_struct->pResourceHeapBindInfo) pResourceHeapBindInfo = new safe_VkBindHeapInfoEXT(in_struct->pResourceHeapBindInfo); +} + +void safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT::initialize( + const safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pSamplerHeapBindInfo = nullptr; + pResourceHeapBindInfo = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pSamplerHeapBindInfo) pSamplerHeapBindInfo = new safe_VkBindHeapInfoEXT(*copy_src->pSamplerHeapBindInfo); + if (copy_src->pResourceHeapBindInfo) pResourceHeapBindInfo = new safe_VkBindHeapInfoEXT(*copy_src->pResourceHeapBindInfo); +} + +safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::safe_VkSamplerCustomBorderColorIndexCreateInfoEXT( + const VkSamplerCustomBorderColorIndexCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), index(in_struct->index) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::safe_VkSamplerCustomBorderColorIndexCreateInfoEXT() + : sType(VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT), pNext(nullptr), index() {} + +safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::safe_VkSamplerCustomBorderColorIndexCreateInfoEXT( + const safe_VkSamplerCustomBorderColorIndexCreateInfoEXT& copy_src) { + sType = copy_src.sType; + index = copy_src.index; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSamplerCustomBorderColorIndexCreateInfoEXT& safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::operator=( + const safe_VkSamplerCustomBorderColorIndexCreateInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + index = copy_src.index; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::~safe_VkSamplerCustomBorderColorIndexCreateInfoEXT() { FreePnextChain(pNext); } + +void safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::initialize(const VkSamplerCustomBorderColorIndexCreateInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + index = in_struct->index; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSamplerCustomBorderColorIndexCreateInfoEXT::initialize( + const safe_VkSamplerCustomBorderColorIndexCreateInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + index = copy_src->index; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSamplerCustomBorderColorCreateInfoEXT::safe_VkSamplerCustomBorderColorCreateInfoEXT( + const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), customBorderColor(in_struct->customBorderColor), format(in_struct->format) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSamplerCustomBorderColorCreateInfoEXT::safe_VkSamplerCustomBorderColorCreateInfoEXT() + : sType(VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT), pNext(nullptr), customBorderColor(), format() {} + +safe_VkSamplerCustomBorderColorCreateInfoEXT::safe_VkSamplerCustomBorderColorCreateInfoEXT( + const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src) { + sType = copy_src.sType; + customBorderColor = copy_src.customBorderColor; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSamplerCustomBorderColorCreateInfoEXT& safe_VkSamplerCustomBorderColorCreateInfoEXT::operator=( + const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + customBorderColor = copy_src.customBorderColor; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSamplerCustomBorderColorCreateInfoEXT::~safe_VkSamplerCustomBorderColorCreateInfoEXT() { FreePnextChain(pNext); } + +void safe_VkSamplerCustomBorderColorCreateInfoEXT::initialize(const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + customBorderColor = in_struct->customBorderColor; + format = in_struct->format; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSamplerCustomBorderColorCreateInfoEXT::initialize(const safe_VkSamplerCustomBorderColorCreateInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + customBorderColor = copy_src->customBorderColor; + format = copy_src->format; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSubsampledImageFormatPropertiesEXT::safe_VkSubsampledImageFormatPropertiesEXT( + const VkSubsampledImageFormatPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), subsampledImageDescriptorCount(in_struct->subsampledImageDescriptorCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSubsampledImageFormatPropertiesEXT::safe_VkSubsampledImageFormatPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT), pNext(nullptr), subsampledImageDescriptorCount() {} + +safe_VkSubsampledImageFormatPropertiesEXT::safe_VkSubsampledImageFormatPropertiesEXT( + const safe_VkSubsampledImageFormatPropertiesEXT& copy_src) { + sType = copy_src.sType; + subsampledImageDescriptorCount = copy_src.subsampledImageDescriptorCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSubsampledImageFormatPropertiesEXT& safe_VkSubsampledImageFormatPropertiesEXT::operator=( + const safe_VkSubsampledImageFormatPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + subsampledImageDescriptorCount = copy_src.subsampledImageDescriptorCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSubsampledImageFormatPropertiesEXT::~safe_VkSubsampledImageFormatPropertiesEXT() { FreePnextChain(pNext); } + +void safe_VkSubsampledImageFormatPropertiesEXT::initialize(const VkSubsampledImageFormatPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + subsampledImageDescriptorCount = in_struct->subsampledImageDescriptorCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSubsampledImageFormatPropertiesEXT::initialize(const safe_VkSubsampledImageFormatPropertiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + subsampledImageDescriptorCount = copy_src->subsampledImageDescriptorCount; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkSampleLocationsInfoEXT::safe_VkSampleLocationsInfoEXT(const VkSampleLocationsInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -3985,6 +5610,799 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDevicePresentTimingFeaturesEXT::safe_VkPhysicalDevicePresentTimingFeaturesEXT( + const VkPhysicalDevicePresentTimingFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + presentTiming(in_struct->presentTiming), + presentAtAbsoluteTime(in_struct->presentAtAbsoluteTime), + presentAtRelativeTime(in_struct->presentAtRelativeTime) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePresentTimingFeaturesEXT::safe_VkPhysicalDevicePresentTimingFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT), + pNext(nullptr), + presentTiming(), + presentAtAbsoluteTime(), + presentAtRelativeTime() {} + +safe_VkPhysicalDevicePresentTimingFeaturesEXT::safe_VkPhysicalDevicePresentTimingFeaturesEXT( + const safe_VkPhysicalDevicePresentTimingFeaturesEXT& copy_src) { + sType = copy_src.sType; + presentTiming = copy_src.presentTiming; + presentAtAbsoluteTime = copy_src.presentAtAbsoluteTime; + presentAtRelativeTime = copy_src.presentAtRelativeTime; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePresentTimingFeaturesEXT& safe_VkPhysicalDevicePresentTimingFeaturesEXT::operator=( + const safe_VkPhysicalDevicePresentTimingFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentTiming = copy_src.presentTiming; + presentAtAbsoluteTime = copy_src.presentAtAbsoluteTime; + presentAtRelativeTime = copy_src.presentAtRelativeTime; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePresentTimingFeaturesEXT::~safe_VkPhysicalDevicePresentTimingFeaturesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePresentTimingFeaturesEXT::initialize(const VkPhysicalDevicePresentTimingFeaturesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentTiming = in_struct->presentTiming; + presentAtAbsoluteTime = in_struct->presentAtAbsoluteTime; + presentAtRelativeTime = in_struct->presentAtRelativeTime; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePresentTimingFeaturesEXT::initialize(const safe_VkPhysicalDevicePresentTimingFeaturesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentTiming = copy_src->presentTiming; + presentAtAbsoluteTime = copy_src->presentAtAbsoluteTime; + presentAtRelativeTime = copy_src->presentAtRelativeTime; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPresentTimingSurfaceCapabilitiesEXT::safe_VkPresentTimingSurfaceCapabilitiesEXT( + const VkPresentTimingSurfaceCapabilitiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + presentTimingSupported(in_struct->presentTimingSupported), + presentAtAbsoluteTimeSupported(in_struct->presentAtAbsoluteTimeSupported), + presentAtRelativeTimeSupported(in_struct->presentAtRelativeTimeSupported), + presentStageQueries(in_struct->presentStageQueries) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPresentTimingSurfaceCapabilitiesEXT::safe_VkPresentTimingSurfaceCapabilitiesEXT() + : sType(VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT), + pNext(nullptr), + presentTimingSupported(), + presentAtAbsoluteTimeSupported(), + presentAtRelativeTimeSupported(), + presentStageQueries() {} + +safe_VkPresentTimingSurfaceCapabilitiesEXT::safe_VkPresentTimingSurfaceCapabilitiesEXT( + const safe_VkPresentTimingSurfaceCapabilitiesEXT& copy_src) { + sType = copy_src.sType; + presentTimingSupported = copy_src.presentTimingSupported; + presentAtAbsoluteTimeSupported = copy_src.presentAtAbsoluteTimeSupported; + presentAtRelativeTimeSupported = copy_src.presentAtRelativeTimeSupported; + presentStageQueries = copy_src.presentStageQueries; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPresentTimingSurfaceCapabilitiesEXT& safe_VkPresentTimingSurfaceCapabilitiesEXT::operator=( + const safe_VkPresentTimingSurfaceCapabilitiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentTimingSupported = copy_src.presentTimingSupported; + presentAtAbsoluteTimeSupported = copy_src.presentAtAbsoluteTimeSupported; + presentAtRelativeTimeSupported = copy_src.presentAtRelativeTimeSupported; + presentStageQueries = copy_src.presentStageQueries; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPresentTimingSurfaceCapabilitiesEXT::~safe_VkPresentTimingSurfaceCapabilitiesEXT() { FreePnextChain(pNext); } + +void safe_VkPresentTimingSurfaceCapabilitiesEXT::initialize(const VkPresentTimingSurfaceCapabilitiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentTimingSupported = in_struct->presentTimingSupported; + presentAtAbsoluteTimeSupported = in_struct->presentAtAbsoluteTimeSupported; + presentAtRelativeTimeSupported = in_struct->presentAtRelativeTimeSupported; + presentStageQueries = in_struct->presentStageQueries; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPresentTimingSurfaceCapabilitiesEXT::initialize(const safe_VkPresentTimingSurfaceCapabilitiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentTimingSupported = copy_src->presentTimingSupported; + presentAtAbsoluteTimeSupported = copy_src->presentAtAbsoluteTimeSupported; + presentAtRelativeTimeSupported = copy_src->presentAtRelativeTimeSupported; + presentStageQueries = copy_src->presentStageQueries; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSwapchainCalibratedTimestampInfoEXT::safe_VkSwapchainCalibratedTimestampInfoEXT( + const VkSwapchainCalibratedTimestampInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + swapchain(in_struct->swapchain), + presentStage(in_struct->presentStage), + timeDomainId(in_struct->timeDomainId) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSwapchainCalibratedTimestampInfoEXT::safe_VkSwapchainCalibratedTimestampInfoEXT() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT), + pNext(nullptr), + swapchain(), + presentStage(), + timeDomainId() {} + +safe_VkSwapchainCalibratedTimestampInfoEXT::safe_VkSwapchainCalibratedTimestampInfoEXT( + const safe_VkSwapchainCalibratedTimestampInfoEXT& copy_src) { + sType = copy_src.sType; + swapchain = copy_src.swapchain; + presentStage = copy_src.presentStage; + timeDomainId = copy_src.timeDomainId; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSwapchainCalibratedTimestampInfoEXT& safe_VkSwapchainCalibratedTimestampInfoEXT::operator=( + const safe_VkSwapchainCalibratedTimestampInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchain = copy_src.swapchain; + presentStage = copy_src.presentStage; + timeDomainId = copy_src.timeDomainId; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSwapchainCalibratedTimestampInfoEXT::~safe_VkSwapchainCalibratedTimestampInfoEXT() { FreePnextChain(pNext); } + +void safe_VkSwapchainCalibratedTimestampInfoEXT::initialize(const VkSwapchainCalibratedTimestampInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + swapchain = in_struct->swapchain; + presentStage = in_struct->presentStage; + timeDomainId = in_struct->timeDomainId; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSwapchainCalibratedTimestampInfoEXT::initialize(const safe_VkSwapchainCalibratedTimestampInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchain = copy_src->swapchain; + presentStage = copy_src->presentStage; + timeDomainId = copy_src->timeDomainId; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSwapchainTimingPropertiesEXT::safe_VkSwapchainTimingPropertiesEXT(const VkSwapchainTimingPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), refreshDuration(in_struct->refreshDuration), refreshInterval(in_struct->refreshInterval) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSwapchainTimingPropertiesEXT::safe_VkSwapchainTimingPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_TIMING_PROPERTIES_EXT), pNext(nullptr), refreshDuration(), refreshInterval() {} + +safe_VkSwapchainTimingPropertiesEXT::safe_VkSwapchainTimingPropertiesEXT(const safe_VkSwapchainTimingPropertiesEXT& copy_src) { + sType = copy_src.sType; + refreshDuration = copy_src.refreshDuration; + refreshInterval = copy_src.refreshInterval; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSwapchainTimingPropertiesEXT& safe_VkSwapchainTimingPropertiesEXT::operator=( + const safe_VkSwapchainTimingPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + refreshDuration = copy_src.refreshDuration; + refreshInterval = copy_src.refreshInterval; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSwapchainTimingPropertiesEXT::~safe_VkSwapchainTimingPropertiesEXT() { FreePnextChain(pNext); } + +void safe_VkSwapchainTimingPropertiesEXT::initialize(const VkSwapchainTimingPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + refreshDuration = in_struct->refreshDuration; + refreshInterval = in_struct->refreshInterval; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSwapchainTimingPropertiesEXT::initialize(const safe_VkSwapchainTimingPropertiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + refreshDuration = copy_src->refreshDuration; + refreshInterval = copy_src->refreshInterval; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSwapchainTimeDomainPropertiesEXT::safe_VkSwapchainTimeDomainPropertiesEXT( + const VkSwapchainTimeDomainPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), timeDomainCount(in_struct->timeDomainCount), pTimeDomains(nullptr), pTimeDomainIds(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pTimeDomains) { + pTimeDomains = new VkTimeDomainKHR[in_struct->timeDomainCount]; + memcpy((void*)pTimeDomains, (void*)in_struct->pTimeDomains, sizeof(VkTimeDomainKHR) * in_struct->timeDomainCount); + } + + if (in_struct->pTimeDomainIds) { + pTimeDomainIds = new uint64_t[in_struct->timeDomainCount]; + memcpy((void*)pTimeDomainIds, (void*)in_struct->pTimeDomainIds, sizeof(uint64_t) * in_struct->timeDomainCount); + } +} + +safe_VkSwapchainTimeDomainPropertiesEXT::safe_VkSwapchainTimeDomainPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_TIME_DOMAIN_PROPERTIES_EXT), + pNext(nullptr), + timeDomainCount(), + pTimeDomains(nullptr), + pTimeDomainIds(nullptr) {} + +safe_VkSwapchainTimeDomainPropertiesEXT::safe_VkSwapchainTimeDomainPropertiesEXT( + const safe_VkSwapchainTimeDomainPropertiesEXT& copy_src) { + sType = copy_src.sType; + timeDomainCount = copy_src.timeDomainCount; + pTimeDomains = nullptr; + pTimeDomainIds = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pTimeDomains) { + pTimeDomains = new VkTimeDomainKHR[copy_src.timeDomainCount]; + memcpy((void*)pTimeDomains, (void*)copy_src.pTimeDomains, sizeof(VkTimeDomainKHR) * copy_src.timeDomainCount); + } + + if (copy_src.pTimeDomainIds) { + pTimeDomainIds = new uint64_t[copy_src.timeDomainCount]; + memcpy((void*)pTimeDomainIds, (void*)copy_src.pTimeDomainIds, sizeof(uint64_t) * copy_src.timeDomainCount); + } +} + +safe_VkSwapchainTimeDomainPropertiesEXT& safe_VkSwapchainTimeDomainPropertiesEXT::operator=( + const safe_VkSwapchainTimeDomainPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + if (pTimeDomains) delete[] pTimeDomains; + if (pTimeDomainIds) delete[] pTimeDomainIds; + FreePnextChain(pNext); + + sType = copy_src.sType; + timeDomainCount = copy_src.timeDomainCount; + pTimeDomains = nullptr; + pTimeDomainIds = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pTimeDomains) { + pTimeDomains = new VkTimeDomainKHR[copy_src.timeDomainCount]; + memcpy((void*)pTimeDomains, (void*)copy_src.pTimeDomains, sizeof(VkTimeDomainKHR) * copy_src.timeDomainCount); + } + + if (copy_src.pTimeDomainIds) { + pTimeDomainIds = new uint64_t[copy_src.timeDomainCount]; + memcpy((void*)pTimeDomainIds, (void*)copy_src.pTimeDomainIds, sizeof(uint64_t) * copy_src.timeDomainCount); + } + + return *this; +} + +safe_VkSwapchainTimeDomainPropertiesEXT::~safe_VkSwapchainTimeDomainPropertiesEXT() { + if (pTimeDomains) delete[] pTimeDomains; + if (pTimeDomainIds) delete[] pTimeDomainIds; + FreePnextChain(pNext); +} + +void safe_VkSwapchainTimeDomainPropertiesEXT::initialize(const VkSwapchainTimeDomainPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pTimeDomains) delete[] pTimeDomains; + if (pTimeDomainIds) delete[] pTimeDomainIds; + FreePnextChain(pNext); + sType = in_struct->sType; + timeDomainCount = in_struct->timeDomainCount; + pTimeDomains = nullptr; + pTimeDomainIds = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pTimeDomains) { + pTimeDomains = new VkTimeDomainKHR[in_struct->timeDomainCount]; + memcpy((void*)pTimeDomains, (void*)in_struct->pTimeDomains, sizeof(VkTimeDomainKHR) * in_struct->timeDomainCount); + } + + if (in_struct->pTimeDomainIds) { + pTimeDomainIds = new uint64_t[in_struct->timeDomainCount]; + memcpy((void*)pTimeDomainIds, (void*)in_struct->pTimeDomainIds, sizeof(uint64_t) * in_struct->timeDomainCount); + } +} + +void safe_VkSwapchainTimeDomainPropertiesEXT::initialize(const safe_VkSwapchainTimeDomainPropertiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + timeDomainCount = copy_src->timeDomainCount; + pTimeDomains = nullptr; + pTimeDomainIds = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pTimeDomains) { + pTimeDomains = new VkTimeDomainKHR[copy_src->timeDomainCount]; + memcpy((void*)pTimeDomains, (void*)copy_src->pTimeDomains, sizeof(VkTimeDomainKHR) * copy_src->timeDomainCount); + } + + if (copy_src->pTimeDomainIds) { + pTimeDomainIds = new uint64_t[copy_src->timeDomainCount]; + memcpy((void*)pTimeDomainIds, (void*)copy_src->pTimeDomainIds, sizeof(uint64_t) * copy_src->timeDomainCount); + } +} + +safe_VkPastPresentationTimingInfoEXT::safe_VkPastPresentationTimingInfoEXT(const VkPastPresentationTimingInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), swapchain(in_struct->swapchain) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPastPresentationTimingInfoEXT::safe_VkPastPresentationTimingInfoEXT() + : sType(VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_INFO_EXT), pNext(nullptr), flags(), swapchain() {} + +safe_VkPastPresentationTimingInfoEXT::safe_VkPastPresentationTimingInfoEXT(const safe_VkPastPresentationTimingInfoEXT& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + swapchain = copy_src.swapchain; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPastPresentationTimingInfoEXT& safe_VkPastPresentationTimingInfoEXT::operator=( + const safe_VkPastPresentationTimingInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + swapchain = copy_src.swapchain; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPastPresentationTimingInfoEXT::~safe_VkPastPresentationTimingInfoEXT() { FreePnextChain(pNext); } + +void safe_VkPastPresentationTimingInfoEXT::initialize(const VkPastPresentationTimingInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + swapchain = in_struct->swapchain; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPastPresentationTimingInfoEXT::initialize(const safe_VkPastPresentationTimingInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + swapchain = copy_src->swapchain; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPastPresentationTimingEXT::safe_VkPastPresentationTimingEXT(const VkPastPresentationTimingEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + presentId(in_struct->presentId), + targetTime(in_struct->targetTime), + presentStageCount(in_struct->presentStageCount), + pPresentStages(nullptr), + timeDomain(in_struct->timeDomain), + timeDomainId(in_struct->timeDomainId), + reportComplete(in_struct->reportComplete) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pPresentStages) { + pPresentStages = new VkPresentStageTimeEXT[in_struct->presentStageCount]; + memcpy((void*)pPresentStages, (void*)in_struct->pPresentStages, + sizeof(VkPresentStageTimeEXT) * in_struct->presentStageCount); + } +} + +safe_VkPastPresentationTimingEXT::safe_VkPastPresentationTimingEXT() + : sType(VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_EXT), + pNext(nullptr), + presentId(), + targetTime(), + presentStageCount(), + pPresentStages(nullptr), + timeDomain(), + timeDomainId(), + reportComplete() {} + +safe_VkPastPresentationTimingEXT::safe_VkPastPresentationTimingEXT(const safe_VkPastPresentationTimingEXT& copy_src) { + sType = copy_src.sType; + presentId = copy_src.presentId; + targetTime = copy_src.targetTime; + presentStageCount = copy_src.presentStageCount; + pPresentStages = nullptr; + timeDomain = copy_src.timeDomain; + timeDomainId = copy_src.timeDomainId; + reportComplete = copy_src.reportComplete; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentStages) { + pPresentStages = new VkPresentStageTimeEXT[copy_src.presentStageCount]; + memcpy((void*)pPresentStages, (void*)copy_src.pPresentStages, sizeof(VkPresentStageTimeEXT) * copy_src.presentStageCount); + } +} + +safe_VkPastPresentationTimingEXT& safe_VkPastPresentationTimingEXT::operator=(const safe_VkPastPresentationTimingEXT& copy_src) { + if (©_src == this) return *this; + + if (pPresentStages) delete[] pPresentStages; + FreePnextChain(pNext); + + sType = copy_src.sType; + presentId = copy_src.presentId; + targetTime = copy_src.targetTime; + presentStageCount = copy_src.presentStageCount; + pPresentStages = nullptr; + timeDomain = copy_src.timeDomain; + timeDomainId = copy_src.timeDomainId; + reportComplete = copy_src.reportComplete; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentStages) { + pPresentStages = new VkPresentStageTimeEXT[copy_src.presentStageCount]; + memcpy((void*)pPresentStages, (void*)copy_src.pPresentStages, sizeof(VkPresentStageTimeEXT) * copy_src.presentStageCount); + } + + return *this; +} + +safe_VkPastPresentationTimingEXT::~safe_VkPastPresentationTimingEXT() { + if (pPresentStages) delete[] pPresentStages; + FreePnextChain(pNext); +} + +void safe_VkPastPresentationTimingEXT::initialize(const VkPastPresentationTimingEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pPresentStages) delete[] pPresentStages; + FreePnextChain(pNext); + sType = in_struct->sType; + presentId = in_struct->presentId; + targetTime = in_struct->targetTime; + presentStageCount = in_struct->presentStageCount; + pPresentStages = nullptr; + timeDomain = in_struct->timeDomain; + timeDomainId = in_struct->timeDomainId; + reportComplete = in_struct->reportComplete; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pPresentStages) { + pPresentStages = new VkPresentStageTimeEXT[in_struct->presentStageCount]; + memcpy((void*)pPresentStages, (void*)in_struct->pPresentStages, + sizeof(VkPresentStageTimeEXT) * in_struct->presentStageCount); + } +} + +void safe_VkPastPresentationTimingEXT::initialize(const safe_VkPastPresentationTimingEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentId = copy_src->presentId; + targetTime = copy_src->targetTime; + presentStageCount = copy_src->presentStageCount; + pPresentStages = nullptr; + timeDomain = copy_src->timeDomain; + timeDomainId = copy_src->timeDomainId; + reportComplete = copy_src->reportComplete; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pPresentStages) { + pPresentStages = new VkPresentStageTimeEXT[copy_src->presentStageCount]; + memcpy((void*)pPresentStages, (void*)copy_src->pPresentStages, sizeof(VkPresentStageTimeEXT) * copy_src->presentStageCount); + } +} + +safe_VkPastPresentationTimingPropertiesEXT::safe_VkPastPresentationTimingPropertiesEXT( + const VkPastPresentationTimingPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + timingPropertiesCounter(in_struct->timingPropertiesCounter), + timeDomainsCounter(in_struct->timeDomainsCounter), + presentationTimingCount(in_struct->presentationTimingCount), + pPresentationTimings(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (presentationTimingCount && in_struct->pPresentationTimings) { + pPresentationTimings = new safe_VkPastPresentationTimingEXT[presentationTimingCount]; + for (uint32_t i = 0; i < presentationTimingCount; ++i) { + pPresentationTimings[i].initialize(&in_struct->pPresentationTimings[i]); + } + } +} + +safe_VkPastPresentationTimingPropertiesEXT::safe_VkPastPresentationTimingPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PAST_PRESENTATION_TIMING_PROPERTIES_EXT), + pNext(nullptr), + timingPropertiesCounter(), + timeDomainsCounter(), + presentationTimingCount(), + pPresentationTimings(nullptr) {} + +safe_VkPastPresentationTimingPropertiesEXT::safe_VkPastPresentationTimingPropertiesEXT( + const safe_VkPastPresentationTimingPropertiesEXT& copy_src) { + sType = copy_src.sType; + timingPropertiesCounter = copy_src.timingPropertiesCounter; + timeDomainsCounter = copy_src.timeDomainsCounter; + presentationTimingCount = copy_src.presentationTimingCount; + pPresentationTimings = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (presentationTimingCount && copy_src.pPresentationTimings) { + pPresentationTimings = new safe_VkPastPresentationTimingEXT[presentationTimingCount]; + for (uint32_t i = 0; i < presentationTimingCount; ++i) { + pPresentationTimings[i].initialize(©_src.pPresentationTimings[i]); + } + } +} + +safe_VkPastPresentationTimingPropertiesEXT& safe_VkPastPresentationTimingPropertiesEXT::operator=( + const safe_VkPastPresentationTimingPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + if (pPresentationTimings) delete[] pPresentationTimings; + FreePnextChain(pNext); + + sType = copy_src.sType; + timingPropertiesCounter = copy_src.timingPropertiesCounter; + timeDomainsCounter = copy_src.timeDomainsCounter; + presentationTimingCount = copy_src.presentationTimingCount; + pPresentationTimings = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (presentationTimingCount && copy_src.pPresentationTimings) { + pPresentationTimings = new safe_VkPastPresentationTimingEXT[presentationTimingCount]; + for (uint32_t i = 0; i < presentationTimingCount; ++i) { + pPresentationTimings[i].initialize(©_src.pPresentationTimings[i]); + } + } + + return *this; +} + +safe_VkPastPresentationTimingPropertiesEXT::~safe_VkPastPresentationTimingPropertiesEXT() { + if (pPresentationTimings) delete[] pPresentationTimings; + FreePnextChain(pNext); +} + +void safe_VkPastPresentationTimingPropertiesEXT::initialize(const VkPastPresentationTimingPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pPresentationTimings) delete[] pPresentationTimings; + FreePnextChain(pNext); + sType = in_struct->sType; + timingPropertiesCounter = in_struct->timingPropertiesCounter; + timeDomainsCounter = in_struct->timeDomainsCounter; + presentationTimingCount = in_struct->presentationTimingCount; + pPresentationTimings = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (presentationTimingCount && in_struct->pPresentationTimings) { + pPresentationTimings = new safe_VkPastPresentationTimingEXT[presentationTimingCount]; + for (uint32_t i = 0; i < presentationTimingCount; ++i) { + pPresentationTimings[i].initialize(&in_struct->pPresentationTimings[i]); + } + } +} + +void safe_VkPastPresentationTimingPropertiesEXT::initialize(const safe_VkPastPresentationTimingPropertiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + timingPropertiesCounter = copy_src->timingPropertiesCounter; + timeDomainsCounter = copy_src->timeDomainsCounter; + presentationTimingCount = copy_src->presentationTimingCount; + pPresentationTimings = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (presentationTimingCount && copy_src->pPresentationTimings) { + pPresentationTimings = new safe_VkPastPresentationTimingEXT[presentationTimingCount]; + for (uint32_t i = 0; i < presentationTimingCount; ++i) { + pPresentationTimings[i].initialize(©_src->pPresentationTimings[i]); + } + } +} + +safe_VkPresentTimingInfoEXT::safe_VkPresentTimingInfoEXT(const VkPresentTimingInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + targetTime(in_struct->targetTime), + timeDomainId(in_struct->timeDomainId), + presentStageQueries(in_struct->presentStageQueries), + targetTimeDomainPresentStage(in_struct->targetTimeDomainPresentStage) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPresentTimingInfoEXT::safe_VkPresentTimingInfoEXT() + : sType(VK_STRUCTURE_TYPE_PRESENT_TIMING_INFO_EXT), + pNext(nullptr), + flags(), + targetTime(), + timeDomainId(), + presentStageQueries(), + targetTimeDomainPresentStage() {} + +safe_VkPresentTimingInfoEXT::safe_VkPresentTimingInfoEXT(const safe_VkPresentTimingInfoEXT& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + targetTime = copy_src.targetTime; + timeDomainId = copy_src.timeDomainId; + presentStageQueries = copy_src.presentStageQueries; + targetTimeDomainPresentStage = copy_src.targetTimeDomainPresentStage; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPresentTimingInfoEXT& safe_VkPresentTimingInfoEXT::operator=(const safe_VkPresentTimingInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + targetTime = copy_src.targetTime; + timeDomainId = copy_src.timeDomainId; + presentStageQueries = copy_src.presentStageQueries; + targetTimeDomainPresentStage = copy_src.targetTimeDomainPresentStage; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPresentTimingInfoEXT::~safe_VkPresentTimingInfoEXT() { FreePnextChain(pNext); } + +void safe_VkPresentTimingInfoEXT::initialize(const VkPresentTimingInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + targetTime = in_struct->targetTime; + timeDomainId = in_struct->timeDomainId; + presentStageQueries = in_struct->presentStageQueries; + targetTimeDomainPresentStage = in_struct->targetTimeDomainPresentStage; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPresentTimingInfoEXT::initialize(const safe_VkPresentTimingInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + targetTime = copy_src->targetTime; + timeDomainId = copy_src->timeDomainId; + presentStageQueries = copy_src->presentStageQueries; + targetTimeDomainPresentStage = copy_src->targetTimeDomainPresentStage; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPresentTimingsInfoEXT::safe_VkPresentTimingsInfoEXT(const VkPresentTimingsInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), swapchainCount(in_struct->swapchainCount), pTimingInfos(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (swapchainCount && in_struct->pTimingInfos) { + pTimingInfos = new safe_VkPresentTimingInfoEXT[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pTimingInfos[i].initialize(&in_struct->pTimingInfos[i]); + } + } +} + +safe_VkPresentTimingsInfoEXT::safe_VkPresentTimingsInfoEXT() + : sType(VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT), pNext(nullptr), swapchainCount(), pTimingInfos(nullptr) {} + +safe_VkPresentTimingsInfoEXT::safe_VkPresentTimingsInfoEXT(const safe_VkPresentTimingsInfoEXT& copy_src) { + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pTimingInfos = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (swapchainCount && copy_src.pTimingInfos) { + pTimingInfos = new safe_VkPresentTimingInfoEXT[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pTimingInfos[i].initialize(©_src.pTimingInfos[i]); + } + } +} + +safe_VkPresentTimingsInfoEXT& safe_VkPresentTimingsInfoEXT::operator=(const safe_VkPresentTimingsInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pTimingInfos) delete[] pTimingInfos; + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pTimingInfos = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (swapchainCount && copy_src.pTimingInfos) { + pTimingInfos = new safe_VkPresentTimingInfoEXT[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pTimingInfos[i].initialize(©_src.pTimingInfos[i]); + } + } + + return *this; +} + +safe_VkPresentTimingsInfoEXT::~safe_VkPresentTimingsInfoEXT() { + if (pTimingInfos) delete[] pTimingInfos; + FreePnextChain(pNext); +} + +void safe_VkPresentTimingsInfoEXT::initialize(const VkPresentTimingsInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pTimingInfos) delete[] pTimingInfos; + FreePnextChain(pNext); + sType = in_struct->sType; + swapchainCount = in_struct->swapchainCount; + pTimingInfos = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (swapchainCount && in_struct->pTimingInfos) { + pTimingInfos = new safe_VkPresentTimingInfoEXT[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pTimingInfos[i].initialize(&in_struct->pTimingInfos[i]); + } + } +} + +void safe_VkPresentTimingsInfoEXT::initialize(const safe_VkPresentTimingsInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchainCount = copy_src->swapchainCount; + pTimingInfos = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (swapchainCount && copy_src->pTimingInfos) { + pTimingInfos = new safe_VkPresentTimingInfoEXT[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pTimingInfos[i].initialize(©_src->pTimingInfos[i]); + } + } +} + safe_VkPhysicalDevicePCIBusInfoPropertiesEXT::safe_VkPhysicalDevicePCIBusInfoPropertiesEXT( const VkPhysicalDevicePCIBusInfoPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -5687,664 +8105,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkSurfacePresentModeEXT::safe_VkSurfacePresentModeEXT(const VkSurfacePresentModeEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), presentMode(in_struct->presentMode) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSurfacePresentModeEXT::safe_VkSurfacePresentModeEXT() - : sType(VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT), pNext(nullptr), presentMode() {} - -safe_VkSurfacePresentModeEXT::safe_VkSurfacePresentModeEXT(const safe_VkSurfacePresentModeEXT& copy_src) { - sType = copy_src.sType; - presentMode = copy_src.presentMode; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSurfacePresentModeEXT& safe_VkSurfacePresentModeEXT::operator=(const safe_VkSurfacePresentModeEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - presentMode = copy_src.presentMode; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSurfacePresentModeEXT::~safe_VkSurfacePresentModeEXT() { FreePnextChain(pNext); } - -void safe_VkSurfacePresentModeEXT::initialize(const VkSurfacePresentModeEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - presentMode = in_struct->presentMode; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSurfacePresentModeEXT::initialize(const safe_VkSurfacePresentModeEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - presentMode = copy_src->presentMode; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSurfacePresentScalingCapabilitiesEXT::safe_VkSurfacePresentScalingCapabilitiesEXT( - const VkSurfacePresentScalingCapabilitiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - supportedPresentScaling(in_struct->supportedPresentScaling), - supportedPresentGravityX(in_struct->supportedPresentGravityX), - supportedPresentGravityY(in_struct->supportedPresentGravityY), - minScaledImageExtent(in_struct->minScaledImageExtent), - maxScaledImageExtent(in_struct->maxScaledImageExtent) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSurfacePresentScalingCapabilitiesEXT::safe_VkSurfacePresentScalingCapabilitiesEXT() - : sType(VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT), - pNext(nullptr), - supportedPresentScaling(), - supportedPresentGravityX(), - supportedPresentGravityY(), - minScaledImageExtent(), - maxScaledImageExtent() {} - -safe_VkSurfacePresentScalingCapabilitiesEXT::safe_VkSurfacePresentScalingCapabilitiesEXT( - const safe_VkSurfacePresentScalingCapabilitiesEXT& copy_src) { - sType = copy_src.sType; - supportedPresentScaling = copy_src.supportedPresentScaling; - supportedPresentGravityX = copy_src.supportedPresentGravityX; - supportedPresentGravityY = copy_src.supportedPresentGravityY; - minScaledImageExtent = copy_src.minScaledImageExtent; - maxScaledImageExtent = copy_src.maxScaledImageExtent; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSurfacePresentScalingCapabilitiesEXT& safe_VkSurfacePresentScalingCapabilitiesEXT::operator=( - const safe_VkSurfacePresentScalingCapabilitiesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - supportedPresentScaling = copy_src.supportedPresentScaling; - supportedPresentGravityX = copy_src.supportedPresentGravityX; - supportedPresentGravityY = copy_src.supportedPresentGravityY; - minScaledImageExtent = copy_src.minScaledImageExtent; - maxScaledImageExtent = copy_src.maxScaledImageExtent; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSurfacePresentScalingCapabilitiesEXT::~safe_VkSurfacePresentScalingCapabilitiesEXT() { FreePnextChain(pNext); } - -void safe_VkSurfacePresentScalingCapabilitiesEXT::initialize(const VkSurfacePresentScalingCapabilitiesEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - supportedPresentScaling = in_struct->supportedPresentScaling; - supportedPresentGravityX = in_struct->supportedPresentGravityX; - supportedPresentGravityY = in_struct->supportedPresentGravityY; - minScaledImageExtent = in_struct->minScaledImageExtent; - maxScaledImageExtent = in_struct->maxScaledImageExtent; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSurfacePresentScalingCapabilitiesEXT::initialize(const safe_VkSurfacePresentScalingCapabilitiesEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - supportedPresentScaling = copy_src->supportedPresentScaling; - supportedPresentGravityX = copy_src->supportedPresentGravityX; - supportedPresentGravityY = copy_src->supportedPresentGravityY; - minScaledImageExtent = copy_src->minScaledImageExtent; - maxScaledImageExtent = copy_src->maxScaledImageExtent; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSurfacePresentModeCompatibilityEXT::safe_VkSurfacePresentModeCompatibilityEXT( - const VkSurfacePresentModeCompatibilityEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), presentModeCount(in_struct->presentModeCount), pPresentModes(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pPresentModes) { - pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; - memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); - } -} - -safe_VkSurfacePresentModeCompatibilityEXT::safe_VkSurfacePresentModeCompatibilityEXT() - : sType(VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT), pNext(nullptr), presentModeCount(), pPresentModes(nullptr) {} - -safe_VkSurfacePresentModeCompatibilityEXT::safe_VkSurfacePresentModeCompatibilityEXT( - const safe_VkSurfacePresentModeCompatibilityEXT& copy_src) { - sType = copy_src.sType; - presentModeCount = copy_src.presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; - memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); - } -} - -safe_VkSurfacePresentModeCompatibilityEXT& safe_VkSurfacePresentModeCompatibilityEXT::operator=( - const safe_VkSurfacePresentModeCompatibilityEXT& copy_src) { - if (©_src == this) return *this; - - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); - - sType = copy_src.sType; - presentModeCount = copy_src.presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; - memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); - } - - return *this; -} - -safe_VkSurfacePresentModeCompatibilityEXT::~safe_VkSurfacePresentModeCompatibilityEXT() { - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); -} - -void safe_VkSurfacePresentModeCompatibilityEXT::initialize(const VkSurfacePresentModeCompatibilityEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); - sType = in_struct->sType; - presentModeCount = in_struct->presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pPresentModes) { - pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; - memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); - } -} - -void safe_VkSurfacePresentModeCompatibilityEXT::initialize(const safe_VkSurfacePresentModeCompatibilityEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - presentModeCount = copy_src->presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src->presentModeCount]; - memcpy((void*)pPresentModes, (void*)copy_src->pPresentModes, sizeof(VkPresentModeKHR) * copy_src->presentModeCount); - } -} - -safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT( - const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), swapchainMaintenance1(in_struct->swapchainMaintenance1) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT), pNext(nullptr), swapchainMaintenance1() {} - -safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT( - const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT& copy_src) { - sType = copy_src.sType; - swapchainMaintenance1 = copy_src.swapchainMaintenance1; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT& safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::operator=( - const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - swapchainMaintenance1 = copy_src.swapchainMaintenance1; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::~safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::initialize( - const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - swapchainMaintenance1 = in_struct->swapchainMaintenance1; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT::initialize( - const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - swapchainMaintenance1 = copy_src->swapchainMaintenance1; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSwapchainPresentFenceInfoEXT::safe_VkSwapchainPresentFenceInfoEXT(const VkSwapchainPresentFenceInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), swapchainCount(in_struct->swapchainCount), pFences(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (swapchainCount && in_struct->pFences) { - pFences = new VkFence[swapchainCount]; - for (uint32_t i = 0; i < swapchainCount; ++i) { - pFences[i] = in_struct->pFences[i]; - } - } -} - -safe_VkSwapchainPresentFenceInfoEXT::safe_VkSwapchainPresentFenceInfoEXT() - : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT), pNext(nullptr), swapchainCount(), pFences(nullptr) {} - -safe_VkSwapchainPresentFenceInfoEXT::safe_VkSwapchainPresentFenceInfoEXT(const safe_VkSwapchainPresentFenceInfoEXT& copy_src) { - sType = copy_src.sType; - swapchainCount = copy_src.swapchainCount; - pFences = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (swapchainCount && copy_src.pFences) { - pFences = new VkFence[swapchainCount]; - for (uint32_t i = 0; i < swapchainCount; ++i) { - pFences[i] = copy_src.pFences[i]; - } - } -} - -safe_VkSwapchainPresentFenceInfoEXT& safe_VkSwapchainPresentFenceInfoEXT::operator=( - const safe_VkSwapchainPresentFenceInfoEXT& copy_src) { - if (©_src == this) return *this; - - if (pFences) delete[] pFences; - FreePnextChain(pNext); - - sType = copy_src.sType; - swapchainCount = copy_src.swapchainCount; - pFences = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - if (swapchainCount && copy_src.pFences) { - pFences = new VkFence[swapchainCount]; - for (uint32_t i = 0; i < swapchainCount; ++i) { - pFences[i] = copy_src.pFences[i]; - } - } - - return *this; -} - -safe_VkSwapchainPresentFenceInfoEXT::~safe_VkSwapchainPresentFenceInfoEXT() { - if (pFences) delete[] pFences; - FreePnextChain(pNext); -} - -void safe_VkSwapchainPresentFenceInfoEXT::initialize(const VkSwapchainPresentFenceInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pFences) delete[] pFences; - FreePnextChain(pNext); - sType = in_struct->sType; - swapchainCount = in_struct->swapchainCount; - pFences = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - if (swapchainCount && in_struct->pFences) { - pFences = new VkFence[swapchainCount]; - for (uint32_t i = 0; i < swapchainCount; ++i) { - pFences[i] = in_struct->pFences[i]; - } - } -} - -void safe_VkSwapchainPresentFenceInfoEXT::initialize(const safe_VkSwapchainPresentFenceInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - swapchainCount = copy_src->swapchainCount; - pFences = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - if (swapchainCount && copy_src->pFences) { - pFences = new VkFence[swapchainCount]; - for (uint32_t i = 0; i < swapchainCount; ++i) { - pFences[i] = copy_src->pFences[i]; - } - } -} - -safe_VkSwapchainPresentModesCreateInfoEXT::safe_VkSwapchainPresentModesCreateInfoEXT( - const VkSwapchainPresentModesCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), presentModeCount(in_struct->presentModeCount), pPresentModes(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pPresentModes) { - pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; - memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); - } -} - -safe_VkSwapchainPresentModesCreateInfoEXT::safe_VkSwapchainPresentModesCreateInfoEXT() - : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT), - pNext(nullptr), - presentModeCount(), - pPresentModes(nullptr) {} - -safe_VkSwapchainPresentModesCreateInfoEXT::safe_VkSwapchainPresentModesCreateInfoEXT( - const safe_VkSwapchainPresentModesCreateInfoEXT& copy_src) { - sType = copy_src.sType; - presentModeCount = copy_src.presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; - memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); - } -} - -safe_VkSwapchainPresentModesCreateInfoEXT& safe_VkSwapchainPresentModesCreateInfoEXT::operator=( - const safe_VkSwapchainPresentModesCreateInfoEXT& copy_src) { - if (©_src == this) return *this; - - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); - - sType = copy_src.sType; - presentModeCount = copy_src.presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; - memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); - } - - return *this; -} - -safe_VkSwapchainPresentModesCreateInfoEXT::~safe_VkSwapchainPresentModesCreateInfoEXT() { - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); -} - -void safe_VkSwapchainPresentModesCreateInfoEXT::initialize(const VkSwapchainPresentModesCreateInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); - sType = in_struct->sType; - presentModeCount = in_struct->presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pPresentModes) { - pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; - memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); - } -} - -void safe_VkSwapchainPresentModesCreateInfoEXT::initialize(const safe_VkSwapchainPresentModesCreateInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - presentModeCount = copy_src->presentModeCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src->presentModeCount]; - memcpy((void*)pPresentModes, (void*)copy_src->pPresentModes, sizeof(VkPresentModeKHR) * copy_src->presentModeCount); - } -} - -safe_VkSwapchainPresentModeInfoEXT::safe_VkSwapchainPresentModeInfoEXT(const VkSwapchainPresentModeInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), swapchainCount(in_struct->swapchainCount), pPresentModes(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pPresentModes) { - pPresentModes = new VkPresentModeKHR[in_struct->swapchainCount]; - memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->swapchainCount); - } -} - -safe_VkSwapchainPresentModeInfoEXT::safe_VkSwapchainPresentModeInfoEXT() - : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT), pNext(nullptr), swapchainCount(), pPresentModes(nullptr) {} - -safe_VkSwapchainPresentModeInfoEXT::safe_VkSwapchainPresentModeInfoEXT(const safe_VkSwapchainPresentModeInfoEXT& copy_src) { - sType = copy_src.sType; - swapchainCount = copy_src.swapchainCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src.swapchainCount]; - memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.swapchainCount); - } -} - -safe_VkSwapchainPresentModeInfoEXT& safe_VkSwapchainPresentModeInfoEXT::operator=( - const safe_VkSwapchainPresentModeInfoEXT& copy_src) { - if (©_src == this) return *this; - - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); - - sType = copy_src.sType; - swapchainCount = copy_src.swapchainCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src.swapchainCount]; - memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.swapchainCount); - } - - return *this; -} - -safe_VkSwapchainPresentModeInfoEXT::~safe_VkSwapchainPresentModeInfoEXT() { - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); -} - -void safe_VkSwapchainPresentModeInfoEXT::initialize(const VkSwapchainPresentModeInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pPresentModes) delete[] pPresentModes; - FreePnextChain(pNext); - sType = in_struct->sType; - swapchainCount = in_struct->swapchainCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pPresentModes) { - pPresentModes = new VkPresentModeKHR[in_struct->swapchainCount]; - memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->swapchainCount); - } -} - -void safe_VkSwapchainPresentModeInfoEXT::initialize(const safe_VkSwapchainPresentModeInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - swapchainCount = copy_src->swapchainCount; - pPresentModes = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pPresentModes) { - pPresentModes = new VkPresentModeKHR[copy_src->swapchainCount]; - memcpy((void*)pPresentModes, (void*)copy_src->pPresentModes, sizeof(VkPresentModeKHR) * copy_src->swapchainCount); - } -} - -safe_VkSwapchainPresentScalingCreateInfoEXT::safe_VkSwapchainPresentScalingCreateInfoEXT( - const VkSwapchainPresentScalingCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - scalingBehavior(in_struct->scalingBehavior), - presentGravityX(in_struct->presentGravityX), - presentGravityY(in_struct->presentGravityY) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSwapchainPresentScalingCreateInfoEXT::safe_VkSwapchainPresentScalingCreateInfoEXT() - : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT), - pNext(nullptr), - scalingBehavior(), - presentGravityX(), - presentGravityY() {} - -safe_VkSwapchainPresentScalingCreateInfoEXT::safe_VkSwapchainPresentScalingCreateInfoEXT( - const safe_VkSwapchainPresentScalingCreateInfoEXT& copy_src) { - sType = copy_src.sType; - scalingBehavior = copy_src.scalingBehavior; - presentGravityX = copy_src.presentGravityX; - presentGravityY = copy_src.presentGravityY; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSwapchainPresentScalingCreateInfoEXT& safe_VkSwapchainPresentScalingCreateInfoEXT::operator=( - const safe_VkSwapchainPresentScalingCreateInfoEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - scalingBehavior = copy_src.scalingBehavior; - presentGravityX = copy_src.presentGravityX; - presentGravityY = copy_src.presentGravityY; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSwapchainPresentScalingCreateInfoEXT::~safe_VkSwapchainPresentScalingCreateInfoEXT() { FreePnextChain(pNext); } - -void safe_VkSwapchainPresentScalingCreateInfoEXT::initialize(const VkSwapchainPresentScalingCreateInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - scalingBehavior = in_struct->scalingBehavior; - presentGravityX = in_struct->presentGravityX; - presentGravityY = in_struct->presentGravityY; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSwapchainPresentScalingCreateInfoEXT::initialize(const safe_VkSwapchainPresentScalingCreateInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - scalingBehavior = copy_src->scalingBehavior; - presentGravityX = copy_src->presentGravityX; - presentGravityY = copy_src->presentGravityY; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkReleaseSwapchainImagesInfoEXT::safe_VkReleaseSwapchainImagesInfoEXT(const VkReleaseSwapchainImagesInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - swapchain(in_struct->swapchain), - imageIndexCount(in_struct->imageIndexCount), - pImageIndices(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pImageIndices) { - pImageIndices = new uint32_t[in_struct->imageIndexCount]; - memcpy((void*)pImageIndices, (void*)in_struct->pImageIndices, sizeof(uint32_t) * in_struct->imageIndexCount); - } -} - -safe_VkReleaseSwapchainImagesInfoEXT::safe_VkReleaseSwapchainImagesInfoEXT() - : sType(VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT), - pNext(nullptr), - swapchain(), - imageIndexCount(), - pImageIndices(nullptr) {} - -safe_VkReleaseSwapchainImagesInfoEXT::safe_VkReleaseSwapchainImagesInfoEXT(const safe_VkReleaseSwapchainImagesInfoEXT& copy_src) { - sType = copy_src.sType; - swapchain = copy_src.swapchain; - imageIndexCount = copy_src.imageIndexCount; - pImageIndices = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pImageIndices) { - pImageIndices = new uint32_t[copy_src.imageIndexCount]; - memcpy((void*)pImageIndices, (void*)copy_src.pImageIndices, sizeof(uint32_t) * copy_src.imageIndexCount); - } -} - -safe_VkReleaseSwapchainImagesInfoEXT& safe_VkReleaseSwapchainImagesInfoEXT::operator=( - const safe_VkReleaseSwapchainImagesInfoEXT& copy_src) { - if (©_src == this) return *this; - - if (pImageIndices) delete[] pImageIndices; - FreePnextChain(pNext); - - sType = copy_src.sType; - swapchain = copy_src.swapchain; - imageIndexCount = copy_src.imageIndexCount; - pImageIndices = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pImageIndices) { - pImageIndices = new uint32_t[copy_src.imageIndexCount]; - memcpy((void*)pImageIndices, (void*)copy_src.pImageIndices, sizeof(uint32_t) * copy_src.imageIndexCount); - } - - return *this; -} - -safe_VkReleaseSwapchainImagesInfoEXT::~safe_VkReleaseSwapchainImagesInfoEXT() { - if (pImageIndices) delete[] pImageIndices; - FreePnextChain(pNext); -} - -void safe_VkReleaseSwapchainImagesInfoEXT::initialize(const VkReleaseSwapchainImagesInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pImageIndices) delete[] pImageIndices; - FreePnextChain(pNext); - sType = in_struct->sType; - swapchain = in_struct->swapchain; - imageIndexCount = in_struct->imageIndexCount; - pImageIndices = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pImageIndices) { - pImageIndices = new uint32_t[in_struct->imageIndexCount]; - memcpy((void*)pImageIndices, (void*)in_struct->pImageIndices, sizeof(uint32_t) * in_struct->imageIndexCount); - } -} - -void safe_VkReleaseSwapchainImagesInfoEXT::initialize(const safe_VkReleaseSwapchainImagesInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - swapchain = copy_src->swapchain; - imageIndexCount = copy_src->imageIndexCount; - pImageIndices = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pImageIndices) { - pImageIndices = new uint32_t[copy_src->imageIndexCount]; - memcpy((void*)pImageIndices, (void*)copy_src->pImageIndices, sizeof(uint32_t) * copy_src->imageIndexCount); - } -} - safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT::safe_VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT( const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), texelBufferAlignment(in_struct->texelBufferAlignment) { @@ -6776,178 +8536,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceRobustness2FeaturesEXT::safe_VkPhysicalDeviceRobustness2FeaturesEXT( - const VkPhysicalDeviceRobustness2FeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - robustBufferAccess2(in_struct->robustBufferAccess2), - robustImageAccess2(in_struct->robustImageAccess2), - nullDescriptor(in_struct->nullDescriptor) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceRobustness2FeaturesEXT::safe_VkPhysicalDeviceRobustness2FeaturesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT), - pNext(nullptr), - robustBufferAccess2(), - robustImageAccess2(), - nullDescriptor() {} - -safe_VkPhysicalDeviceRobustness2FeaturesEXT::safe_VkPhysicalDeviceRobustness2FeaturesEXT( - const safe_VkPhysicalDeviceRobustness2FeaturesEXT& copy_src) { - sType = copy_src.sType; - robustBufferAccess2 = copy_src.robustBufferAccess2; - robustImageAccess2 = copy_src.robustImageAccess2; - nullDescriptor = copy_src.nullDescriptor; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceRobustness2FeaturesEXT& safe_VkPhysicalDeviceRobustness2FeaturesEXT::operator=( - const safe_VkPhysicalDeviceRobustness2FeaturesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - robustBufferAccess2 = copy_src.robustBufferAccess2; - robustImageAccess2 = copy_src.robustImageAccess2; - nullDescriptor = copy_src.nullDescriptor; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceRobustness2FeaturesEXT::~safe_VkPhysicalDeviceRobustness2FeaturesEXT() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceRobustness2FeaturesEXT::initialize(const VkPhysicalDeviceRobustness2FeaturesEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - robustBufferAccess2 = in_struct->robustBufferAccess2; - robustImageAccess2 = in_struct->robustImageAccess2; - nullDescriptor = in_struct->nullDescriptor; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceRobustness2FeaturesEXT::initialize(const safe_VkPhysicalDeviceRobustness2FeaturesEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - robustBufferAccess2 = copy_src->robustBufferAccess2; - robustImageAccess2 = copy_src->robustImageAccess2; - nullDescriptor = copy_src->nullDescriptor; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceRobustness2PropertiesEXT::safe_VkPhysicalDeviceRobustness2PropertiesEXT( - const VkPhysicalDeviceRobustness2PropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - robustStorageBufferAccessSizeAlignment(in_struct->robustStorageBufferAccessSizeAlignment), - robustUniformBufferAccessSizeAlignment(in_struct->robustUniformBufferAccessSizeAlignment) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceRobustness2PropertiesEXT::safe_VkPhysicalDeviceRobustness2PropertiesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT), - pNext(nullptr), - robustStorageBufferAccessSizeAlignment(), - robustUniformBufferAccessSizeAlignment() {} - -safe_VkPhysicalDeviceRobustness2PropertiesEXT::safe_VkPhysicalDeviceRobustness2PropertiesEXT( - const safe_VkPhysicalDeviceRobustness2PropertiesEXT& copy_src) { - sType = copy_src.sType; - robustStorageBufferAccessSizeAlignment = copy_src.robustStorageBufferAccessSizeAlignment; - robustUniformBufferAccessSizeAlignment = copy_src.robustUniformBufferAccessSizeAlignment; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceRobustness2PropertiesEXT& safe_VkPhysicalDeviceRobustness2PropertiesEXT::operator=( - const safe_VkPhysicalDeviceRobustness2PropertiesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - robustStorageBufferAccessSizeAlignment = copy_src.robustStorageBufferAccessSizeAlignment; - robustUniformBufferAccessSizeAlignment = copy_src.robustUniformBufferAccessSizeAlignment; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceRobustness2PropertiesEXT::~safe_VkPhysicalDeviceRobustness2PropertiesEXT() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceRobustness2PropertiesEXT::initialize(const VkPhysicalDeviceRobustness2PropertiesEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - robustStorageBufferAccessSizeAlignment = in_struct->robustStorageBufferAccessSizeAlignment; - robustUniformBufferAccessSizeAlignment = in_struct->robustUniformBufferAccessSizeAlignment; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceRobustness2PropertiesEXT::initialize(const safe_VkPhysicalDeviceRobustness2PropertiesEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - robustStorageBufferAccessSizeAlignment = copy_src->robustStorageBufferAccessSizeAlignment; - robustUniformBufferAccessSizeAlignment = copy_src->robustUniformBufferAccessSizeAlignment; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSamplerCustomBorderColorCreateInfoEXT::safe_VkSamplerCustomBorderColorCreateInfoEXT( - const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), customBorderColor(in_struct->customBorderColor), format(in_struct->format) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkSamplerCustomBorderColorCreateInfoEXT::safe_VkSamplerCustomBorderColorCreateInfoEXT() - : sType(VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT), pNext(nullptr), customBorderColor(), format() {} - -safe_VkSamplerCustomBorderColorCreateInfoEXT::safe_VkSamplerCustomBorderColorCreateInfoEXT( - const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src) { - sType = copy_src.sType; - customBorderColor = copy_src.customBorderColor; - format = copy_src.format; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkSamplerCustomBorderColorCreateInfoEXT& safe_VkSamplerCustomBorderColorCreateInfoEXT::operator=( - const safe_VkSamplerCustomBorderColorCreateInfoEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - customBorderColor = copy_src.customBorderColor; - format = copy_src.format; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkSamplerCustomBorderColorCreateInfoEXT::~safe_VkSamplerCustomBorderColorCreateInfoEXT() { FreePnextChain(pNext); } - -void safe_VkSamplerCustomBorderColorCreateInfoEXT::initialize(const VkSamplerCustomBorderColorCreateInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - customBorderColor = in_struct->customBorderColor; - format = in_struct->format; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkSamplerCustomBorderColorCreateInfoEXT::initialize(const safe_VkSamplerCustomBorderColorCreateInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - customBorderColor = copy_src->customBorderColor; - format = copy_src->format; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceCustomBorderColorPropertiesEXT::safe_VkPhysicalDeviceCustomBorderColorPropertiesEXT( const VkPhysicalDeviceCustomBorderColorPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), maxCustomBorderColorSamplers(in_struct->maxCustomBorderColorSamplers) { @@ -7054,6 +8642,59 @@ customBorderColorWithoutFormat = copy_src->customBorderColorWithoutFormat; pNext = SafePnextCopy(copy_src->pNext); } + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT( + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), textureCompressionASTC_3D(in_struct->textureCompressionASTC_3D) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT), + pNext(nullptr), + textureCompressionASTC_3D() {} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src) { + sType = copy_src.sType; + textureCompressionASTC_3D = copy_src.textureCompressionASTC_3D; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::operator=( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + textureCompressionASTC_3D = copy_src.textureCompressionASTC_3D; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::~safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::initialize( + const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + textureCompressionASTC_3D = in_struct->textureCompressionASTC_3D; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT::initialize( + const safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + textureCompressionASTC_3D = copy_src->textureCompressionASTC_3D; + pNext = SafePnextCopy(copy_src->pNext); +} #ifdef VK_USE_PLATFORM_METAL_EXT safe_VkExportMetalObjectCreateInfoEXT::safe_VkExportMetalObjectCreateInfoEXT(const VkExportMetalObjectCreateInfoEXT* in_struct, @@ -7911,61 +9552,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - combinedImageSamplerDensityMapDescriptorSize(in_struct->combinedImageSamplerDensityMapDescriptorSize) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT), - pNext(nullptr), - combinedImageSamplerDensityMapDescriptorSize() {} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { - sType = copy_src.sType; - combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::operator=( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( - const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - combinedImageSamplerDensityMapDescriptorSize = in_struct->combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( - const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - combinedImageSamplerDensityMapDescriptorSize = copy_src->combinedImageSamplerDensityMapDescriptorSize; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT::safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT( const VkPhysicalDeviceDescriptorBufferFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -8544,6 +10130,61 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + combinedImageSamplerDensityMapDescriptorSize(in_struct->combinedImageSamplerDensityMapDescriptorSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT), + pNext(nullptr), + combinedImageSamplerDensityMapDescriptorSize() {} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { + sType = copy_src.sType; + combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::operator=( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + combinedImageSamplerDensityMapDescriptorSize = copy_src.combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::~safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( + const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + combinedImageSamplerDensityMapDescriptorSize = in_struct->combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT::initialize( + const safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + combinedImageSamplerDensityMapDescriptorSize = copy_src->combinedImageSamplerDensityMapDescriptorSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT::safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT( const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -9305,11 +10946,11 @@ } if (in_struct->pAddressInfos) { - pAddressInfos = new VkDeviceFaultAddressInfoEXT(*in_struct->pAddressInfos); + pAddressInfos = new VkDeviceFaultAddressInfoKHR(*in_struct->pAddressInfos); } if (in_struct->pVendorInfos) { - pVendorInfos = new VkDeviceFaultVendorInfoEXT(*in_struct->pVendorInfos); + pVendorInfos = new VkDeviceFaultVendorInfoKHR(*in_struct->pVendorInfos); } } @@ -9332,11 +10973,11 @@ } if (copy_src.pAddressInfos) { - pAddressInfos = new VkDeviceFaultAddressInfoEXT(*copy_src.pAddressInfos); + pAddressInfos = new VkDeviceFaultAddressInfoKHR(*copy_src.pAddressInfos); } if (copy_src.pVendorInfos) { - pVendorInfos = new VkDeviceFaultVendorInfoEXT(*copy_src.pVendorInfos); + pVendorInfos = new VkDeviceFaultVendorInfoKHR(*copy_src.pVendorInfos); } } @@ -9358,11 +10999,11 @@ } if (copy_src.pAddressInfos) { - pAddressInfos = new VkDeviceFaultAddressInfoEXT(*copy_src.pAddressInfos); + pAddressInfos = new VkDeviceFaultAddressInfoKHR(*copy_src.pAddressInfos); } if (copy_src.pVendorInfos) { - pVendorInfos = new VkDeviceFaultVendorInfoEXT(*copy_src.pVendorInfos); + pVendorInfos = new VkDeviceFaultVendorInfoKHR(*copy_src.pVendorInfos); } return *this; @@ -9389,11 +11030,11 @@ } if (in_struct->pAddressInfos) { - pAddressInfos = new VkDeviceFaultAddressInfoEXT(*in_struct->pAddressInfos); + pAddressInfos = new VkDeviceFaultAddressInfoKHR(*in_struct->pAddressInfos); } if (in_struct->pVendorInfos) { - pVendorInfos = new VkDeviceFaultVendorInfoEXT(*in_struct->pVendorInfos); + pVendorInfos = new VkDeviceFaultVendorInfoKHR(*in_struct->pVendorInfos); } } @@ -9409,11 +11050,11 @@ } if (copy_src->pAddressInfos) { - pAddressInfos = new VkDeviceFaultAddressInfoEXT(*copy_src->pAddressInfos); + pAddressInfos = new VkDeviceFaultAddressInfoKHR(*copy_src->pAddressInfos); } if (copy_src->pVendorInfos) { - pVendorInfos = new VkDeviceFaultVendorInfoEXT(*copy_src->pVendorInfos); + pVendorInfos = new VkDeviceFaultVendorInfoKHR(*copy_src->pVendorInfos); } } @@ -10401,59 +12042,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT( - const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), presentModeFifoLatestReady(in_struct->presentModeFifoLatestReady) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT), - pNext(nullptr), - presentModeFifoLatestReady() {} - -safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT( - const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT& copy_src) { - sType = copy_src.sType; - presentModeFifoLatestReady = copy_src.presentModeFifoLatestReady; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT& safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::operator=( - const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - presentModeFifoLatestReady = copy_src.presentModeFifoLatestReady; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::~safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::initialize( - const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - presentModeFifoLatestReady = in_struct->presentModeFifoLatestReady; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT::initialize( - const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - presentModeFifoLatestReady = copy_src->presentModeFifoLatestReady; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPipelinePropertiesIdentifierEXT::safe_VkPipelinePropertiesIdentifierEXT(const VkPipelinePropertiesIdentifierEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -11578,6 +13166,201 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkMicromapBuildInfoEXT::safe_VkMicromapBuildInfoEXT(const VkMicromapBuildInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + type(in_struct->type), + flags(in_struct->flags), + mode(in_struct->mode), + dstMicromap(in_struct->dstMicromap), + usageCountsCount(in_struct->usageCountsCount), + pUsageCounts(nullptr), + ppUsageCounts(nullptr), + data(&in_struct->data), + scratchData(&in_struct->scratchData), + triangleArray(&in_struct->triangleArray), + triangleArrayStride(in_struct->triangleArrayStride) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); + } + + if (in_struct->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +safe_VkMicromapBuildInfoEXT::safe_VkMicromapBuildInfoEXT() + : sType(VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT), + pNext(nullptr), + type(), + flags(), + mode(), + dstMicromap(), + usageCountsCount(), + pUsageCounts(nullptr), + ppUsageCounts(nullptr), + triangleArrayStride() {} + +safe_VkMicromapBuildInfoEXT::safe_VkMicromapBuildInfoEXT(const safe_VkMicromapBuildInfoEXT& copy_src) { + sType = copy_src.sType; + type = copy_src.type; + flags = copy_src.flags; + mode = copy_src.mode; + dstMicromap = copy_src.dstMicromap; + usageCountsCount = copy_src.usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + data.initialize(©_src.data); + scratchData.initialize(©_src.scratchData); + triangleArray.initialize(©_src.triangleArray); + triangleArrayStride = copy_src.triangleArrayStride; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); + } + + if (copy_src.ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; + for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +safe_VkMicromapBuildInfoEXT& safe_VkMicromapBuildInfoEXT::operator=(const safe_VkMicromapBuildInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); + + sType = copy_src.sType; + type = copy_src.type; + flags = copy_src.flags; + mode = copy_src.mode; + dstMicromap = copy_src.dstMicromap; + usageCountsCount = copy_src.usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + data.initialize(©_src.data); + scratchData.initialize(©_src.scratchData); + triangleArray.initialize(©_src.triangleArray); + triangleArrayStride = copy_src.triangleArrayStride; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); + } + + if (copy_src.ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; + for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } + + return *this; +} + +safe_VkMicromapBuildInfoEXT::~safe_VkMicromapBuildInfoEXT() { + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); +} + +void safe_VkMicromapBuildInfoEXT::initialize(const VkMicromapBuildInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); + sType = in_struct->sType; + type = in_struct->type; + flags = in_struct->flags; + mode = in_struct->mode; + dstMicromap = in_struct->dstMicromap; + usageCountsCount = in_struct->usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + data.initialize(&in_struct->data); + scratchData.initialize(&in_struct->scratchData); + triangleArray.initialize(&in_struct->triangleArray); + triangleArrayStride = in_struct->triangleArrayStride; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); + } + + if (in_struct->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +void safe_VkMicromapBuildInfoEXT::initialize(const safe_VkMicromapBuildInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + type = copy_src->type; + flags = copy_src->flags; + mode = copy_src->mode; + dstMicromap = copy_src->dstMicromap; + usageCountsCount = copy_src->usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + data.initialize(©_src->data); + scratchData.initialize(©_src->scratchData); + triangleArray.initialize(©_src->triangleArray); + triangleArrayStride = copy_src->triangleArrayStride; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src->pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src->usageCountsCount); + } + + if (copy_src->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src->usageCountsCount]; + for (uint32_t i = 0; i < copy_src->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + safe_VkMicromapCreateInfoEXT::safe_VkMicromapCreateInfoEXT(const VkMicromapCreateInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -12072,6 +13855,189 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::safe_VkAccelerationStructureTrianglesOpacityMicromapEXT( + const VkAccelerationStructureTrianglesOpacityMicromapEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + indexType(in_struct->indexType), + indexBuffer(&in_struct->indexBuffer), + indexStride(in_struct->indexStride), + baseTriangle(in_struct->baseTriangle), + usageCountsCount(in_struct->usageCountsCount), + pUsageCounts(nullptr), + ppUsageCounts(nullptr), + micromap(in_struct->micromap) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); + } + + if (in_struct->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::safe_VkAccelerationStructureTrianglesOpacityMicromapEXT() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT), + pNext(nullptr), + indexType(), + indexStride(), + baseTriangle(), + usageCountsCount(), + pUsageCounts(nullptr), + ppUsageCounts(nullptr), + micromap() {} + +safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::safe_VkAccelerationStructureTrianglesOpacityMicromapEXT( + const safe_VkAccelerationStructureTrianglesOpacityMicromapEXT& copy_src) { + sType = copy_src.sType; + indexType = copy_src.indexType; + indexBuffer.initialize(©_src.indexBuffer); + indexStride = copy_src.indexStride; + baseTriangle = copy_src.baseTriangle; + usageCountsCount = copy_src.usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = copy_src.micromap; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); + } + + if (copy_src.ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; + for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +safe_VkAccelerationStructureTrianglesOpacityMicromapEXT& safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::operator=( + const safe_VkAccelerationStructureTrianglesOpacityMicromapEXT& copy_src) { + if (©_src == this) return *this; + + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); + + sType = copy_src.sType; + indexType = copy_src.indexType; + indexBuffer.initialize(©_src.indexBuffer); + indexStride = copy_src.indexStride; + baseTriangle = copy_src.baseTriangle; + usageCountsCount = copy_src.usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = copy_src.micromap; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); + } + + if (copy_src.ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; + for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } + + return *this; +} + +safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::~safe_VkAccelerationStructureTrianglesOpacityMicromapEXT() { + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); +} + +void safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::initialize( + const VkAccelerationStructureTrianglesOpacityMicromapEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); + sType = in_struct->sType; + indexType = in_struct->indexType; + indexBuffer.initialize(&in_struct->indexBuffer); + indexStride = in_struct->indexStride; + baseTriangle = in_struct->baseTriangle; + usageCountsCount = in_struct->usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = in_struct->micromap; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); + } + + if (in_struct->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +void safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::initialize( + const safe_VkAccelerationStructureTrianglesOpacityMicromapEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + indexType = copy_src->indexType; + indexBuffer.initialize(©_src->indexBuffer); + indexStride = copy_src->indexStride; + baseTriangle = copy_src->baseTriangle; + usageCountsCount = copy_src->usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = copy_src->micromap; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src->pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src->usageCountsCount); + } + + if (copy_src->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src->usageCountsCount]; + for (uint32_t i = 0; i < copy_src->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + safe_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT::safe_VkPhysicalDeviceBorderColorSwizzleFeaturesEXT( const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -12339,54 +14305,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT( - const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), depthClampZeroOne(in_struct->depthClampZeroOne) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT), pNext(nullptr), depthClampZeroOne() {} - -safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT( - const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& copy_src) { - sType = copy_src.sType; - depthClampZeroOne = copy_src.depthClampZeroOne; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::operator=( - const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - depthClampZeroOne = copy_src.depthClampZeroOne; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::~safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::initialize(const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - depthClampZeroOne = in_struct->depthClampZeroOne; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT::initialize( - const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - depthClampZeroOne = copy_src->depthClampZeroOne; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT::safe_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT( const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), nonSeamlessCubeMap(in_struct->nonSeamlessCubeMap) { @@ -12435,6 +14353,310 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT( + const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), fragmentDensityMapOffset(in_struct->fragmentDensityMapOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT), + pNext(nullptr), + fragmentDensityMapOffset() {} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT& copy_src) { + sType = copy_src.sType; + fragmentDensityMapOffset = copy_src.fragmentDensityMapOffset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT& safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::operator=( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + fragmentDensityMapOffset = copy_src.fragmentDensityMapOffset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::~safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::initialize( + const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + fragmentDensityMapOffset = in_struct->fragmentDensityMapOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT::initialize( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + fragmentDensityMapOffset = copy_src->fragmentDensityMapOffset; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT( + const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), fragmentDensityOffsetGranularity(in_struct->fragmentDensityOffsetGranularity) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT), + pNext(nullptr), + fragmentDensityOffsetGranularity() {} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT& copy_src) { + sType = copy_src.sType; + fragmentDensityOffsetGranularity = copy_src.fragmentDensityOffsetGranularity; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT& safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::operator=( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + fragmentDensityOffsetGranularity = copy_src.fragmentDensityOffsetGranularity; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::~safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::initialize( + const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + fragmentDensityOffsetGranularity = in_struct->fragmentDensityOffsetGranularity; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT::initialize( + const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + fragmentDensityOffsetGranularity = copy_src->fragmentDensityOffsetGranularity; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT( + const VkRenderPassFragmentDensityMapOffsetEndInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), fragmentDensityOffsetCount(in_struct->fragmentDensityOffsetCount), pFragmentDensityOffsets(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pFragmentDensityOffsets) { + pFragmentDensityOffsets = new VkOffset2D[in_struct->fragmentDensityOffsetCount]; + memcpy((void*)pFragmentDensityOffsets, (void*)in_struct->pFragmentDensityOffsets, + sizeof(VkOffset2D) * in_struct->fragmentDensityOffsetCount); + } +} + +safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT), + pNext(nullptr), + fragmentDensityOffsetCount(), + pFragmentDensityOffsets(nullptr) {} + +safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT( + const safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT& copy_src) { + sType = copy_src.sType; + fragmentDensityOffsetCount = copy_src.fragmentDensityOffsetCount; + pFragmentDensityOffsets = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pFragmentDensityOffsets) { + pFragmentDensityOffsets = new VkOffset2D[copy_src.fragmentDensityOffsetCount]; + memcpy((void*)pFragmentDensityOffsets, (void*)copy_src.pFragmentDensityOffsets, + sizeof(VkOffset2D) * copy_src.fragmentDensityOffsetCount); + } +} + +safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT& safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::operator=( + const safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pFragmentDensityOffsets) delete[] pFragmentDensityOffsets; + FreePnextChain(pNext); + + sType = copy_src.sType; + fragmentDensityOffsetCount = copy_src.fragmentDensityOffsetCount; + pFragmentDensityOffsets = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pFragmentDensityOffsets) { + pFragmentDensityOffsets = new VkOffset2D[copy_src.fragmentDensityOffsetCount]; + memcpy((void*)pFragmentDensityOffsets, (void*)copy_src.pFragmentDensityOffsets, + sizeof(VkOffset2D) * copy_src.fragmentDensityOffsetCount); + } + + return *this; +} + +safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::~safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT() { + if (pFragmentDensityOffsets) delete[] pFragmentDensityOffsets; + FreePnextChain(pNext); +} + +void safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::initialize( + const VkRenderPassFragmentDensityMapOffsetEndInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pFragmentDensityOffsets) delete[] pFragmentDensityOffsets; + FreePnextChain(pNext); + sType = in_struct->sType; + fragmentDensityOffsetCount = in_struct->fragmentDensityOffsetCount; + pFragmentDensityOffsets = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pFragmentDensityOffsets) { + pFragmentDensityOffsets = new VkOffset2D[in_struct->fragmentDensityOffsetCount]; + memcpy((void*)pFragmentDensityOffsets, (void*)in_struct->pFragmentDensityOffsets, + sizeof(VkOffset2D) * in_struct->fragmentDensityOffsetCount); + } +} + +void safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT::initialize( + const safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + fragmentDensityOffsetCount = copy_src->fragmentDensityOffsetCount; + pFragmentDensityOffsets = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pFragmentDensityOffsets) { + pFragmentDensityOffsets = new VkOffset2D[copy_src->fragmentDensityOffsetCount]; + memcpy((void*)pFragmentDensityOffsets, (void*)copy_src->pFragmentDensityOffsets, + sizeof(VkOffset2D) * copy_src->fragmentDensityOffsetCount); + } +} + +safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT( + const VkPhysicalDeviceMemoryDecompressionFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), memoryDecompression(in_struct->memoryDecompression) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT), pNext(nullptr), memoryDecompression() {} + +safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT( + const safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT& copy_src) { + sType = copy_src.sType; + memoryDecompression = copy_src.memoryDecompression; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT& safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::operator=( + const safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + memoryDecompression = copy_src.memoryDecompression; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::~safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::initialize( + const VkPhysicalDeviceMemoryDecompressionFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + memoryDecompression = in_struct->memoryDecompression; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT::initialize( + const safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memoryDecompression = copy_src->memoryDecompression; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT( + const VkPhysicalDeviceMemoryDecompressionPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + decompressionMethods(in_struct->decompressionMethods), + maxDecompressionIndirectCount(in_struct->maxDecompressionIndirectCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT), + pNext(nullptr), + decompressionMethods(), + maxDecompressionIndirectCount() {} + +safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT( + const safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT& copy_src) { + sType = copy_src.sType; + decompressionMethods = copy_src.decompressionMethods; + maxDecompressionIndirectCount = copy_src.maxDecompressionIndirectCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT& safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::operator=( + const safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + decompressionMethods = copy_src.decompressionMethods; + maxDecompressionIndirectCount = copy_src.maxDecompressionIndirectCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::~safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::initialize( + const VkPhysicalDeviceMemoryDecompressionPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + decompressionMethods = in_struct->decompressionMethods; + maxDecompressionIndirectCount = in_struct->maxDecompressionIndirectCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT::initialize( + const safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + decompressionMethods = copy_src->decompressionMethods; + maxDecompressionIndirectCount = copy_src->maxDecompressionIndirectCount; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT::safe_VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT( const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -14221,6 +16443,96 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkDecompressMemoryInfoEXT::safe_VkDecompressMemoryInfoEXT(const VkDecompressMemoryInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + decompressionMethod(in_struct->decompressionMethod), + regionCount(in_struct->regionCount), + pRegions(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pRegions) { + pRegions = new VkDecompressMemoryRegionEXT[in_struct->regionCount]; + memcpy((void*)pRegions, (void*)in_struct->pRegions, sizeof(VkDecompressMemoryRegionEXT) * in_struct->regionCount); + } +} + +safe_VkDecompressMemoryInfoEXT::safe_VkDecompressMemoryInfoEXT() + : sType(VK_STRUCTURE_TYPE_DECOMPRESS_MEMORY_INFO_EXT), + pNext(nullptr), + decompressionMethod(), + regionCount(), + pRegions(nullptr) {} + +safe_VkDecompressMemoryInfoEXT::safe_VkDecompressMemoryInfoEXT(const safe_VkDecompressMemoryInfoEXT& copy_src) { + sType = copy_src.sType; + decompressionMethod = copy_src.decompressionMethod; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pRegions) { + pRegions = new VkDecompressMemoryRegionEXT[copy_src.regionCount]; + memcpy((void*)pRegions, (void*)copy_src.pRegions, sizeof(VkDecompressMemoryRegionEXT) * copy_src.regionCount); + } +} + +safe_VkDecompressMemoryInfoEXT& safe_VkDecompressMemoryInfoEXT::operator=(const safe_VkDecompressMemoryInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + + sType = copy_src.sType; + decompressionMethod = copy_src.decompressionMethod; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pRegions) { + pRegions = new VkDecompressMemoryRegionEXT[copy_src.regionCount]; + memcpy((void*)pRegions, (void*)copy_src.pRegions, sizeof(VkDecompressMemoryRegionEXT) * copy_src.regionCount); + } + + return *this; +} + +safe_VkDecompressMemoryInfoEXT::~safe_VkDecompressMemoryInfoEXT() { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); +} + +void safe_VkDecompressMemoryInfoEXT::initialize(const VkDecompressMemoryInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + sType = in_struct->sType; + decompressionMethod = in_struct->decompressionMethod; + regionCount = in_struct->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pRegions) { + pRegions = new VkDecompressMemoryRegionEXT[in_struct->regionCount]; + memcpy((void*)pRegions, (void*)in_struct->pRegions, sizeof(VkDecompressMemoryRegionEXT) * in_struct->regionCount); + } +} + +void safe_VkDecompressMemoryInfoEXT::initialize(const safe_VkDecompressMemoryInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + decompressionMethod = copy_src->decompressionMethod; + regionCount = copy_src->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pRegions) { + pRegions = new VkDecompressMemoryRegionEXT[copy_src->regionCount]; + memcpy((void*)pRegions, (void*)copy_src->pRegions, sizeof(VkDecompressMemoryRegionEXT) * copy_src->regionCount); + } +} + safe_VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT::safe_VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT( const VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -14274,6 +16586,63 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::safe_VkPhysicalDeviceShaderFloat8FeaturesEXT( + const VkPhysicalDeviceShaderFloat8FeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + shaderFloat8(in_struct->shaderFloat8), + shaderFloat8CooperativeMatrix(in_struct->shaderFloat8CooperativeMatrix) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::safe_VkPhysicalDeviceShaderFloat8FeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT), + pNext(nullptr), + shaderFloat8(), + shaderFloat8CooperativeMatrix() {} + +safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::safe_VkPhysicalDeviceShaderFloat8FeaturesEXT( + const safe_VkPhysicalDeviceShaderFloat8FeaturesEXT& copy_src) { + sType = copy_src.sType; + shaderFloat8 = copy_src.shaderFloat8; + shaderFloat8CooperativeMatrix = copy_src.shaderFloat8CooperativeMatrix; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderFloat8FeaturesEXT& safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::operator=( + const safe_VkPhysicalDeviceShaderFloat8FeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderFloat8 = copy_src.shaderFloat8; + shaderFloat8CooperativeMatrix = copy_src.shaderFloat8CooperativeMatrix; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::~safe_VkPhysicalDeviceShaderFloat8FeaturesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::initialize(const VkPhysicalDeviceShaderFloat8FeaturesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderFloat8 = in_struct->shaderFloat8; + shaderFloat8CooperativeMatrix = in_struct->shaderFloat8CooperativeMatrix; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderFloat8FeaturesEXT::initialize(const safe_VkPhysicalDeviceShaderFloat8FeaturesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderFloat8 = copy_src->shaderFloat8; + shaderFloat8CooperativeMatrix = copy_src->shaderFloat8CooperativeMatrix; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT::safe_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT( const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -15415,6 +17784,120 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT( + const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + rayTracingInvocationReorderReorderingHint(in_struct->rayTracingInvocationReorderReorderingHint), + maxShaderBindingTableRecordIndex(in_struct->maxShaderBindingTableRecordIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT), + pNext(nullptr), + rayTracingInvocationReorderReorderingHint(), + maxShaderBindingTableRecordIndex() {} + +safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT( + const safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT& copy_src) { + sType = copy_src.sType; + rayTracingInvocationReorderReorderingHint = copy_src.rayTracingInvocationReorderReorderingHint; + maxShaderBindingTableRecordIndex = copy_src.maxShaderBindingTableRecordIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT& +safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::operator=( + const safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rayTracingInvocationReorderReorderingHint = copy_src.rayTracingInvocationReorderReorderingHint; + maxShaderBindingTableRecordIndex = copy_src.maxShaderBindingTableRecordIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::~safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::initialize( + const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rayTracingInvocationReorderReorderingHint = in_struct->rayTracingInvocationReorderReorderingHint; + maxShaderBindingTableRecordIndex = in_struct->maxShaderBindingTableRecordIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT::initialize( + const safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rayTracingInvocationReorderReorderingHint = copy_src->rayTracingInvocationReorderReorderingHint; + maxShaderBindingTableRecordIndex = copy_src->maxShaderBindingTableRecordIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT( + const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), rayTracingInvocationReorder(in_struct->rayTracingInvocationReorder) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT), + pNext(nullptr), + rayTracingInvocationReorder() {} + +safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT( + const safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT& copy_src) { + sType = copy_src.sType; + rayTracingInvocationReorder = copy_src.rayTracingInvocationReorder; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT& safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::operator=( + const safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rayTracingInvocationReorder = copy_src.rayTracingInvocationReorder; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::~safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::initialize( + const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rayTracingInvocationReorder = in_struct->rayTracingInvocationReorder; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT::initialize( + const safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rayTracingInvocationReorder = copy_src->rayTracingInvocationReorder; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceDepthClampControlFeaturesEXT::safe_VkPhysicalDeviceDepthClampControlFeaturesEXT( const VkPhysicalDeviceDepthClampControlFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), depthClampControl(in_struct->depthClampControl) { @@ -15541,6 +18024,161 @@ pDepthClampRange = new VkDepthClampRangeEXT(*copy_src->pDepthClampRange); } } +#ifdef VK_USE_PLATFORM_METAL_EXT + +safe_VkImportMemoryMetalHandleInfoEXT::safe_VkImportMemoryMetalHandleInfoEXT(const VkImportMemoryMetalHandleInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), handleType(in_struct->handleType), handle(in_struct->handle) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkImportMemoryMetalHandleInfoEXT::safe_VkImportMemoryMetalHandleInfoEXT() + : sType(VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT), pNext(nullptr), handleType(), handle(nullptr) {} + +safe_VkImportMemoryMetalHandleInfoEXT::safe_VkImportMemoryMetalHandleInfoEXT( + const safe_VkImportMemoryMetalHandleInfoEXT& copy_src) { + sType = copy_src.sType; + handleType = copy_src.handleType; + handle = copy_src.handle; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkImportMemoryMetalHandleInfoEXT& safe_VkImportMemoryMetalHandleInfoEXT::operator=( + const safe_VkImportMemoryMetalHandleInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + handleType = copy_src.handleType; + handle = copy_src.handle; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkImportMemoryMetalHandleInfoEXT::~safe_VkImportMemoryMetalHandleInfoEXT() { FreePnextChain(pNext); } + +void safe_VkImportMemoryMetalHandleInfoEXT::initialize(const VkImportMemoryMetalHandleInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + handleType = in_struct->handleType; + handle = in_struct->handle; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkImportMemoryMetalHandleInfoEXT::initialize(const safe_VkImportMemoryMetalHandleInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + handleType = copy_src->handleType; + handle = copy_src->handle; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkMemoryMetalHandlePropertiesEXT::safe_VkMemoryMetalHandlePropertiesEXT(const VkMemoryMetalHandlePropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), memoryTypeBits(in_struct->memoryTypeBits) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryMetalHandlePropertiesEXT::safe_VkMemoryMetalHandlePropertiesEXT() + : sType(VK_STRUCTURE_TYPE_MEMORY_METAL_HANDLE_PROPERTIES_EXT), pNext(nullptr), memoryTypeBits() {} + +safe_VkMemoryMetalHandlePropertiesEXT::safe_VkMemoryMetalHandlePropertiesEXT( + const safe_VkMemoryMetalHandlePropertiesEXT& copy_src) { + sType = copy_src.sType; + memoryTypeBits = copy_src.memoryTypeBits; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryMetalHandlePropertiesEXT& safe_VkMemoryMetalHandlePropertiesEXT::operator=( + const safe_VkMemoryMetalHandlePropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + memoryTypeBits = copy_src.memoryTypeBits; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryMetalHandlePropertiesEXT::~safe_VkMemoryMetalHandlePropertiesEXT() { FreePnextChain(pNext); } + +void safe_VkMemoryMetalHandlePropertiesEXT::initialize(const VkMemoryMetalHandlePropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + memoryTypeBits = in_struct->memoryTypeBits; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryMetalHandlePropertiesEXT::initialize(const safe_VkMemoryMetalHandlePropertiesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memoryTypeBits = copy_src->memoryTypeBits; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkMemoryGetMetalHandleInfoEXT::safe_VkMemoryGetMetalHandleInfoEXT(const VkMemoryGetMetalHandleInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), memory(in_struct->memory), handleType(in_struct->handleType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryGetMetalHandleInfoEXT::safe_VkMemoryGetMetalHandleInfoEXT() + : sType(VK_STRUCTURE_TYPE_MEMORY_GET_METAL_HANDLE_INFO_EXT), pNext(nullptr), memory(), handleType() {} + +safe_VkMemoryGetMetalHandleInfoEXT::safe_VkMemoryGetMetalHandleInfoEXT(const safe_VkMemoryGetMetalHandleInfoEXT& copy_src) { + sType = copy_src.sType; + memory = copy_src.memory; + handleType = copy_src.handleType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryGetMetalHandleInfoEXT& safe_VkMemoryGetMetalHandleInfoEXT::operator=( + const safe_VkMemoryGetMetalHandleInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + memory = copy_src.memory; + handleType = copy_src.handleType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryGetMetalHandleInfoEXT::~safe_VkMemoryGetMetalHandleInfoEXT() { FreePnextChain(pNext); } + +void safe_VkMemoryGetMetalHandleInfoEXT::initialize(const VkMemoryGetMetalHandleInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + memory = in_struct->memory; + handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryGetMetalHandleInfoEXT::initialize(const safe_VkMemoryGetMetalHandleInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memory = copy_src->memory; + handleType = copy_src->handleType; + pNext = SafePnextCopy(copy_src->pNext); +} +#endif // VK_USE_PLATFORM_METAL_EXT safe_VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT::safe_VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT( const VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, @@ -15595,6 +18233,560 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT( + const VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), zeroInitializeDeviceMemory(in_struct->zeroInitializeDeviceMemory) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT), + pNext(nullptr), + zeroInitializeDeviceMemory() {} + +safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT( + const safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT& copy_src) { + sType = copy_src.sType; + zeroInitializeDeviceMemory = copy_src.zeroInitializeDeviceMemory; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT& safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::operator=( + const safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + zeroInitializeDeviceMemory = copy_src.zeroInitializeDeviceMemory; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::~safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::initialize( + const VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + zeroInitializeDeviceMemory = in_struct->zeroInitializeDeviceMemory; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT::initialize( + const safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + zeroInitializeDeviceMemory = copy_src->zeroInitializeDeviceMemory; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT( + const VkPhysicalDeviceShader64BitIndexingFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shader64BitIndexing(in_struct->shader64BitIndexing) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT), pNext(nullptr), shader64BitIndexing() {} + +safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT( + const safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT& copy_src) { + sType = copy_src.sType; + shader64BitIndexing = copy_src.shader64BitIndexing; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT& safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::operator=( + const safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shader64BitIndexing = copy_src.shader64BitIndexing; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::~safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::initialize( + const VkPhysicalDeviceShader64BitIndexingFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shader64BitIndexing = in_struct->shader64BitIndexing; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT::initialize( + const safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shader64BitIndexing = copy_src->shader64BitIndexing; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceCustomResolveFeaturesEXT::safe_VkPhysicalDeviceCustomResolveFeaturesEXT( + const VkPhysicalDeviceCustomResolveFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), customResolve(in_struct->customResolve) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceCustomResolveFeaturesEXT::safe_VkPhysicalDeviceCustomResolveFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT), pNext(nullptr), customResolve() {} + +safe_VkPhysicalDeviceCustomResolveFeaturesEXT::safe_VkPhysicalDeviceCustomResolveFeaturesEXT( + const safe_VkPhysicalDeviceCustomResolveFeaturesEXT& copy_src) { + sType = copy_src.sType; + customResolve = copy_src.customResolve; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceCustomResolveFeaturesEXT& safe_VkPhysicalDeviceCustomResolveFeaturesEXT::operator=( + const safe_VkPhysicalDeviceCustomResolveFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + customResolve = copy_src.customResolve; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCustomResolveFeaturesEXT::~safe_VkPhysicalDeviceCustomResolveFeaturesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceCustomResolveFeaturesEXT::initialize(const VkPhysicalDeviceCustomResolveFeaturesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + customResolve = in_struct->customResolve; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceCustomResolveFeaturesEXT::initialize(const safe_VkPhysicalDeviceCustomResolveFeaturesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + customResolve = copy_src->customResolve; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBeginCustomResolveInfoEXT::safe_VkBeginCustomResolveInfoEXT(const VkBeginCustomResolveInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBeginCustomResolveInfoEXT::safe_VkBeginCustomResolveInfoEXT() + : sType(VK_STRUCTURE_TYPE_BEGIN_CUSTOM_RESOLVE_INFO_EXT), pNext(nullptr) {} + +safe_VkBeginCustomResolveInfoEXT::safe_VkBeginCustomResolveInfoEXT(const safe_VkBeginCustomResolveInfoEXT& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBeginCustomResolveInfoEXT& safe_VkBeginCustomResolveInfoEXT::operator=(const safe_VkBeginCustomResolveInfoEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBeginCustomResolveInfoEXT::~safe_VkBeginCustomResolveInfoEXT() { FreePnextChain(pNext); } + +void safe_VkBeginCustomResolveInfoEXT::initialize(const VkBeginCustomResolveInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBeginCustomResolveInfoEXT::initialize(const safe_VkBeginCustomResolveInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCustomResolveCreateInfoEXT::safe_VkCustomResolveCreateInfoEXT(const VkCustomResolveCreateInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + customResolve(in_struct->customResolve), + colorAttachmentCount(in_struct->colorAttachmentCount), + pColorAttachmentFormats(nullptr), + depthAttachmentFormat(in_struct->depthAttachmentFormat), + stencilAttachmentFormat(in_struct->stencilAttachmentFormat) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)in_struct->pColorAttachmentFormats, + sizeof(VkFormat) * in_struct->colorAttachmentCount); + } +} + +safe_VkCustomResolveCreateInfoEXT::safe_VkCustomResolveCreateInfoEXT() + : sType(VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT), + pNext(nullptr), + customResolve(), + colorAttachmentCount(), + pColorAttachmentFormats(nullptr), + depthAttachmentFormat(), + stencilAttachmentFormat() {} + +safe_VkCustomResolveCreateInfoEXT::safe_VkCustomResolveCreateInfoEXT(const safe_VkCustomResolveCreateInfoEXT& copy_src) { + sType = copy_src.sType; + customResolve = copy_src.customResolve; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = copy_src.depthAttachmentFormat; + stencilAttachmentFormat = copy_src.stencilAttachmentFormat; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)copy_src.pColorAttachmentFormats, + sizeof(VkFormat) * copy_src.colorAttachmentCount); + } +} + +safe_VkCustomResolveCreateInfoEXT& safe_VkCustomResolveCreateInfoEXT::operator=(const safe_VkCustomResolveCreateInfoEXT& copy_src) { + if (©_src == this) return *this; + + if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; + FreePnextChain(pNext); + + sType = copy_src.sType; + customResolve = copy_src.customResolve; + colorAttachmentCount = copy_src.colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = copy_src.depthAttachmentFormat; + stencilAttachmentFormat = copy_src.stencilAttachmentFormat; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[copy_src.colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)copy_src.pColorAttachmentFormats, + sizeof(VkFormat) * copy_src.colorAttachmentCount); + } + + return *this; +} + +safe_VkCustomResolveCreateInfoEXT::~safe_VkCustomResolveCreateInfoEXT() { + if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; + FreePnextChain(pNext); +} + +void safe_VkCustomResolveCreateInfoEXT::initialize(const VkCustomResolveCreateInfoEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pColorAttachmentFormats) delete[] pColorAttachmentFormats; + FreePnextChain(pNext); + sType = in_struct->sType; + customResolve = in_struct->customResolve; + colorAttachmentCount = in_struct->colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = in_struct->depthAttachmentFormat; + stencilAttachmentFormat = in_struct->stencilAttachmentFormat; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[in_struct->colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)in_struct->pColorAttachmentFormats, + sizeof(VkFormat) * in_struct->colorAttachmentCount); + } +} + +void safe_VkCustomResolveCreateInfoEXT::initialize(const safe_VkCustomResolveCreateInfoEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + customResolve = copy_src->customResolve; + colorAttachmentCount = copy_src->colorAttachmentCount; + pColorAttachmentFormats = nullptr; + depthAttachmentFormat = copy_src->depthAttachmentFormat; + stencilAttachmentFormat = copy_src->stencilAttachmentFormat; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pColorAttachmentFormats) { + pColorAttachmentFormats = new VkFormat[copy_src->colorAttachmentCount]; + memcpy((void*)pColorAttachmentFormats, (void*)copy_src->pColorAttachmentFormats, + sizeof(VkFormat) * copy_src->colorAttachmentCount); + } +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT( + const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), longVector(in_struct->longVector) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT), pNext(nullptr), longVector() {} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT( + const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src) { + sType = copy_src.sType; + longVector = copy_src.longVector; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::operator=( + const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + longVector = copy_src.longVector; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::~safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::initialize(const VkPhysicalDeviceShaderLongVectorFeaturesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + longVector = in_struct->longVector; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT::initialize(const safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + longVector = copy_src->longVector; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT( + const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxVectorComponents(in_struct->maxVectorComponents) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT), pNext(nullptr), maxVectorComponents() {} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src) { + sType = copy_src.sType; + maxVectorComponents = copy_src.maxVectorComponents; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::operator=( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxVectorComponents = copy_src.maxVectorComponents; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::~safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::initialize(const VkPhysicalDeviceShaderLongVectorPropertiesEXT* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxVectorComponents = in_struct->maxVectorComponents; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT::initialize( + const safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxVectorComponents = copy_src->maxVectorComponents; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT( + const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderUniformBufferUnsizedArray(in_struct->shaderUniformBufferUnsizedArray) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT), + pNext(nullptr), + shaderUniformBufferUnsizedArray() {} + +safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT( + const safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT& copy_src) { + sType = copy_src.sType; + shaderUniformBufferUnsizedArray = copy_src.shaderUniformBufferUnsizedArray; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT& +safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::operator=( + const safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderUniformBufferUnsizedArray = copy_src.shaderUniformBufferUnsizedArray; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT:: + ~safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::initialize( + const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderUniformBufferUnsizedArray = in_struct->shaderUniformBufferUnsizedArray; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT::initialize( + const safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderUniformBufferUnsizedArray = copy_src->shaderUniformBufferUnsizedArray; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT( + const VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), shaderSubgroupPartitioned(in_struct->shaderSubgroupPartitioned) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT), + pNext(nullptr), + shaderSubgroupPartitioned() {} + +safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT( + const safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT& copy_src) { + sType = copy_src.sType; + shaderSubgroupPartitioned = copy_src.shaderSubgroupPartitioned; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT& safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::operator=( + const safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderSubgroupPartitioned = copy_src.shaderSubgroupPartitioned; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::~safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::initialize( + const VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderSubgroupPartitioned = in_struct->shaderSubgroupPartitioned; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT::initialize( + const safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderSubgroupPartitioned = copy_src->shaderSubgroupPartitioned; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT( + const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), primitiveRestartIndex(in_struct->primitiveRestartIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT), pNext(nullptr), primitiveRestartIndex() {} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src) { + sType = copy_src.sType; + primitiveRestartIndex = copy_src.primitiveRestartIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::operator=( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + primitiveRestartIndex = copy_src.primitiveRestartIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::~safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::initialize( + const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + primitiveRestartIndex = in_struct->primitiveRestartIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT::initialize( + const safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + primitiveRestartIndex = copy_src->primitiveRestartIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceMeshShaderFeaturesEXT::safe_VkPhysicalDeviceMeshShaderFeaturesEXT( const VkPhysicalDeviceMeshShaderFeaturesEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType),
diff --git a/src/vulkan/vk_safe_struct_khr.cpp b/src/vulkan/vk_safe_struct_khr.cpp index 5afca11..76a3ef0 100644 --- a/src/vulkan/vk_safe_struct_khr.cpp +++ b/src/vulkan/vk_safe_struct_khr.cpp
@@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -7740,6 +7740,69 @@ capabilities = copy_src->capabilities; pNext = SafePnextCopy(copy_src->pNext); } + +safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR( + const VkPhysicalDeviceShaderBfloat16FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + shaderBFloat16Type(in_struct->shaderBFloat16Type), + shaderBFloat16DotProduct(in_struct->shaderBFloat16DotProduct), + shaderBFloat16CooperativeMatrix(in_struct->shaderBFloat16CooperativeMatrix) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR), + pNext(nullptr), + shaderBFloat16Type(), + shaderBFloat16DotProduct(), + shaderBFloat16CooperativeMatrix() {} + +safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR( + const safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderBFloat16Type = copy_src.shaderBFloat16Type; + shaderBFloat16DotProduct = copy_src.shaderBFloat16DotProduct; + shaderBFloat16CooperativeMatrix = copy_src.shaderBFloat16CooperativeMatrix; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR& safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderBFloat16Type = copy_src.shaderBFloat16Type; + shaderBFloat16DotProduct = copy_src.shaderBFloat16DotProduct; + shaderBFloat16CooperativeMatrix = copy_src.shaderBFloat16CooperativeMatrix; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::~safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::initialize(const VkPhysicalDeviceShaderBfloat16FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderBFloat16Type = in_struct->shaderBFloat16Type; + shaderBFloat16DotProduct = in_struct->shaderBFloat16DotProduct; + shaderBFloat16CooperativeMatrix = in_struct->shaderBFloat16CooperativeMatrix; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderBFloat16Type = copy_src->shaderBFloat16Type; + shaderBFloat16DotProduct = copy_src->shaderBFloat16DotProduct; + shaderBFloat16CooperativeMatrix = copy_src->shaderBFloat16CooperativeMatrix; + pNext = SafePnextCopy(copy_src->pNext); +} #ifdef VK_ENABLE_BETA_EXTENSIONS safe_VkPhysicalDevicePortabilitySubsetFeaturesKHR::safe_VkPhysicalDevicePortabilitySubsetFeaturesKHR( @@ -8995,6 +9058,205 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR( + const VkPhysicalDeviceShaderConstantDataFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderConstantData(in_struct->shaderConstantData) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR), pNext(nullptr), shaderConstantData() {} + +safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR( + const safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderConstantData = copy_src.shaderConstantData; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR& safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderConstantData = copy_src.shaderConstantData; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::~safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::initialize(const VkPhysicalDeviceShaderConstantDataFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderConstantData = in_struct->shaderConstantData; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderConstantData = copy_src->shaderConstantData; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderAbortFeaturesKHR::safe_VkPhysicalDeviceShaderAbortFeaturesKHR( + const VkPhysicalDeviceShaderAbortFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderAbort(in_struct->shaderAbort) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderAbortFeaturesKHR::safe_VkPhysicalDeviceShaderAbortFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR), pNext(nullptr), shaderAbort() {} + +safe_VkPhysicalDeviceShaderAbortFeaturesKHR::safe_VkPhysicalDeviceShaderAbortFeaturesKHR( + const safe_VkPhysicalDeviceShaderAbortFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderAbort = copy_src.shaderAbort; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderAbortFeaturesKHR& safe_VkPhysicalDeviceShaderAbortFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderAbortFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderAbort = copy_src.shaderAbort; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderAbortFeaturesKHR::~safe_VkPhysicalDeviceShaderAbortFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderAbortFeaturesKHR::initialize(const VkPhysicalDeviceShaderAbortFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderAbort = in_struct->shaderAbort; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderAbortFeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderAbortFeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderAbort = copy_src->shaderAbort; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDeviceFaultShaderAbortMessageInfoKHR::safe_VkDeviceFaultShaderAbortMessageInfoKHR( + const VkDeviceFaultShaderAbortMessageInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), messageDataSize(in_struct->messageDataSize), pMessageData(in_struct->pMessageData) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDeviceFaultShaderAbortMessageInfoKHR::safe_VkDeviceFaultShaderAbortMessageInfoKHR() + : sType(VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR), + pNext(nullptr), + messageDataSize(), + pMessageData(nullptr) {} + +safe_VkDeviceFaultShaderAbortMessageInfoKHR::safe_VkDeviceFaultShaderAbortMessageInfoKHR( + const safe_VkDeviceFaultShaderAbortMessageInfoKHR& copy_src) { + sType = copy_src.sType; + messageDataSize = copy_src.messageDataSize; + pMessageData = copy_src.pMessageData; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDeviceFaultShaderAbortMessageInfoKHR& safe_VkDeviceFaultShaderAbortMessageInfoKHR::operator=( + const safe_VkDeviceFaultShaderAbortMessageInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + messageDataSize = copy_src.messageDataSize; + pMessageData = copy_src.pMessageData; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDeviceFaultShaderAbortMessageInfoKHR::~safe_VkDeviceFaultShaderAbortMessageInfoKHR() { FreePnextChain(pNext); } + +void safe_VkDeviceFaultShaderAbortMessageInfoKHR::initialize(const VkDeviceFaultShaderAbortMessageInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + messageDataSize = in_struct->messageDataSize; + pMessageData = in_struct->pMessageData; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDeviceFaultShaderAbortMessageInfoKHR::initialize(const safe_VkDeviceFaultShaderAbortMessageInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + messageDataSize = copy_src->messageDataSize; + pMessageData = copy_src->pMessageData; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderAbortPropertiesKHR::safe_VkPhysicalDeviceShaderAbortPropertiesKHR( + const VkPhysicalDeviceShaderAbortPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxShaderAbortMessageSize(in_struct->maxShaderAbortMessageSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderAbortPropertiesKHR::safe_VkPhysicalDeviceShaderAbortPropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR), pNext(nullptr), maxShaderAbortMessageSize() {} + +safe_VkPhysicalDeviceShaderAbortPropertiesKHR::safe_VkPhysicalDeviceShaderAbortPropertiesKHR( + const safe_VkPhysicalDeviceShaderAbortPropertiesKHR& copy_src) { + sType = copy_src.sType; + maxShaderAbortMessageSize = copy_src.maxShaderAbortMessageSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderAbortPropertiesKHR& safe_VkPhysicalDeviceShaderAbortPropertiesKHR::operator=( + const safe_VkPhysicalDeviceShaderAbortPropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxShaderAbortMessageSize = copy_src.maxShaderAbortMessageSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderAbortPropertiesKHR::~safe_VkPhysicalDeviceShaderAbortPropertiesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderAbortPropertiesKHR::initialize(const VkPhysicalDeviceShaderAbortPropertiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxShaderAbortMessageSize = in_struct->maxShaderAbortMessageSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderAbortPropertiesKHR::initialize(const safe_VkPhysicalDeviceShaderAbortPropertiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxShaderAbortMessageSize = copy_src->maxShaderAbortMessageSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR::safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR( const VkPhysicalDeviceShaderQuadControlFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), shaderQuadControl(in_struct->shaderQuadControl) { @@ -10601,6 +10863,925 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkDeviceMemoryCopyKHR::safe_VkDeviceMemoryCopyKHR(const VkDeviceMemoryCopyKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcRange(in_struct->srcRange), + srcFlags(in_struct->srcFlags), + dstRange(in_struct->dstRange), + dstFlags(in_struct->dstFlags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDeviceMemoryCopyKHR::safe_VkDeviceMemoryCopyKHR() + : sType(VK_STRUCTURE_TYPE_DEVICE_MEMORY_COPY_KHR), pNext(nullptr), srcRange(), srcFlags(), dstRange(), dstFlags() {} + +safe_VkDeviceMemoryCopyKHR::safe_VkDeviceMemoryCopyKHR(const safe_VkDeviceMemoryCopyKHR& copy_src) { + sType = copy_src.sType; + srcRange = copy_src.srcRange; + srcFlags = copy_src.srcFlags; + dstRange = copy_src.dstRange; + dstFlags = copy_src.dstFlags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDeviceMemoryCopyKHR& safe_VkDeviceMemoryCopyKHR::operator=(const safe_VkDeviceMemoryCopyKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcRange = copy_src.srcRange; + srcFlags = copy_src.srcFlags; + dstRange = copy_src.dstRange; + dstFlags = copy_src.dstFlags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDeviceMemoryCopyKHR::~safe_VkDeviceMemoryCopyKHR() { FreePnextChain(pNext); } + +void safe_VkDeviceMemoryCopyKHR::initialize(const VkDeviceMemoryCopyKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcRange = in_struct->srcRange; + srcFlags = in_struct->srcFlags; + dstRange = in_struct->dstRange; + dstFlags = in_struct->dstFlags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDeviceMemoryCopyKHR::initialize(const safe_VkDeviceMemoryCopyKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcRange = copy_src->srcRange; + srcFlags = copy_src->srcFlags; + dstRange = copy_src->dstRange; + dstFlags = copy_src->dstFlags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCopyDeviceMemoryInfoKHR::safe_VkCopyDeviceMemoryInfoKHR(const VkCopyDeviceMemoryInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), regionCount(in_struct->regionCount), pRegions(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkDeviceMemoryCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +safe_VkCopyDeviceMemoryInfoKHR::safe_VkCopyDeviceMemoryInfoKHR() + : sType(VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_INFO_KHR), pNext(nullptr), regionCount(), pRegions(nullptr) {} + +safe_VkCopyDeviceMemoryInfoKHR::safe_VkCopyDeviceMemoryInfoKHR(const safe_VkCopyDeviceMemoryInfoKHR& copy_src) { + sType = copy_src.sType; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkDeviceMemoryCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } +} + +safe_VkCopyDeviceMemoryInfoKHR& safe_VkCopyDeviceMemoryInfoKHR::operator=(const safe_VkCopyDeviceMemoryInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + + sType = copy_src.sType; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkDeviceMemoryCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } + + return *this; +} + +safe_VkCopyDeviceMemoryInfoKHR::~safe_VkCopyDeviceMemoryInfoKHR() { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); +} + +void safe_VkCopyDeviceMemoryInfoKHR::initialize(const VkCopyDeviceMemoryInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + sType = in_struct->sType; + regionCount = in_struct->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkDeviceMemoryCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +void safe_VkCopyDeviceMemoryInfoKHR::initialize(const safe_VkCopyDeviceMemoryInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + regionCount = copy_src->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (regionCount && copy_src->pRegions) { + pRegions = new safe_VkDeviceMemoryCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src->pRegions[i]); + } + } +} + +safe_VkDeviceMemoryImageCopyKHR::safe_VkDeviceMemoryImageCopyKHR(const VkDeviceMemoryImageCopyKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags), + addressRowLength(in_struct->addressRowLength), + addressImageHeight(in_struct->addressImageHeight), + imageSubresource(in_struct->imageSubresource), + imageLayout(in_struct->imageLayout), + imageOffset(in_struct->imageOffset), + imageExtent(in_struct->imageExtent) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDeviceMemoryImageCopyKHR::safe_VkDeviceMemoryImageCopyKHR() + : sType(VK_STRUCTURE_TYPE_DEVICE_MEMORY_IMAGE_COPY_KHR), + pNext(nullptr), + addressRange(), + addressFlags(), + addressRowLength(), + addressImageHeight(), + imageSubresource(), + imageLayout(), + imageOffset(), + imageExtent() {} + +safe_VkDeviceMemoryImageCopyKHR::safe_VkDeviceMemoryImageCopyKHR(const safe_VkDeviceMemoryImageCopyKHR& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + addressRowLength = copy_src.addressRowLength; + addressImageHeight = copy_src.addressImageHeight; + imageSubresource = copy_src.imageSubresource; + imageLayout = copy_src.imageLayout; + imageOffset = copy_src.imageOffset; + imageExtent = copy_src.imageExtent; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDeviceMemoryImageCopyKHR& safe_VkDeviceMemoryImageCopyKHR::operator=(const safe_VkDeviceMemoryImageCopyKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + addressRowLength = copy_src.addressRowLength; + addressImageHeight = copy_src.addressImageHeight; + imageSubresource = copy_src.imageSubresource; + imageLayout = copy_src.imageLayout; + imageOffset = copy_src.imageOffset; + imageExtent = copy_src.imageExtent; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDeviceMemoryImageCopyKHR::~safe_VkDeviceMemoryImageCopyKHR() { FreePnextChain(pNext); } + +void safe_VkDeviceMemoryImageCopyKHR::initialize(const VkDeviceMemoryImageCopyKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + addressRowLength = in_struct->addressRowLength; + addressImageHeight = in_struct->addressImageHeight; + imageSubresource = in_struct->imageSubresource; + imageLayout = in_struct->imageLayout; + imageOffset = in_struct->imageOffset; + imageExtent = in_struct->imageExtent; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDeviceMemoryImageCopyKHR::initialize(const safe_VkDeviceMemoryImageCopyKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + addressRowLength = copy_src->addressRowLength; + addressImageHeight = copy_src->addressImageHeight; + imageSubresource = copy_src->imageSubresource; + imageLayout = copy_src->imageLayout; + imageOffset = copy_src->imageOffset; + imageExtent = copy_src->imageExtent; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCopyDeviceMemoryImageInfoKHR::safe_VkCopyDeviceMemoryImageInfoKHR(const VkCopyDeviceMemoryImageInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), image(in_struct->image), regionCount(in_struct->regionCount), pRegions(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkDeviceMemoryImageCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +safe_VkCopyDeviceMemoryImageInfoKHR::safe_VkCopyDeviceMemoryImageInfoKHR() + : sType(VK_STRUCTURE_TYPE_COPY_DEVICE_MEMORY_IMAGE_INFO_KHR), pNext(nullptr), image(), regionCount(), pRegions(nullptr) {} + +safe_VkCopyDeviceMemoryImageInfoKHR::safe_VkCopyDeviceMemoryImageInfoKHR(const safe_VkCopyDeviceMemoryImageInfoKHR& copy_src) { + sType = copy_src.sType; + image = copy_src.image; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkDeviceMemoryImageCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } +} + +safe_VkCopyDeviceMemoryImageInfoKHR& safe_VkCopyDeviceMemoryImageInfoKHR::operator=( + const safe_VkCopyDeviceMemoryImageInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + + sType = copy_src.sType; + image = copy_src.image; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkDeviceMemoryImageCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } + + return *this; +} + +safe_VkCopyDeviceMemoryImageInfoKHR::~safe_VkCopyDeviceMemoryImageInfoKHR() { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); +} + +void safe_VkCopyDeviceMemoryImageInfoKHR::initialize(const VkCopyDeviceMemoryImageInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + sType = in_struct->sType; + image = in_struct->image; + regionCount = in_struct->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkDeviceMemoryImageCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +void safe_VkCopyDeviceMemoryImageInfoKHR::initialize(const safe_VkCopyDeviceMemoryImageInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + image = copy_src->image; + regionCount = copy_src->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (regionCount && copy_src->pRegions) { + pRegions = new safe_VkDeviceMemoryImageCopyKHR[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src->pRegions[i]); + } + } +} + +safe_VkMemoryRangeBarrierKHR::safe_VkMemoryRangeBarrierKHR(const VkMemoryRangeBarrierKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcStageMask(in_struct->srcStageMask), + srcAccessMask(in_struct->srcAccessMask), + dstStageMask(in_struct->dstStageMask), + dstAccessMask(in_struct->dstAccessMask), + srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), + dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryRangeBarrierKHR::safe_VkMemoryRangeBarrierKHR() + : sType(VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIER_KHR), + pNext(nullptr), + srcStageMask(), + srcAccessMask(), + dstStageMask(), + dstAccessMask(), + srcQueueFamilyIndex(), + dstQueueFamilyIndex(), + addressRange(), + addressFlags() {} + +safe_VkMemoryRangeBarrierKHR::safe_VkMemoryRangeBarrierKHR(const safe_VkMemoryRangeBarrierKHR& copy_src) { + sType = copy_src.sType; + srcStageMask = copy_src.srcStageMask; + srcAccessMask = copy_src.srcAccessMask; + dstStageMask = copy_src.dstStageMask; + dstAccessMask = copy_src.dstAccessMask; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryRangeBarrierKHR& safe_VkMemoryRangeBarrierKHR::operator=(const safe_VkMemoryRangeBarrierKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcStageMask = copy_src.srcStageMask; + srcAccessMask = copy_src.srcAccessMask; + dstStageMask = copy_src.dstStageMask; + dstAccessMask = copy_src.dstAccessMask; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryRangeBarrierKHR::~safe_VkMemoryRangeBarrierKHR() { FreePnextChain(pNext); } + +void safe_VkMemoryRangeBarrierKHR::initialize(const VkMemoryRangeBarrierKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcStageMask = in_struct->srcStageMask; + srcAccessMask = in_struct->srcAccessMask; + dstStageMask = in_struct->dstStageMask; + dstAccessMask = in_struct->dstAccessMask; + srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; + dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryRangeBarrierKHR::initialize(const safe_VkMemoryRangeBarrierKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcStageMask = copy_src->srcStageMask; + srcAccessMask = copy_src->srcAccessMask; + dstStageMask = copy_src->dstStageMask; + dstAccessMask = copy_src->dstAccessMask; + srcQueueFamilyIndex = copy_src->srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src->dstQueueFamilyIndex; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkMemoryRangeBarriersInfoKHR::safe_VkMemoryRangeBarriersInfoKHR(const VkMemoryRangeBarriersInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), memoryRangeBarrierCount(in_struct->memoryRangeBarrierCount), pMemoryRangeBarriers(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (memoryRangeBarrierCount && in_struct->pMemoryRangeBarriers) { + pMemoryRangeBarriers = new safe_VkMemoryRangeBarrierKHR[memoryRangeBarrierCount]; + for (uint32_t i = 0; i < memoryRangeBarrierCount; ++i) { + pMemoryRangeBarriers[i].initialize(&in_struct->pMemoryRangeBarriers[i]); + } + } +} + +safe_VkMemoryRangeBarriersInfoKHR::safe_VkMemoryRangeBarriersInfoKHR() + : sType(VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR), + pNext(nullptr), + memoryRangeBarrierCount(), + pMemoryRangeBarriers(nullptr) {} + +safe_VkMemoryRangeBarriersInfoKHR::safe_VkMemoryRangeBarriersInfoKHR(const safe_VkMemoryRangeBarriersInfoKHR& copy_src) { + sType = copy_src.sType; + memoryRangeBarrierCount = copy_src.memoryRangeBarrierCount; + pMemoryRangeBarriers = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (memoryRangeBarrierCount && copy_src.pMemoryRangeBarriers) { + pMemoryRangeBarriers = new safe_VkMemoryRangeBarrierKHR[memoryRangeBarrierCount]; + for (uint32_t i = 0; i < memoryRangeBarrierCount; ++i) { + pMemoryRangeBarriers[i].initialize(©_src.pMemoryRangeBarriers[i]); + } + } +} + +safe_VkMemoryRangeBarriersInfoKHR& safe_VkMemoryRangeBarriersInfoKHR::operator=(const safe_VkMemoryRangeBarriersInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pMemoryRangeBarriers) delete[] pMemoryRangeBarriers; + FreePnextChain(pNext); + + sType = copy_src.sType; + memoryRangeBarrierCount = copy_src.memoryRangeBarrierCount; + pMemoryRangeBarriers = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (memoryRangeBarrierCount && copy_src.pMemoryRangeBarriers) { + pMemoryRangeBarriers = new safe_VkMemoryRangeBarrierKHR[memoryRangeBarrierCount]; + for (uint32_t i = 0; i < memoryRangeBarrierCount; ++i) { + pMemoryRangeBarriers[i].initialize(©_src.pMemoryRangeBarriers[i]); + } + } + + return *this; +} + +safe_VkMemoryRangeBarriersInfoKHR::~safe_VkMemoryRangeBarriersInfoKHR() { + if (pMemoryRangeBarriers) delete[] pMemoryRangeBarriers; + FreePnextChain(pNext); +} + +void safe_VkMemoryRangeBarriersInfoKHR::initialize(const VkMemoryRangeBarriersInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pMemoryRangeBarriers) delete[] pMemoryRangeBarriers; + FreePnextChain(pNext); + sType = in_struct->sType; + memoryRangeBarrierCount = in_struct->memoryRangeBarrierCount; + pMemoryRangeBarriers = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (memoryRangeBarrierCount && in_struct->pMemoryRangeBarriers) { + pMemoryRangeBarriers = new safe_VkMemoryRangeBarrierKHR[memoryRangeBarrierCount]; + for (uint32_t i = 0; i < memoryRangeBarrierCount; ++i) { + pMemoryRangeBarriers[i].initialize(&in_struct->pMemoryRangeBarriers[i]); + } + } +} + +void safe_VkMemoryRangeBarriersInfoKHR::initialize(const safe_VkMemoryRangeBarriersInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memoryRangeBarrierCount = copy_src->memoryRangeBarrierCount; + pMemoryRangeBarriers = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (memoryRangeBarrierCount && copy_src->pMemoryRangeBarriers) { + pMemoryRangeBarriers = new safe_VkMemoryRangeBarrierKHR[memoryRangeBarrierCount]; + for (uint32_t i = 0; i < memoryRangeBarrierCount; ++i) { + pMemoryRangeBarriers[i].initialize(©_src->pMemoryRangeBarriers[i]); + } + } +} + +safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR( + const VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), deviceAddressCommands(in_struct->deviceAddressCommands) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR), pNext(nullptr), deviceAddressCommands() {} + +safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR( + const safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR& copy_src) { + sType = copy_src.sType; + deviceAddressCommands = copy_src.deviceAddressCommands; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR& safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::operator=( + const safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + deviceAddressCommands = copy_src.deviceAddressCommands; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::~safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::initialize( + const VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + deviceAddressCommands = in_struct->deviceAddressCommands; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR::initialize( + const safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + deviceAddressCommands = copy_src->deviceAddressCommands; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindIndexBuffer3InfoKHR::safe_VkBindIndexBuffer3InfoKHR(const VkBindIndexBuffer3InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags), + indexType(in_struct->indexType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBindIndexBuffer3InfoKHR::safe_VkBindIndexBuffer3InfoKHR() + : sType(VK_STRUCTURE_TYPE_BIND_INDEX_BUFFER_3_INFO_KHR), pNext(nullptr), addressRange(), addressFlags(), indexType() {} + +safe_VkBindIndexBuffer3InfoKHR::safe_VkBindIndexBuffer3InfoKHR(const safe_VkBindIndexBuffer3InfoKHR& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + indexType = copy_src.indexType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBindIndexBuffer3InfoKHR& safe_VkBindIndexBuffer3InfoKHR::operator=(const safe_VkBindIndexBuffer3InfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + indexType = copy_src.indexType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBindIndexBuffer3InfoKHR::~safe_VkBindIndexBuffer3InfoKHR() { FreePnextChain(pNext); } + +void safe_VkBindIndexBuffer3InfoKHR::initialize(const VkBindIndexBuffer3InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + indexType = in_struct->indexType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBindIndexBuffer3InfoKHR::initialize(const safe_VkBindIndexBuffer3InfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + indexType = copy_src->indexType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindVertexBuffer3InfoKHR::safe_VkBindVertexBuffer3InfoKHR(const VkBindVertexBuffer3InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + setStride(in_struct->setStride), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBindVertexBuffer3InfoKHR::safe_VkBindVertexBuffer3InfoKHR() + : sType(VK_STRUCTURE_TYPE_BIND_VERTEX_BUFFER_3_INFO_KHR), pNext(nullptr), setStride(), addressRange(), addressFlags() {} + +safe_VkBindVertexBuffer3InfoKHR::safe_VkBindVertexBuffer3InfoKHR(const safe_VkBindVertexBuffer3InfoKHR& copy_src) { + sType = copy_src.sType; + setStride = copy_src.setStride; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBindVertexBuffer3InfoKHR& safe_VkBindVertexBuffer3InfoKHR::operator=(const safe_VkBindVertexBuffer3InfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + setStride = copy_src.setStride; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBindVertexBuffer3InfoKHR::~safe_VkBindVertexBuffer3InfoKHR() { FreePnextChain(pNext); } + +void safe_VkBindVertexBuffer3InfoKHR::initialize(const VkBindVertexBuffer3InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + setStride = in_struct->setStride; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBindVertexBuffer3InfoKHR::initialize(const safe_VkBindVertexBuffer3InfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + setStride = copy_src->setStride; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDrawIndirect2InfoKHR::safe_VkDrawIndirect2InfoKHR(const VkDrawIndirect2InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags), + drawCount(in_struct->drawCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDrawIndirect2InfoKHR::safe_VkDrawIndirect2InfoKHR() + : sType(VK_STRUCTURE_TYPE_DRAW_INDIRECT_2_INFO_KHR), pNext(nullptr), addressRange(), addressFlags(), drawCount() {} + +safe_VkDrawIndirect2InfoKHR::safe_VkDrawIndirect2InfoKHR(const safe_VkDrawIndirect2InfoKHR& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + drawCount = copy_src.drawCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDrawIndirect2InfoKHR& safe_VkDrawIndirect2InfoKHR::operator=(const safe_VkDrawIndirect2InfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + drawCount = copy_src.drawCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDrawIndirect2InfoKHR::~safe_VkDrawIndirect2InfoKHR() { FreePnextChain(pNext); } + +void safe_VkDrawIndirect2InfoKHR::initialize(const VkDrawIndirect2InfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + drawCount = in_struct->drawCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDrawIndirect2InfoKHR::initialize(const safe_VkDrawIndirect2InfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + drawCount = copy_src->drawCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDrawIndirectCount2InfoKHR::safe_VkDrawIndirectCount2InfoKHR(const VkDrawIndirectCount2InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags), + countAddressRange(in_struct->countAddressRange), + countAddressFlags(in_struct->countAddressFlags), + maxDrawCount(in_struct->maxDrawCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDrawIndirectCount2InfoKHR::safe_VkDrawIndirectCount2InfoKHR() + : sType(VK_STRUCTURE_TYPE_DRAW_INDIRECT_COUNT_2_INFO_KHR), + pNext(nullptr), + addressRange(), + addressFlags(), + countAddressRange(), + countAddressFlags(), + maxDrawCount() {} + +safe_VkDrawIndirectCount2InfoKHR::safe_VkDrawIndirectCount2InfoKHR(const safe_VkDrawIndirectCount2InfoKHR& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + countAddressRange = copy_src.countAddressRange; + countAddressFlags = copy_src.countAddressFlags; + maxDrawCount = copy_src.maxDrawCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDrawIndirectCount2InfoKHR& safe_VkDrawIndirectCount2InfoKHR::operator=(const safe_VkDrawIndirectCount2InfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + countAddressRange = copy_src.countAddressRange; + countAddressFlags = copy_src.countAddressFlags; + maxDrawCount = copy_src.maxDrawCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDrawIndirectCount2InfoKHR::~safe_VkDrawIndirectCount2InfoKHR() { FreePnextChain(pNext); } + +void safe_VkDrawIndirectCount2InfoKHR::initialize(const VkDrawIndirectCount2InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + countAddressRange = in_struct->countAddressRange; + countAddressFlags = in_struct->countAddressFlags; + maxDrawCount = in_struct->maxDrawCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDrawIndirectCount2InfoKHR::initialize(const safe_VkDrawIndirectCount2InfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + countAddressRange = copy_src->countAddressRange; + countAddressFlags = copy_src->countAddressFlags; + maxDrawCount = copy_src->maxDrawCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDispatchIndirect2InfoKHR::safe_VkDispatchIndirect2InfoKHR(const VkDispatchIndirect2InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), addressRange(in_struct->addressRange), addressFlags(in_struct->addressFlags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDispatchIndirect2InfoKHR::safe_VkDispatchIndirect2InfoKHR() + : sType(VK_STRUCTURE_TYPE_DISPATCH_INDIRECT_2_INFO_KHR), pNext(nullptr), addressRange(), addressFlags() {} + +safe_VkDispatchIndirect2InfoKHR::safe_VkDispatchIndirect2InfoKHR(const safe_VkDispatchIndirect2InfoKHR& copy_src) { + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDispatchIndirect2InfoKHR& safe_VkDispatchIndirect2InfoKHR::operator=(const safe_VkDispatchIndirect2InfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDispatchIndirect2InfoKHR::~safe_VkDispatchIndirect2InfoKHR() { FreePnextChain(pNext); } + +void safe_VkDispatchIndirect2InfoKHR::initialize(const VkDispatchIndirect2InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDispatchIndirect2InfoKHR::initialize(const safe_VkDispatchIndirect2InfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAccelerationStructureCreateInfo2KHR::safe_VkAccelerationStructureCreateInfo2KHR( + const VkAccelerationStructureCreateInfo2KHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + createFlags(in_struct->createFlags), + addressRange(in_struct->addressRange), + addressFlags(in_struct->addressFlags), + type(in_struct->type) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAccelerationStructureCreateInfo2KHR::safe_VkAccelerationStructureCreateInfo2KHR() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_2_KHR), + pNext(nullptr), + createFlags(), + addressRange(), + addressFlags(), + type() {} + +safe_VkAccelerationStructureCreateInfo2KHR::safe_VkAccelerationStructureCreateInfo2KHR( + const safe_VkAccelerationStructureCreateInfo2KHR& copy_src) { + sType = copy_src.sType; + createFlags = copy_src.createFlags; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + type = copy_src.type; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAccelerationStructureCreateInfo2KHR& safe_VkAccelerationStructureCreateInfo2KHR::operator=( + const safe_VkAccelerationStructureCreateInfo2KHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + createFlags = copy_src.createFlags; + addressRange = copy_src.addressRange; + addressFlags = copy_src.addressFlags; + type = copy_src.type; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAccelerationStructureCreateInfo2KHR::~safe_VkAccelerationStructureCreateInfo2KHR() { FreePnextChain(pNext); } + +void safe_VkAccelerationStructureCreateInfo2KHR::initialize(const VkAccelerationStructureCreateInfo2KHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + createFlags = in_struct->createFlags; + addressRange = in_struct->addressRange; + addressFlags = in_struct->addressFlags; + type = in_struct->type; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAccelerationStructureCreateInfo2KHR::initialize(const safe_VkAccelerationStructureCreateInfo2KHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + createFlags = copy_src->createFlags; + addressRange = copy_src->addressRange; + addressFlags = copy_src->addressFlags; + type = copy_src->type; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR::safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR( const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -10896,6 +12077,56 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR( + const VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderUntypedPointers(in_struct->shaderUntypedPointers) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR), pNext(nullptr), shaderUntypedPointers() {} + +safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR( + const safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderUntypedPointers = copy_src.shaderUntypedPointers; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR& safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderUntypedPointers = copy_src.shaderUntypedPointers; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::~safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::initialize( + const VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderUntypedPointers = in_struct->shaderUntypedPointers; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR::initialize( + const safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderUntypedPointers = copy_src->shaderUntypedPointers; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR::safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR( const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -10949,6 +12180,324 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkSurfaceCapabilitiesPresentId2KHR::safe_VkSurfaceCapabilitiesPresentId2KHR( + const VkSurfaceCapabilitiesPresentId2KHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentId2Supported(in_struct->presentId2Supported) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSurfaceCapabilitiesPresentId2KHR::safe_VkSurfaceCapabilitiesPresentId2KHR() + : sType(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR), pNext(nullptr), presentId2Supported() {} + +safe_VkSurfaceCapabilitiesPresentId2KHR::safe_VkSurfaceCapabilitiesPresentId2KHR( + const safe_VkSurfaceCapabilitiesPresentId2KHR& copy_src) { + sType = copy_src.sType; + presentId2Supported = copy_src.presentId2Supported; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSurfaceCapabilitiesPresentId2KHR& safe_VkSurfaceCapabilitiesPresentId2KHR::operator=( + const safe_VkSurfaceCapabilitiesPresentId2KHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentId2Supported = copy_src.presentId2Supported; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSurfaceCapabilitiesPresentId2KHR::~safe_VkSurfaceCapabilitiesPresentId2KHR() { FreePnextChain(pNext); } + +void safe_VkSurfaceCapabilitiesPresentId2KHR::initialize(const VkSurfaceCapabilitiesPresentId2KHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentId2Supported = in_struct->presentId2Supported; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSurfaceCapabilitiesPresentId2KHR::initialize(const safe_VkSurfaceCapabilitiesPresentId2KHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentId2Supported = copy_src->presentId2Supported; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPresentId2KHR::safe_VkPresentId2KHR(const VkPresentId2KHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), swapchainCount(in_struct->swapchainCount), pPresentIds(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pPresentIds) { + pPresentIds = new uint64_t[in_struct->swapchainCount]; + memcpy((void*)pPresentIds, (void*)in_struct->pPresentIds, sizeof(uint64_t) * in_struct->swapchainCount); + } +} + +safe_VkPresentId2KHR::safe_VkPresentId2KHR() + : sType(VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR), pNext(nullptr), swapchainCount(), pPresentIds(nullptr) {} + +safe_VkPresentId2KHR::safe_VkPresentId2KHR(const safe_VkPresentId2KHR& copy_src) { + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pPresentIds = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentIds) { + pPresentIds = new uint64_t[copy_src.swapchainCount]; + memcpy((void*)pPresentIds, (void*)copy_src.pPresentIds, sizeof(uint64_t) * copy_src.swapchainCount); + } +} + +safe_VkPresentId2KHR& safe_VkPresentId2KHR::operator=(const safe_VkPresentId2KHR& copy_src) { + if (©_src == this) return *this; + + if (pPresentIds) delete[] pPresentIds; + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pPresentIds = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentIds) { + pPresentIds = new uint64_t[copy_src.swapchainCount]; + memcpy((void*)pPresentIds, (void*)copy_src.pPresentIds, sizeof(uint64_t) * copy_src.swapchainCount); + } + + return *this; +} + +safe_VkPresentId2KHR::~safe_VkPresentId2KHR() { + if (pPresentIds) delete[] pPresentIds; + FreePnextChain(pNext); +} + +void safe_VkPresentId2KHR::initialize(const VkPresentId2KHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pPresentIds) delete[] pPresentIds; + FreePnextChain(pNext); + sType = in_struct->sType; + swapchainCount = in_struct->swapchainCount; + pPresentIds = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pPresentIds) { + pPresentIds = new uint64_t[in_struct->swapchainCount]; + memcpy((void*)pPresentIds, (void*)in_struct->pPresentIds, sizeof(uint64_t) * in_struct->swapchainCount); + } +} + +void safe_VkPresentId2KHR::initialize(const safe_VkPresentId2KHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchainCount = copy_src->swapchainCount; + pPresentIds = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pPresentIds) { + pPresentIds = new uint64_t[copy_src->swapchainCount]; + memcpy((void*)pPresentIds, (void*)copy_src->pPresentIds, sizeof(uint64_t) * copy_src->swapchainCount); + } +} + +safe_VkPhysicalDevicePresentId2FeaturesKHR::safe_VkPhysicalDevicePresentId2FeaturesKHR( + const VkPhysicalDevicePresentId2FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentId2(in_struct->presentId2) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePresentId2FeaturesKHR::safe_VkPhysicalDevicePresentId2FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR), pNext(nullptr), presentId2() {} + +safe_VkPhysicalDevicePresentId2FeaturesKHR::safe_VkPhysicalDevicePresentId2FeaturesKHR( + const safe_VkPhysicalDevicePresentId2FeaturesKHR& copy_src) { + sType = copy_src.sType; + presentId2 = copy_src.presentId2; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePresentId2FeaturesKHR& safe_VkPhysicalDevicePresentId2FeaturesKHR::operator=( + const safe_VkPhysicalDevicePresentId2FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentId2 = copy_src.presentId2; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePresentId2FeaturesKHR::~safe_VkPhysicalDevicePresentId2FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePresentId2FeaturesKHR::initialize(const VkPhysicalDevicePresentId2FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentId2 = in_struct->presentId2; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePresentId2FeaturesKHR::initialize(const safe_VkPhysicalDevicePresentId2FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentId2 = copy_src->presentId2; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSurfaceCapabilitiesPresentWait2KHR::safe_VkSurfaceCapabilitiesPresentWait2KHR( + const VkSurfaceCapabilitiesPresentWait2KHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentWait2Supported(in_struct->presentWait2Supported) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSurfaceCapabilitiesPresentWait2KHR::safe_VkSurfaceCapabilitiesPresentWait2KHR() + : sType(VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR), pNext(nullptr), presentWait2Supported() {} + +safe_VkSurfaceCapabilitiesPresentWait2KHR::safe_VkSurfaceCapabilitiesPresentWait2KHR( + const safe_VkSurfaceCapabilitiesPresentWait2KHR& copy_src) { + sType = copy_src.sType; + presentWait2Supported = copy_src.presentWait2Supported; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSurfaceCapabilitiesPresentWait2KHR& safe_VkSurfaceCapabilitiesPresentWait2KHR::operator=( + const safe_VkSurfaceCapabilitiesPresentWait2KHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentWait2Supported = copy_src.presentWait2Supported; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSurfaceCapabilitiesPresentWait2KHR::~safe_VkSurfaceCapabilitiesPresentWait2KHR() { FreePnextChain(pNext); } + +void safe_VkSurfaceCapabilitiesPresentWait2KHR::initialize(const VkSurfaceCapabilitiesPresentWait2KHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentWait2Supported = in_struct->presentWait2Supported; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSurfaceCapabilitiesPresentWait2KHR::initialize(const safe_VkSurfaceCapabilitiesPresentWait2KHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentWait2Supported = copy_src->presentWait2Supported; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePresentWait2FeaturesKHR::safe_VkPhysicalDevicePresentWait2FeaturesKHR( + const VkPhysicalDevicePresentWait2FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentWait2(in_struct->presentWait2) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePresentWait2FeaturesKHR::safe_VkPhysicalDevicePresentWait2FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR), pNext(nullptr), presentWait2() {} + +safe_VkPhysicalDevicePresentWait2FeaturesKHR::safe_VkPhysicalDevicePresentWait2FeaturesKHR( + const safe_VkPhysicalDevicePresentWait2FeaturesKHR& copy_src) { + sType = copy_src.sType; + presentWait2 = copy_src.presentWait2; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePresentWait2FeaturesKHR& safe_VkPhysicalDevicePresentWait2FeaturesKHR::operator=( + const safe_VkPhysicalDevicePresentWait2FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentWait2 = copy_src.presentWait2; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePresentWait2FeaturesKHR::~safe_VkPhysicalDevicePresentWait2FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePresentWait2FeaturesKHR::initialize(const VkPhysicalDevicePresentWait2FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentWait2 = in_struct->presentWait2; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePresentWait2FeaturesKHR::initialize(const safe_VkPhysicalDevicePresentWait2FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentWait2 = copy_src->presentWait2; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPresentWait2InfoKHR::safe_VkPresentWait2InfoKHR(const VkPresentWait2InfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentId(in_struct->presentId), timeout(in_struct->timeout) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPresentWait2InfoKHR::safe_VkPresentWait2InfoKHR() + : sType(VK_STRUCTURE_TYPE_PRESENT_WAIT_2_INFO_KHR), pNext(nullptr), presentId(), timeout() {} + +safe_VkPresentWait2InfoKHR::safe_VkPresentWait2InfoKHR(const safe_VkPresentWait2InfoKHR& copy_src) { + sType = copy_src.sType; + presentId = copy_src.presentId; + timeout = copy_src.timeout; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPresentWait2InfoKHR& safe_VkPresentWait2InfoKHR::operator=(const safe_VkPresentWait2InfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentId = copy_src.presentId; + timeout = copy_src.timeout; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPresentWait2InfoKHR::~safe_VkPresentWait2InfoKHR() { FreePnextChain(pNext); } + +void safe_VkPresentWait2InfoKHR::initialize(const VkPresentWait2InfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentId = in_struct->presentId; + timeout = in_struct->timeout; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPresentWait2InfoKHR::initialize(const safe_VkPresentWait2InfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentId = copy_src->presentId; + timeout = copy_src->timeout; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR::safe_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR( const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -11805,6 +13354,718 @@ } } +safe_VkSurfacePresentModeKHR::safe_VkSurfacePresentModeKHR(const VkSurfacePresentModeKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentMode(in_struct->presentMode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSurfacePresentModeKHR::safe_VkSurfacePresentModeKHR() + : sType(VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR), pNext(nullptr), presentMode() {} + +safe_VkSurfacePresentModeKHR::safe_VkSurfacePresentModeKHR(const safe_VkSurfacePresentModeKHR& copy_src) { + sType = copy_src.sType; + presentMode = copy_src.presentMode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSurfacePresentModeKHR& safe_VkSurfacePresentModeKHR::operator=(const safe_VkSurfacePresentModeKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentMode = copy_src.presentMode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSurfacePresentModeKHR::~safe_VkSurfacePresentModeKHR() { FreePnextChain(pNext); } + +void safe_VkSurfacePresentModeKHR::initialize(const VkSurfacePresentModeKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentMode = in_struct->presentMode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSurfacePresentModeKHR::initialize(const safe_VkSurfacePresentModeKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentMode = copy_src->presentMode; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSurfacePresentScalingCapabilitiesKHR::safe_VkSurfacePresentScalingCapabilitiesKHR( + const VkSurfacePresentScalingCapabilitiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + supportedPresentScaling(in_struct->supportedPresentScaling), + supportedPresentGravityX(in_struct->supportedPresentGravityX), + supportedPresentGravityY(in_struct->supportedPresentGravityY), + minScaledImageExtent(in_struct->minScaledImageExtent), + maxScaledImageExtent(in_struct->maxScaledImageExtent) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSurfacePresentScalingCapabilitiesKHR::safe_VkSurfacePresentScalingCapabilitiesKHR() + : sType(VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR), + pNext(nullptr), + supportedPresentScaling(), + supportedPresentGravityX(), + supportedPresentGravityY(), + minScaledImageExtent(), + maxScaledImageExtent() {} + +safe_VkSurfacePresentScalingCapabilitiesKHR::safe_VkSurfacePresentScalingCapabilitiesKHR( + const safe_VkSurfacePresentScalingCapabilitiesKHR& copy_src) { + sType = copy_src.sType; + supportedPresentScaling = copy_src.supportedPresentScaling; + supportedPresentGravityX = copy_src.supportedPresentGravityX; + supportedPresentGravityY = copy_src.supportedPresentGravityY; + minScaledImageExtent = copy_src.minScaledImageExtent; + maxScaledImageExtent = copy_src.maxScaledImageExtent; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSurfacePresentScalingCapabilitiesKHR& safe_VkSurfacePresentScalingCapabilitiesKHR::operator=( + const safe_VkSurfacePresentScalingCapabilitiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + supportedPresentScaling = copy_src.supportedPresentScaling; + supportedPresentGravityX = copy_src.supportedPresentGravityX; + supportedPresentGravityY = copy_src.supportedPresentGravityY; + minScaledImageExtent = copy_src.minScaledImageExtent; + maxScaledImageExtent = copy_src.maxScaledImageExtent; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSurfacePresentScalingCapabilitiesKHR::~safe_VkSurfacePresentScalingCapabilitiesKHR() { FreePnextChain(pNext); } + +void safe_VkSurfacePresentScalingCapabilitiesKHR::initialize(const VkSurfacePresentScalingCapabilitiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + supportedPresentScaling = in_struct->supportedPresentScaling; + supportedPresentGravityX = in_struct->supportedPresentGravityX; + supportedPresentGravityY = in_struct->supportedPresentGravityY; + minScaledImageExtent = in_struct->minScaledImageExtent; + maxScaledImageExtent = in_struct->maxScaledImageExtent; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSurfacePresentScalingCapabilitiesKHR::initialize(const safe_VkSurfacePresentScalingCapabilitiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + supportedPresentScaling = copy_src->supportedPresentScaling; + supportedPresentGravityX = copy_src->supportedPresentGravityX; + supportedPresentGravityY = copy_src->supportedPresentGravityY; + minScaledImageExtent = copy_src->minScaledImageExtent; + maxScaledImageExtent = copy_src->maxScaledImageExtent; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSurfacePresentModeCompatibilityKHR::safe_VkSurfacePresentModeCompatibilityKHR( + const VkSurfacePresentModeCompatibilityKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentModeCount(in_struct->presentModeCount), pPresentModes(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pPresentModes) { + pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; + memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); + } +} + +safe_VkSurfacePresentModeCompatibilityKHR::safe_VkSurfacePresentModeCompatibilityKHR() + : sType(VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR), pNext(nullptr), presentModeCount(), pPresentModes(nullptr) {} + +safe_VkSurfacePresentModeCompatibilityKHR::safe_VkSurfacePresentModeCompatibilityKHR( + const safe_VkSurfacePresentModeCompatibilityKHR& copy_src) { + sType = copy_src.sType; + presentModeCount = copy_src.presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; + memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); + } +} + +safe_VkSurfacePresentModeCompatibilityKHR& safe_VkSurfacePresentModeCompatibilityKHR::operator=( + const safe_VkSurfacePresentModeCompatibilityKHR& copy_src) { + if (©_src == this) return *this; + + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); + + sType = copy_src.sType; + presentModeCount = copy_src.presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; + memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); + } + + return *this; +} + +safe_VkSurfacePresentModeCompatibilityKHR::~safe_VkSurfacePresentModeCompatibilityKHR() { + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); +} + +void safe_VkSurfacePresentModeCompatibilityKHR::initialize(const VkSurfacePresentModeCompatibilityKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); + sType = in_struct->sType; + presentModeCount = in_struct->presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pPresentModes) { + pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; + memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); + } +} + +void safe_VkSurfacePresentModeCompatibilityKHR::initialize(const safe_VkSurfacePresentModeCompatibilityKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentModeCount = copy_src->presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src->presentModeCount]; + memcpy((void*)pPresentModes, (void*)copy_src->pPresentModes, sizeof(VkPresentModeKHR) * copy_src->presentModeCount); + } +} + +safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR( + const VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), swapchainMaintenance1(in_struct->swapchainMaintenance1) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR), pNext(nullptr), swapchainMaintenance1() {} + +safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR( + const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR& copy_src) { + sType = copy_src.sType; + swapchainMaintenance1 = copy_src.swapchainMaintenance1; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR& safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::operator=( + const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchainMaintenance1 = copy_src.swapchainMaintenance1; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::~safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::initialize( + const VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + swapchainMaintenance1 = in_struct->swapchainMaintenance1; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR::initialize( + const safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchainMaintenance1 = copy_src->swapchainMaintenance1; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkSwapchainPresentFenceInfoKHR::safe_VkSwapchainPresentFenceInfoKHR(const VkSwapchainPresentFenceInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), swapchainCount(in_struct->swapchainCount), pFences(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (swapchainCount && in_struct->pFences) { + pFences = new VkFence[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pFences[i] = in_struct->pFences[i]; + } + } +} + +safe_VkSwapchainPresentFenceInfoKHR::safe_VkSwapchainPresentFenceInfoKHR() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR), pNext(nullptr), swapchainCount(), pFences(nullptr) {} + +safe_VkSwapchainPresentFenceInfoKHR::safe_VkSwapchainPresentFenceInfoKHR(const safe_VkSwapchainPresentFenceInfoKHR& copy_src) { + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pFences = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (swapchainCount && copy_src.pFences) { + pFences = new VkFence[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pFences[i] = copy_src.pFences[i]; + } + } +} + +safe_VkSwapchainPresentFenceInfoKHR& safe_VkSwapchainPresentFenceInfoKHR::operator=( + const safe_VkSwapchainPresentFenceInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pFences) delete[] pFences; + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pFences = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (swapchainCount && copy_src.pFences) { + pFences = new VkFence[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pFences[i] = copy_src.pFences[i]; + } + } + + return *this; +} + +safe_VkSwapchainPresentFenceInfoKHR::~safe_VkSwapchainPresentFenceInfoKHR() { + if (pFences) delete[] pFences; + FreePnextChain(pNext); +} + +void safe_VkSwapchainPresentFenceInfoKHR::initialize(const VkSwapchainPresentFenceInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pFences) delete[] pFences; + FreePnextChain(pNext); + sType = in_struct->sType; + swapchainCount = in_struct->swapchainCount; + pFences = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (swapchainCount && in_struct->pFences) { + pFences = new VkFence[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pFences[i] = in_struct->pFences[i]; + } + } +} + +void safe_VkSwapchainPresentFenceInfoKHR::initialize(const safe_VkSwapchainPresentFenceInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchainCount = copy_src->swapchainCount; + pFences = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (swapchainCount && copy_src->pFences) { + pFences = new VkFence[swapchainCount]; + for (uint32_t i = 0; i < swapchainCount; ++i) { + pFences[i] = copy_src->pFences[i]; + } + } +} + +safe_VkSwapchainPresentModesCreateInfoKHR::safe_VkSwapchainPresentModesCreateInfoKHR( + const VkSwapchainPresentModesCreateInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentModeCount(in_struct->presentModeCount), pPresentModes(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pPresentModes) { + pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; + memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); + } +} + +safe_VkSwapchainPresentModesCreateInfoKHR::safe_VkSwapchainPresentModesCreateInfoKHR() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR), + pNext(nullptr), + presentModeCount(), + pPresentModes(nullptr) {} + +safe_VkSwapchainPresentModesCreateInfoKHR::safe_VkSwapchainPresentModesCreateInfoKHR( + const safe_VkSwapchainPresentModesCreateInfoKHR& copy_src) { + sType = copy_src.sType; + presentModeCount = copy_src.presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; + memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); + } +} + +safe_VkSwapchainPresentModesCreateInfoKHR& safe_VkSwapchainPresentModesCreateInfoKHR::operator=( + const safe_VkSwapchainPresentModesCreateInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); + + sType = copy_src.sType; + presentModeCount = copy_src.presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src.presentModeCount]; + memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.presentModeCount); + } + + return *this; +} + +safe_VkSwapchainPresentModesCreateInfoKHR::~safe_VkSwapchainPresentModesCreateInfoKHR() { + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); +} + +void safe_VkSwapchainPresentModesCreateInfoKHR::initialize(const VkSwapchainPresentModesCreateInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); + sType = in_struct->sType; + presentModeCount = in_struct->presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pPresentModes) { + pPresentModes = new VkPresentModeKHR[in_struct->presentModeCount]; + memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->presentModeCount); + } +} + +void safe_VkSwapchainPresentModesCreateInfoKHR::initialize(const safe_VkSwapchainPresentModesCreateInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentModeCount = copy_src->presentModeCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src->presentModeCount]; + memcpy((void*)pPresentModes, (void*)copy_src->pPresentModes, sizeof(VkPresentModeKHR) * copy_src->presentModeCount); + } +} + +safe_VkSwapchainPresentModeInfoKHR::safe_VkSwapchainPresentModeInfoKHR(const VkSwapchainPresentModeInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), swapchainCount(in_struct->swapchainCount), pPresentModes(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pPresentModes) { + pPresentModes = new VkPresentModeKHR[in_struct->swapchainCount]; + memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->swapchainCount); + } +} + +safe_VkSwapchainPresentModeInfoKHR::safe_VkSwapchainPresentModeInfoKHR() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR), pNext(nullptr), swapchainCount(), pPresentModes(nullptr) {} + +safe_VkSwapchainPresentModeInfoKHR::safe_VkSwapchainPresentModeInfoKHR(const safe_VkSwapchainPresentModeInfoKHR& copy_src) { + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src.swapchainCount]; + memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.swapchainCount); + } +} + +safe_VkSwapchainPresentModeInfoKHR& safe_VkSwapchainPresentModeInfoKHR::operator=( + const safe_VkSwapchainPresentModeInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchainCount = copy_src.swapchainCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src.swapchainCount]; + memcpy((void*)pPresentModes, (void*)copy_src.pPresentModes, sizeof(VkPresentModeKHR) * copy_src.swapchainCount); + } + + return *this; +} + +safe_VkSwapchainPresentModeInfoKHR::~safe_VkSwapchainPresentModeInfoKHR() { + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); +} + +void safe_VkSwapchainPresentModeInfoKHR::initialize(const VkSwapchainPresentModeInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pPresentModes) delete[] pPresentModes; + FreePnextChain(pNext); + sType = in_struct->sType; + swapchainCount = in_struct->swapchainCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pPresentModes) { + pPresentModes = new VkPresentModeKHR[in_struct->swapchainCount]; + memcpy((void*)pPresentModes, (void*)in_struct->pPresentModes, sizeof(VkPresentModeKHR) * in_struct->swapchainCount); + } +} + +void safe_VkSwapchainPresentModeInfoKHR::initialize(const safe_VkSwapchainPresentModeInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchainCount = copy_src->swapchainCount; + pPresentModes = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pPresentModes) { + pPresentModes = new VkPresentModeKHR[copy_src->swapchainCount]; + memcpy((void*)pPresentModes, (void*)copy_src->pPresentModes, sizeof(VkPresentModeKHR) * copy_src->swapchainCount); + } +} + +safe_VkSwapchainPresentScalingCreateInfoKHR::safe_VkSwapchainPresentScalingCreateInfoKHR( + const VkSwapchainPresentScalingCreateInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + scalingBehavior(in_struct->scalingBehavior), + presentGravityX(in_struct->presentGravityX), + presentGravityY(in_struct->presentGravityY) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSwapchainPresentScalingCreateInfoKHR::safe_VkSwapchainPresentScalingCreateInfoKHR() + : sType(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR), + pNext(nullptr), + scalingBehavior(), + presentGravityX(), + presentGravityY() {} + +safe_VkSwapchainPresentScalingCreateInfoKHR::safe_VkSwapchainPresentScalingCreateInfoKHR( + const safe_VkSwapchainPresentScalingCreateInfoKHR& copy_src) { + sType = copy_src.sType; + scalingBehavior = copy_src.scalingBehavior; + presentGravityX = copy_src.presentGravityX; + presentGravityY = copy_src.presentGravityY; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSwapchainPresentScalingCreateInfoKHR& safe_VkSwapchainPresentScalingCreateInfoKHR::operator=( + const safe_VkSwapchainPresentScalingCreateInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + scalingBehavior = copy_src.scalingBehavior; + presentGravityX = copy_src.presentGravityX; + presentGravityY = copy_src.presentGravityY; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSwapchainPresentScalingCreateInfoKHR::~safe_VkSwapchainPresentScalingCreateInfoKHR() { FreePnextChain(pNext); } + +void safe_VkSwapchainPresentScalingCreateInfoKHR::initialize(const VkSwapchainPresentScalingCreateInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + scalingBehavior = in_struct->scalingBehavior; + presentGravityX = in_struct->presentGravityX; + presentGravityY = in_struct->presentGravityY; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSwapchainPresentScalingCreateInfoKHR::initialize(const safe_VkSwapchainPresentScalingCreateInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + scalingBehavior = copy_src->scalingBehavior; + presentGravityX = copy_src->presentGravityX; + presentGravityY = copy_src->presentGravityY; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkReleaseSwapchainImagesInfoKHR::safe_VkReleaseSwapchainImagesInfoKHR(const VkReleaseSwapchainImagesInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + swapchain(in_struct->swapchain), + imageIndexCount(in_struct->imageIndexCount), + pImageIndices(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pImageIndices) { + pImageIndices = new uint32_t[in_struct->imageIndexCount]; + memcpy((void*)pImageIndices, (void*)in_struct->pImageIndices, sizeof(uint32_t) * in_struct->imageIndexCount); + } +} + +safe_VkReleaseSwapchainImagesInfoKHR::safe_VkReleaseSwapchainImagesInfoKHR() + : sType(VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_KHR), + pNext(nullptr), + swapchain(), + imageIndexCount(), + pImageIndices(nullptr) {} + +safe_VkReleaseSwapchainImagesInfoKHR::safe_VkReleaseSwapchainImagesInfoKHR(const safe_VkReleaseSwapchainImagesInfoKHR& copy_src) { + sType = copy_src.sType; + swapchain = copy_src.swapchain; + imageIndexCount = copy_src.imageIndexCount; + pImageIndices = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pImageIndices) { + pImageIndices = new uint32_t[copy_src.imageIndexCount]; + memcpy((void*)pImageIndices, (void*)copy_src.pImageIndices, sizeof(uint32_t) * copy_src.imageIndexCount); + } +} + +safe_VkReleaseSwapchainImagesInfoKHR& safe_VkReleaseSwapchainImagesInfoKHR::operator=( + const safe_VkReleaseSwapchainImagesInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pImageIndices) delete[] pImageIndices; + FreePnextChain(pNext); + + sType = copy_src.sType; + swapchain = copy_src.swapchain; + imageIndexCount = copy_src.imageIndexCount; + pImageIndices = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pImageIndices) { + pImageIndices = new uint32_t[copy_src.imageIndexCount]; + memcpy((void*)pImageIndices, (void*)copy_src.pImageIndices, sizeof(uint32_t) * copy_src.imageIndexCount); + } + + return *this; +} + +safe_VkReleaseSwapchainImagesInfoKHR::~safe_VkReleaseSwapchainImagesInfoKHR() { + if (pImageIndices) delete[] pImageIndices; + FreePnextChain(pNext); +} + +void safe_VkReleaseSwapchainImagesInfoKHR::initialize(const VkReleaseSwapchainImagesInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pImageIndices) delete[] pImageIndices; + FreePnextChain(pNext); + sType = in_struct->sType; + swapchain = in_struct->swapchain; + imageIndexCount = in_struct->imageIndexCount; + pImageIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pImageIndices) { + pImageIndices = new uint32_t[in_struct->imageIndexCount]; + memcpy((void*)pImageIndices, (void*)in_struct->pImageIndices, sizeof(uint32_t) * in_struct->imageIndexCount); + } +} + +void safe_VkReleaseSwapchainImagesInfoKHR::initialize(const safe_VkReleaseSwapchainImagesInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + swapchain = copy_src->swapchain; + imageIndexCount = copy_src->imageIndexCount; + pImageIndices = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pImageIndices) { + pImageIndices = new uint32_t[copy_src->imageIndexCount]; + memcpy((void*)pImageIndices, (void*)copy_src->pImageIndices, sizeof(uint32_t) * copy_src->imageIndexCount); + } +} + +safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR( + const VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), internallySynchronizedQueues(in_struct->internallySynchronizedQueues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR), + pNext(nullptr), + internallySynchronizedQueues() {} + +safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR( + const safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR& copy_src) { + sType = copy_src.sType; + internallySynchronizedQueues = copy_src.internallySynchronizedQueues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR& +safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::operator=( + const safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + internallySynchronizedQueues = copy_src.internallySynchronizedQueues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::~safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::initialize( + const VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + internallySynchronizedQueues = in_struct->internallySynchronizedQueues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR::initialize( + const safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + internallySynchronizedQueues = copy_src->internallySynchronizedQueues; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkCooperativeMatrixPropertiesKHR::safe_VkCooperativeMatrixPropertiesKHR(const VkCooperativeMatrixPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -13589,6 +15850,263 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR( + const VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), videoDecodeVP9(in_struct->videoDecodeVP9) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR), pNext(nullptr), videoDecodeVP9() {} + +safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR( + const safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR& copy_src) { + sType = copy_src.sType; + videoDecodeVP9 = copy_src.videoDecodeVP9; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR& safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::operator=( + const safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + videoDecodeVP9 = copy_src.videoDecodeVP9; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::~safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::initialize(const VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + videoDecodeVP9 = in_struct->videoDecodeVP9; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR::initialize(const safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + videoDecodeVP9 = copy_src->videoDecodeVP9; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoDecodeVP9ProfileInfoKHR::safe_VkVideoDecodeVP9ProfileInfoKHR(const VkVideoDecodeVP9ProfileInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), stdProfile(in_struct->stdProfile) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoDecodeVP9ProfileInfoKHR::safe_VkVideoDecodeVP9ProfileInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR), pNext(nullptr), stdProfile() {} + +safe_VkVideoDecodeVP9ProfileInfoKHR::safe_VkVideoDecodeVP9ProfileInfoKHR(const safe_VkVideoDecodeVP9ProfileInfoKHR& copy_src) { + sType = copy_src.sType; + stdProfile = copy_src.stdProfile; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoDecodeVP9ProfileInfoKHR& safe_VkVideoDecodeVP9ProfileInfoKHR::operator=( + const safe_VkVideoDecodeVP9ProfileInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + stdProfile = copy_src.stdProfile; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoDecodeVP9ProfileInfoKHR::~safe_VkVideoDecodeVP9ProfileInfoKHR() { FreePnextChain(pNext); } + +void safe_VkVideoDecodeVP9ProfileInfoKHR::initialize(const VkVideoDecodeVP9ProfileInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + stdProfile = in_struct->stdProfile; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoDecodeVP9ProfileInfoKHR::initialize(const safe_VkVideoDecodeVP9ProfileInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + stdProfile = copy_src->stdProfile; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoDecodeVP9CapabilitiesKHR::safe_VkVideoDecodeVP9CapabilitiesKHR(const VkVideoDecodeVP9CapabilitiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), maxLevel(in_struct->maxLevel) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoDecodeVP9CapabilitiesKHR::safe_VkVideoDecodeVP9CapabilitiesKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR), pNext(nullptr), maxLevel() {} + +safe_VkVideoDecodeVP9CapabilitiesKHR::safe_VkVideoDecodeVP9CapabilitiesKHR(const safe_VkVideoDecodeVP9CapabilitiesKHR& copy_src) { + sType = copy_src.sType; + maxLevel = copy_src.maxLevel; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoDecodeVP9CapabilitiesKHR& safe_VkVideoDecodeVP9CapabilitiesKHR::operator=( + const safe_VkVideoDecodeVP9CapabilitiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxLevel = copy_src.maxLevel; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoDecodeVP9CapabilitiesKHR::~safe_VkVideoDecodeVP9CapabilitiesKHR() { FreePnextChain(pNext); } + +void safe_VkVideoDecodeVP9CapabilitiesKHR::initialize(const VkVideoDecodeVP9CapabilitiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxLevel = in_struct->maxLevel; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoDecodeVP9CapabilitiesKHR::initialize(const safe_VkVideoDecodeVP9CapabilitiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxLevel = copy_src->maxLevel; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoDecodeVP9PictureInfoKHR::safe_VkVideoDecodeVP9PictureInfoKHR(const VkVideoDecodeVP9PictureInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + pStdPictureInfo(nullptr), + uncompressedHeaderOffset(in_struct->uncompressedHeaderOffset), + compressedHeaderOffset(in_struct->compressedHeaderOffset), + tilesOffset(in_struct->tilesOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pStdPictureInfo) { + pStdPictureInfo = new StdVideoDecodeVP9PictureInfo(*in_struct->pStdPictureInfo); + } + + for (uint32_t i = 0; i < VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR; ++i) { + referenceNameSlotIndices[i] = in_struct->referenceNameSlotIndices[i]; + } +} + +safe_VkVideoDecodeVP9PictureInfoKHR::safe_VkVideoDecodeVP9PictureInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR), + pNext(nullptr), + pStdPictureInfo(nullptr), + uncompressedHeaderOffset(), + compressedHeaderOffset(), + tilesOffset() {} + +safe_VkVideoDecodeVP9PictureInfoKHR::safe_VkVideoDecodeVP9PictureInfoKHR(const safe_VkVideoDecodeVP9PictureInfoKHR& copy_src) { + sType = copy_src.sType; + pStdPictureInfo = nullptr; + uncompressedHeaderOffset = copy_src.uncompressedHeaderOffset; + compressedHeaderOffset = copy_src.compressedHeaderOffset; + tilesOffset = copy_src.tilesOffset; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdPictureInfo) { + pStdPictureInfo = new StdVideoDecodeVP9PictureInfo(*copy_src.pStdPictureInfo); + } + + for (uint32_t i = 0; i < VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR; ++i) { + referenceNameSlotIndices[i] = copy_src.referenceNameSlotIndices[i]; + } +} + +safe_VkVideoDecodeVP9PictureInfoKHR& safe_VkVideoDecodeVP9PictureInfoKHR::operator=( + const safe_VkVideoDecodeVP9PictureInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pStdPictureInfo) delete pStdPictureInfo; + FreePnextChain(pNext); + + sType = copy_src.sType; + pStdPictureInfo = nullptr; + uncompressedHeaderOffset = copy_src.uncompressedHeaderOffset; + compressedHeaderOffset = copy_src.compressedHeaderOffset; + tilesOffset = copy_src.tilesOffset; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdPictureInfo) { + pStdPictureInfo = new StdVideoDecodeVP9PictureInfo(*copy_src.pStdPictureInfo); + } + + for (uint32_t i = 0; i < VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR; ++i) { + referenceNameSlotIndices[i] = copy_src.referenceNameSlotIndices[i]; + } + + return *this; +} + +safe_VkVideoDecodeVP9PictureInfoKHR::~safe_VkVideoDecodeVP9PictureInfoKHR() { + if (pStdPictureInfo) delete pStdPictureInfo; + FreePnextChain(pNext); +} + +void safe_VkVideoDecodeVP9PictureInfoKHR::initialize(const VkVideoDecodeVP9PictureInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pStdPictureInfo) delete pStdPictureInfo; + FreePnextChain(pNext); + sType = in_struct->sType; + pStdPictureInfo = nullptr; + uncompressedHeaderOffset = in_struct->uncompressedHeaderOffset; + compressedHeaderOffset = in_struct->compressedHeaderOffset; + tilesOffset = in_struct->tilesOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pStdPictureInfo) { + pStdPictureInfo = new StdVideoDecodeVP9PictureInfo(*in_struct->pStdPictureInfo); + } + + for (uint32_t i = 0; i < VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR; ++i) { + referenceNameSlotIndices[i] = in_struct->referenceNameSlotIndices[i]; + } +} + +void safe_VkVideoDecodeVP9PictureInfoKHR::initialize(const safe_VkVideoDecodeVP9PictureInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pStdPictureInfo = nullptr; + uncompressedHeaderOffset = copy_src->uncompressedHeaderOffset; + compressedHeaderOffset = copy_src->compressedHeaderOffset; + tilesOffset = copy_src->tilesOffset; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pStdPictureInfo) { + pStdPictureInfo = new StdVideoDecodeVP9PictureInfo(*copy_src->pStdPictureInfo); + } + + for (uint32_t i = 0; i < VK_MAX_VIDEO_VP9_REFERENCES_PER_FRAME_KHR; ++i) { + referenceNameSlotIndices[i] = copy_src->referenceNameSlotIndices[i]; + } +} + safe_VkPhysicalDeviceVideoMaintenance1FeaturesKHR::safe_VkPhysicalDeviceVideoMaintenance1FeaturesKHR( const VkPhysicalDeviceVideoMaintenance1FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), videoMaintenance1(in_struct->videoMaintenance1) { @@ -13694,6 +16212,65 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR( + const VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + unifiedImageLayouts(in_struct->unifiedImageLayouts), + unifiedImageLayoutsVideo(in_struct->unifiedImageLayoutsVideo) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR), + pNext(nullptr), + unifiedImageLayouts(), + unifiedImageLayoutsVideo() {} + +safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR( + const safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR& copy_src) { + sType = copy_src.sType; + unifiedImageLayouts = copy_src.unifiedImageLayouts; + unifiedImageLayoutsVideo = copy_src.unifiedImageLayoutsVideo; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR& safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::operator=( + const safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + unifiedImageLayouts = copy_src.unifiedImageLayouts; + unifiedImageLayoutsVideo = copy_src.unifiedImageLayoutsVideo; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::~safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::initialize( + const VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + unifiedImageLayouts = in_struct->unifiedImageLayouts; + unifiedImageLayoutsVideo = in_struct->unifiedImageLayoutsVideo; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR::initialize( + const safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + unifiedImageLayouts = copy_src->unifiedImageLayouts; + unifiedImageLayoutsVideo = copy_src->unifiedImageLayoutsVideo; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkCalibratedTimestampInfoKHR::safe_VkCalibratedTimestampInfoKHR(const VkCalibratedTimestampInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), timeDomain(in_struct->timeDomain) { @@ -13740,6 +16317,575 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkCopyMemoryIndirectInfoKHR::safe_VkCopyMemoryIndirectInfoKHR(const VkCopyMemoryIndirectInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcCopyFlags(in_struct->srcCopyFlags), + dstCopyFlags(in_struct->dstCopyFlags), + copyCount(in_struct->copyCount), + copyAddressRange(in_struct->copyAddressRange) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkCopyMemoryIndirectInfoKHR::safe_VkCopyMemoryIndirectInfoKHR() + : sType(VK_STRUCTURE_TYPE_COPY_MEMORY_INDIRECT_INFO_KHR), + pNext(nullptr), + srcCopyFlags(), + dstCopyFlags(), + copyCount(), + copyAddressRange() {} + +safe_VkCopyMemoryIndirectInfoKHR::safe_VkCopyMemoryIndirectInfoKHR(const safe_VkCopyMemoryIndirectInfoKHR& copy_src) { + sType = copy_src.sType; + srcCopyFlags = copy_src.srcCopyFlags; + dstCopyFlags = copy_src.dstCopyFlags; + copyCount = copy_src.copyCount; + copyAddressRange = copy_src.copyAddressRange; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkCopyMemoryIndirectInfoKHR& safe_VkCopyMemoryIndirectInfoKHR::operator=(const safe_VkCopyMemoryIndirectInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcCopyFlags = copy_src.srcCopyFlags; + dstCopyFlags = copy_src.dstCopyFlags; + copyCount = copy_src.copyCount; + copyAddressRange = copy_src.copyAddressRange; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkCopyMemoryIndirectInfoKHR::~safe_VkCopyMemoryIndirectInfoKHR() { FreePnextChain(pNext); } + +void safe_VkCopyMemoryIndirectInfoKHR::initialize(const VkCopyMemoryIndirectInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcCopyFlags = in_struct->srcCopyFlags; + dstCopyFlags = in_struct->dstCopyFlags; + copyCount = in_struct->copyCount; + copyAddressRange = in_struct->copyAddressRange; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkCopyMemoryIndirectInfoKHR::initialize(const safe_VkCopyMemoryIndirectInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcCopyFlags = copy_src->srcCopyFlags; + dstCopyFlags = copy_src->dstCopyFlags; + copyCount = copy_src->copyCount; + copyAddressRange = copy_src->copyAddressRange; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCopyMemoryToImageIndirectInfoKHR::safe_VkCopyMemoryToImageIndirectInfoKHR( + const VkCopyMemoryToImageIndirectInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcCopyFlags(in_struct->srcCopyFlags), + copyCount(in_struct->copyCount), + copyAddressRange(in_struct->copyAddressRange), + dstImage(in_struct->dstImage), + dstImageLayout(in_struct->dstImageLayout), + pImageSubresources(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pImageSubresources) { + pImageSubresources = new VkImageSubresourceLayers[in_struct->copyCount]; + memcpy((void*)pImageSubresources, (void*)in_struct->pImageSubresources, + sizeof(VkImageSubresourceLayers) * in_struct->copyCount); + } +} + +safe_VkCopyMemoryToImageIndirectInfoKHR::safe_VkCopyMemoryToImageIndirectInfoKHR() + : sType(VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INDIRECT_INFO_KHR), + pNext(nullptr), + srcCopyFlags(), + copyCount(), + copyAddressRange(), + dstImage(), + dstImageLayout(), + pImageSubresources(nullptr) {} + +safe_VkCopyMemoryToImageIndirectInfoKHR::safe_VkCopyMemoryToImageIndirectInfoKHR( + const safe_VkCopyMemoryToImageIndirectInfoKHR& copy_src) { + sType = copy_src.sType; + srcCopyFlags = copy_src.srcCopyFlags; + copyCount = copy_src.copyCount; + copyAddressRange = copy_src.copyAddressRange; + dstImage = copy_src.dstImage; + dstImageLayout = copy_src.dstImageLayout; + pImageSubresources = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pImageSubresources) { + pImageSubresources = new VkImageSubresourceLayers[copy_src.copyCount]; + memcpy((void*)pImageSubresources, (void*)copy_src.pImageSubresources, + sizeof(VkImageSubresourceLayers) * copy_src.copyCount); + } +} + +safe_VkCopyMemoryToImageIndirectInfoKHR& safe_VkCopyMemoryToImageIndirectInfoKHR::operator=( + const safe_VkCopyMemoryToImageIndirectInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pImageSubresources) delete[] pImageSubresources; + FreePnextChain(pNext); + + sType = copy_src.sType; + srcCopyFlags = copy_src.srcCopyFlags; + copyCount = copy_src.copyCount; + copyAddressRange = copy_src.copyAddressRange; + dstImage = copy_src.dstImage; + dstImageLayout = copy_src.dstImageLayout; + pImageSubresources = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pImageSubresources) { + pImageSubresources = new VkImageSubresourceLayers[copy_src.copyCount]; + memcpy((void*)pImageSubresources, (void*)copy_src.pImageSubresources, + sizeof(VkImageSubresourceLayers) * copy_src.copyCount); + } + + return *this; +} + +safe_VkCopyMemoryToImageIndirectInfoKHR::~safe_VkCopyMemoryToImageIndirectInfoKHR() { + if (pImageSubresources) delete[] pImageSubresources; + FreePnextChain(pNext); +} + +void safe_VkCopyMemoryToImageIndirectInfoKHR::initialize(const VkCopyMemoryToImageIndirectInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pImageSubresources) delete[] pImageSubresources; + FreePnextChain(pNext); + sType = in_struct->sType; + srcCopyFlags = in_struct->srcCopyFlags; + copyCount = in_struct->copyCount; + copyAddressRange = in_struct->copyAddressRange; + dstImage = in_struct->dstImage; + dstImageLayout = in_struct->dstImageLayout; + pImageSubresources = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pImageSubresources) { + pImageSubresources = new VkImageSubresourceLayers[in_struct->copyCount]; + memcpy((void*)pImageSubresources, (void*)in_struct->pImageSubresources, + sizeof(VkImageSubresourceLayers) * in_struct->copyCount); + } +} + +void safe_VkCopyMemoryToImageIndirectInfoKHR::initialize(const safe_VkCopyMemoryToImageIndirectInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcCopyFlags = copy_src->srcCopyFlags; + copyCount = copy_src->copyCount; + copyAddressRange = copy_src->copyAddressRange; + dstImage = copy_src->dstImage; + dstImageLayout = copy_src->dstImageLayout; + pImageSubresources = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pImageSubresources) { + pImageSubresources = new VkImageSubresourceLayers[copy_src->copyCount]; + memcpy((void*)pImageSubresources, (void*)copy_src->pImageSubresources, + sizeof(VkImageSubresourceLayers) * copy_src->copyCount); + } +} + +safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR( + const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + indirectMemoryCopy(in_struct->indirectMemoryCopy), + indirectMemoryToImageCopy(in_struct->indirectMemoryToImageCopy) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR), + pNext(nullptr), + indirectMemoryCopy(), + indirectMemoryToImageCopy() {} + +safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR( + const safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR& copy_src) { + sType = copy_src.sType; + indirectMemoryCopy = copy_src.indirectMemoryCopy; + indirectMemoryToImageCopy = copy_src.indirectMemoryToImageCopy; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR& safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::operator=( + const safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + indirectMemoryCopy = copy_src.indirectMemoryCopy; + indirectMemoryToImageCopy = copy_src.indirectMemoryToImageCopy; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::~safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::initialize(const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + indirectMemoryCopy = in_struct->indirectMemoryCopy; + indirectMemoryToImageCopy = in_struct->indirectMemoryToImageCopy; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR::initialize( + const safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + indirectMemoryCopy = copy_src->indirectMemoryCopy; + indirectMemoryToImageCopy = copy_src->indirectMemoryToImageCopy; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR( + const VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), supportedQueues(in_struct->supportedQueues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR), pNext(nullptr), supportedQueues() {} + +safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR( + const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR& copy_src) { + sType = copy_src.sType; + supportedQueues = copy_src.supportedQueues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR& safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::operator=( + const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + supportedQueues = copy_src.supportedQueues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::~safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::initialize( + const VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + supportedQueues = in_struct->supportedQueues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR::initialize( + const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + supportedQueues = copy_src->supportedQueues; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::safe_VkVideoEncodeIntraRefreshCapabilitiesKHR( + const VkVideoEncodeIntraRefreshCapabilitiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + intraRefreshModes(in_struct->intraRefreshModes), + maxIntraRefreshCycleDuration(in_struct->maxIntraRefreshCycleDuration), + maxIntraRefreshActiveReferencePictures(in_struct->maxIntraRefreshActiveReferencePictures), + partitionIndependentIntraRefreshRegions(in_struct->partitionIndependentIntraRefreshRegions), + nonRectangularIntraRefreshRegions(in_struct->nonRectangularIntraRefreshRegions) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::safe_VkVideoEncodeIntraRefreshCapabilitiesKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR), + pNext(nullptr), + intraRefreshModes(), + maxIntraRefreshCycleDuration(), + maxIntraRefreshActiveReferencePictures(), + partitionIndependentIntraRefreshRegions(), + nonRectangularIntraRefreshRegions() {} + +safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::safe_VkVideoEncodeIntraRefreshCapabilitiesKHR( + const safe_VkVideoEncodeIntraRefreshCapabilitiesKHR& copy_src) { + sType = copy_src.sType; + intraRefreshModes = copy_src.intraRefreshModes; + maxIntraRefreshCycleDuration = copy_src.maxIntraRefreshCycleDuration; + maxIntraRefreshActiveReferencePictures = copy_src.maxIntraRefreshActiveReferencePictures; + partitionIndependentIntraRefreshRegions = copy_src.partitionIndependentIntraRefreshRegions; + nonRectangularIntraRefreshRegions = copy_src.nonRectangularIntraRefreshRegions; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoEncodeIntraRefreshCapabilitiesKHR& safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::operator=( + const safe_VkVideoEncodeIntraRefreshCapabilitiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + intraRefreshModes = copy_src.intraRefreshModes; + maxIntraRefreshCycleDuration = copy_src.maxIntraRefreshCycleDuration; + maxIntraRefreshActiveReferencePictures = copy_src.maxIntraRefreshActiveReferencePictures; + partitionIndependentIntraRefreshRegions = copy_src.partitionIndependentIntraRefreshRegions; + nonRectangularIntraRefreshRegions = copy_src.nonRectangularIntraRefreshRegions; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::~safe_VkVideoEncodeIntraRefreshCapabilitiesKHR() { FreePnextChain(pNext); } + +void safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::initialize(const VkVideoEncodeIntraRefreshCapabilitiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + intraRefreshModes = in_struct->intraRefreshModes; + maxIntraRefreshCycleDuration = in_struct->maxIntraRefreshCycleDuration; + maxIntraRefreshActiveReferencePictures = in_struct->maxIntraRefreshActiveReferencePictures; + partitionIndependentIntraRefreshRegions = in_struct->partitionIndependentIntraRefreshRegions; + nonRectangularIntraRefreshRegions = in_struct->nonRectangularIntraRefreshRegions; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoEncodeIntraRefreshCapabilitiesKHR::initialize(const safe_VkVideoEncodeIntraRefreshCapabilitiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + intraRefreshModes = copy_src->intraRefreshModes; + maxIntraRefreshCycleDuration = copy_src->maxIntraRefreshCycleDuration; + maxIntraRefreshActiveReferencePictures = copy_src->maxIntraRefreshActiveReferencePictures; + partitionIndependentIntraRefreshRegions = copy_src->partitionIndependentIntraRefreshRegions; + nonRectangularIntraRefreshRegions = copy_src->nonRectangularIntraRefreshRegions; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR( + const VkVideoEncodeSessionIntraRefreshCreateInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), intraRefreshMode(in_struct->intraRefreshMode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR), pNext(nullptr), intraRefreshMode() {} + +safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR( + const safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR& copy_src) { + sType = copy_src.sType; + intraRefreshMode = copy_src.intraRefreshMode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR& safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::operator=( + const safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + intraRefreshMode = copy_src.intraRefreshMode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::~safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR() { FreePnextChain(pNext); } + +void safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::initialize(const VkVideoEncodeSessionIntraRefreshCreateInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + intraRefreshMode = in_struct->intraRefreshMode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR::initialize( + const safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + intraRefreshMode = copy_src->intraRefreshMode; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoEncodeIntraRefreshInfoKHR::safe_VkVideoEncodeIntraRefreshInfoKHR(const VkVideoEncodeIntraRefreshInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + intraRefreshCycleDuration(in_struct->intraRefreshCycleDuration), + intraRefreshIndex(in_struct->intraRefreshIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoEncodeIntraRefreshInfoKHR::safe_VkVideoEncodeIntraRefreshInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR), + pNext(nullptr), + intraRefreshCycleDuration(), + intraRefreshIndex() {} + +safe_VkVideoEncodeIntraRefreshInfoKHR::safe_VkVideoEncodeIntraRefreshInfoKHR( + const safe_VkVideoEncodeIntraRefreshInfoKHR& copy_src) { + sType = copy_src.sType; + intraRefreshCycleDuration = copy_src.intraRefreshCycleDuration; + intraRefreshIndex = copy_src.intraRefreshIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoEncodeIntraRefreshInfoKHR& safe_VkVideoEncodeIntraRefreshInfoKHR::operator=( + const safe_VkVideoEncodeIntraRefreshInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + intraRefreshCycleDuration = copy_src.intraRefreshCycleDuration; + intraRefreshIndex = copy_src.intraRefreshIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoEncodeIntraRefreshInfoKHR::~safe_VkVideoEncodeIntraRefreshInfoKHR() { FreePnextChain(pNext); } + +void safe_VkVideoEncodeIntraRefreshInfoKHR::initialize(const VkVideoEncodeIntraRefreshInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + intraRefreshCycleDuration = in_struct->intraRefreshCycleDuration; + intraRefreshIndex = in_struct->intraRefreshIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoEncodeIntraRefreshInfoKHR::initialize(const safe_VkVideoEncodeIntraRefreshInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + intraRefreshCycleDuration = copy_src->intraRefreshCycleDuration; + intraRefreshIndex = copy_src->intraRefreshIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoReferenceIntraRefreshInfoKHR::safe_VkVideoReferenceIntraRefreshInfoKHR( + const VkVideoReferenceIntraRefreshInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), dirtyIntraRefreshRegions(in_struct->dirtyIntraRefreshRegions) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoReferenceIntraRefreshInfoKHR::safe_VkVideoReferenceIntraRefreshInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR), pNext(nullptr), dirtyIntraRefreshRegions() {} + +safe_VkVideoReferenceIntraRefreshInfoKHR::safe_VkVideoReferenceIntraRefreshInfoKHR( + const safe_VkVideoReferenceIntraRefreshInfoKHR& copy_src) { + sType = copy_src.sType; + dirtyIntraRefreshRegions = copy_src.dirtyIntraRefreshRegions; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoReferenceIntraRefreshInfoKHR& safe_VkVideoReferenceIntraRefreshInfoKHR::operator=( + const safe_VkVideoReferenceIntraRefreshInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dirtyIntraRefreshRegions = copy_src.dirtyIntraRefreshRegions; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoReferenceIntraRefreshInfoKHR::~safe_VkVideoReferenceIntraRefreshInfoKHR() { FreePnextChain(pNext); } + +void safe_VkVideoReferenceIntraRefreshInfoKHR::initialize(const VkVideoReferenceIntraRefreshInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dirtyIntraRefreshRegions = in_struct->dirtyIntraRefreshRegions; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoReferenceIntraRefreshInfoKHR::initialize(const safe_VkVideoReferenceIntraRefreshInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dirtyIntraRefreshRegions = copy_src->dirtyIntraRefreshRegions; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR( + const VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), videoEncodeIntraRefresh(in_struct->videoEncodeIntraRefresh) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR), pNext(nullptr), videoEncodeIntraRefresh() {} + +safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR( + const safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR& copy_src) { + sType = copy_src.sType; + videoEncodeIntraRefresh = copy_src.videoEncodeIntraRefresh; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR& safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::operator=( + const safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + videoEncodeIntraRefresh = copy_src.videoEncodeIntraRefresh; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::~safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::initialize( + const VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + videoEncodeIntraRefresh = in_struct->videoEncodeIntraRefresh; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR::initialize( + const safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + videoEncodeIntraRefresh = copy_src->videoEncodeIntraRefresh; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkVideoEncodeQuantizationMapCapabilitiesKHR::safe_VkVideoEncodeQuantizationMapCapabilitiesKHR( const VkVideoEncodeQuantizationMapCapabilitiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), maxQuantizationMapExtent(in_struct->maxQuantizationMapExtent) { @@ -14672,6 +17818,1514 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceFaultFeaturesKHR::safe_VkPhysicalDeviceFaultFeaturesKHR(const VkPhysicalDeviceFaultFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + deviceFault(in_struct->deviceFault), + deviceFaultVendorBinary(in_struct->deviceFaultVendorBinary), + deviceFaultReportMasked(in_struct->deviceFaultReportMasked), + deviceFaultDeviceLostOnMasked(in_struct->deviceFaultDeviceLostOnMasked) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFaultFeaturesKHR::safe_VkPhysicalDeviceFaultFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR), + pNext(nullptr), + deviceFault(), + deviceFaultVendorBinary(), + deviceFaultReportMasked(), + deviceFaultDeviceLostOnMasked() {} + +safe_VkPhysicalDeviceFaultFeaturesKHR::safe_VkPhysicalDeviceFaultFeaturesKHR( + const safe_VkPhysicalDeviceFaultFeaturesKHR& copy_src) { + sType = copy_src.sType; + deviceFault = copy_src.deviceFault; + deviceFaultVendorBinary = copy_src.deviceFaultVendorBinary; + deviceFaultReportMasked = copy_src.deviceFaultReportMasked; + deviceFaultDeviceLostOnMasked = copy_src.deviceFaultDeviceLostOnMasked; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFaultFeaturesKHR& safe_VkPhysicalDeviceFaultFeaturesKHR::operator=( + const safe_VkPhysicalDeviceFaultFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + deviceFault = copy_src.deviceFault; + deviceFaultVendorBinary = copy_src.deviceFaultVendorBinary; + deviceFaultReportMasked = copy_src.deviceFaultReportMasked; + deviceFaultDeviceLostOnMasked = copy_src.deviceFaultDeviceLostOnMasked; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFaultFeaturesKHR::~safe_VkPhysicalDeviceFaultFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceFaultFeaturesKHR::initialize(const VkPhysicalDeviceFaultFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + deviceFault = in_struct->deviceFault; + deviceFaultVendorBinary = in_struct->deviceFaultVendorBinary; + deviceFaultReportMasked = in_struct->deviceFaultReportMasked; + deviceFaultDeviceLostOnMasked = in_struct->deviceFaultDeviceLostOnMasked; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFaultFeaturesKHR::initialize(const safe_VkPhysicalDeviceFaultFeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + deviceFault = copy_src->deviceFault; + deviceFaultVendorBinary = copy_src->deviceFaultVendorBinary; + deviceFaultReportMasked = copy_src->deviceFaultReportMasked; + deviceFaultDeviceLostOnMasked = copy_src->deviceFaultDeviceLostOnMasked; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceFaultPropertiesKHR::safe_VkPhysicalDeviceFaultPropertiesKHR( + const VkPhysicalDeviceFaultPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maxDeviceFaultCount(in_struct->maxDeviceFaultCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFaultPropertiesKHR::safe_VkPhysicalDeviceFaultPropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR), pNext(nullptr), maxDeviceFaultCount() {} + +safe_VkPhysicalDeviceFaultPropertiesKHR::safe_VkPhysicalDeviceFaultPropertiesKHR( + const safe_VkPhysicalDeviceFaultPropertiesKHR& copy_src) { + sType = copy_src.sType; + maxDeviceFaultCount = copy_src.maxDeviceFaultCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFaultPropertiesKHR& safe_VkPhysicalDeviceFaultPropertiesKHR::operator=( + const safe_VkPhysicalDeviceFaultPropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxDeviceFaultCount = copy_src.maxDeviceFaultCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFaultPropertiesKHR::~safe_VkPhysicalDeviceFaultPropertiesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceFaultPropertiesKHR::initialize(const VkPhysicalDeviceFaultPropertiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxDeviceFaultCount = in_struct->maxDeviceFaultCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFaultPropertiesKHR::initialize(const safe_VkPhysicalDeviceFaultPropertiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxDeviceFaultCount = copy_src->maxDeviceFaultCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDeviceFaultInfoKHR::safe_VkDeviceFaultInfoKHR(const VkDeviceFaultInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + groupId(in_struct->groupId), + faultAddressInfo(in_struct->faultAddressInfo), + instructionAddressInfo(in_struct->instructionAddressInfo), + vendorInfo(in_struct->vendorInfo) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +safe_VkDeviceFaultInfoKHR::safe_VkDeviceFaultInfoKHR() + : sType(VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_KHR), + pNext(nullptr), + flags(), + groupId(), + faultAddressInfo(), + instructionAddressInfo(), + vendorInfo() {} + +safe_VkDeviceFaultInfoKHR::safe_VkDeviceFaultInfoKHR(const safe_VkDeviceFaultInfoKHR& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + groupId = copy_src.groupId; + faultAddressInfo = copy_src.faultAddressInfo; + instructionAddressInfo = copy_src.instructionAddressInfo; + vendorInfo = copy_src.vendorInfo; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = copy_src.description[i]; + } +} + +safe_VkDeviceFaultInfoKHR& safe_VkDeviceFaultInfoKHR::operator=(const safe_VkDeviceFaultInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + groupId = copy_src.groupId; + faultAddressInfo = copy_src.faultAddressInfo; + instructionAddressInfo = copy_src.instructionAddressInfo; + vendorInfo = copy_src.vendorInfo; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = copy_src.description[i]; + } + + return *this; +} + +safe_VkDeviceFaultInfoKHR::~safe_VkDeviceFaultInfoKHR() { FreePnextChain(pNext); } + +void safe_VkDeviceFaultInfoKHR::initialize(const VkDeviceFaultInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + groupId = in_struct->groupId; + faultAddressInfo = in_struct->faultAddressInfo; + instructionAddressInfo = in_struct->instructionAddressInfo; + vendorInfo = in_struct->vendorInfo; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +void safe_VkDeviceFaultInfoKHR::initialize(const safe_VkDeviceFaultInfoKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + groupId = copy_src->groupId; + faultAddressInfo = copy_src->faultAddressInfo; + instructionAddressInfo = copy_src->instructionAddressInfo; + vendorInfo = copy_src->vendorInfo; + pNext = SafePnextCopy(copy_src->pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = copy_src->description[i]; + } +} + +safe_VkDeviceFaultDebugInfoKHR::safe_VkDeviceFaultDebugInfoKHR(const VkDeviceFaultDebugInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), vendorBinarySize(in_struct->vendorBinarySize), pVendorBinaryData(in_struct->pVendorBinaryData) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDeviceFaultDebugInfoKHR::safe_VkDeviceFaultDebugInfoKHR() + : sType(VK_STRUCTURE_TYPE_DEVICE_FAULT_DEBUG_INFO_KHR), pNext(nullptr), vendorBinarySize(), pVendorBinaryData(nullptr) {} + +safe_VkDeviceFaultDebugInfoKHR::safe_VkDeviceFaultDebugInfoKHR(const safe_VkDeviceFaultDebugInfoKHR& copy_src) { + sType = copy_src.sType; + vendorBinarySize = copy_src.vendorBinarySize; + pVendorBinaryData = copy_src.pVendorBinaryData; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDeviceFaultDebugInfoKHR& safe_VkDeviceFaultDebugInfoKHR::operator=(const safe_VkDeviceFaultDebugInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + vendorBinarySize = copy_src.vendorBinarySize; + pVendorBinaryData = copy_src.pVendorBinaryData; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDeviceFaultDebugInfoKHR::~safe_VkDeviceFaultDebugInfoKHR() { FreePnextChain(pNext); } + +void safe_VkDeviceFaultDebugInfoKHR::initialize(const VkDeviceFaultDebugInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + vendorBinarySize = in_struct->vendorBinarySize; + pVendorBinaryData = in_struct->pVendorBinaryData; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDeviceFaultDebugInfoKHR::initialize(const safe_VkDeviceFaultDebugInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vendorBinarySize = copy_src->vendorBinarySize; + pVendorBinaryData = copy_src->pVendorBinaryData; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkMemoryBarrierAccessFlags3KHR::safe_VkMemoryBarrierAccessFlags3KHR(const VkMemoryBarrierAccessFlags3KHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), srcAccessMask3(in_struct->srcAccessMask3), dstAccessMask3(in_struct->dstAccessMask3) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryBarrierAccessFlags3KHR::safe_VkMemoryBarrierAccessFlags3KHR() + : sType(VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR), pNext(nullptr), srcAccessMask3(), dstAccessMask3() {} + +safe_VkMemoryBarrierAccessFlags3KHR::safe_VkMemoryBarrierAccessFlags3KHR(const safe_VkMemoryBarrierAccessFlags3KHR& copy_src) { + sType = copy_src.sType; + srcAccessMask3 = copy_src.srcAccessMask3; + dstAccessMask3 = copy_src.dstAccessMask3; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryBarrierAccessFlags3KHR& safe_VkMemoryBarrierAccessFlags3KHR::operator=( + const safe_VkMemoryBarrierAccessFlags3KHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcAccessMask3 = copy_src.srcAccessMask3; + dstAccessMask3 = copy_src.dstAccessMask3; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryBarrierAccessFlags3KHR::~safe_VkMemoryBarrierAccessFlags3KHR() { FreePnextChain(pNext); } + +void safe_VkMemoryBarrierAccessFlags3KHR::initialize(const VkMemoryBarrierAccessFlags3KHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcAccessMask3 = in_struct->srcAccessMask3; + dstAccessMask3 = in_struct->dstAccessMask3; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryBarrierAccessFlags3KHR::initialize(const safe_VkMemoryBarrierAccessFlags3KHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcAccessMask3 = copy_src->srcAccessMask3; + dstAccessMask3 = copy_src->dstAccessMask3; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance8FeaturesKHR::safe_VkPhysicalDeviceMaintenance8FeaturesKHR( + const VkPhysicalDeviceMaintenance8FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maintenance8(in_struct->maintenance8) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance8FeaturesKHR::safe_VkPhysicalDeviceMaintenance8FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR), pNext(nullptr), maintenance8() {} + +safe_VkPhysicalDeviceMaintenance8FeaturesKHR::safe_VkPhysicalDeviceMaintenance8FeaturesKHR( + const safe_VkPhysicalDeviceMaintenance8FeaturesKHR& copy_src) { + sType = copy_src.sType; + maintenance8 = copy_src.maintenance8; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance8FeaturesKHR& safe_VkPhysicalDeviceMaintenance8FeaturesKHR::operator=( + const safe_VkPhysicalDeviceMaintenance8FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maintenance8 = copy_src.maintenance8; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance8FeaturesKHR::~safe_VkPhysicalDeviceMaintenance8FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance8FeaturesKHR::initialize(const VkPhysicalDeviceMaintenance8FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maintenance8 = in_struct->maintenance8; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance8FeaturesKHR::initialize(const safe_VkPhysicalDeviceMaintenance8FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maintenance8 = copy_src->maintenance8; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderFmaFeaturesKHR::safe_VkPhysicalDeviceShaderFmaFeaturesKHR( + const VkPhysicalDeviceShaderFmaFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + shaderFmaFloat16(in_struct->shaderFmaFloat16), + shaderFmaFloat32(in_struct->shaderFmaFloat32), + shaderFmaFloat64(in_struct->shaderFmaFloat64) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderFmaFeaturesKHR::safe_VkPhysicalDeviceShaderFmaFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR), + pNext(nullptr), + shaderFmaFloat16(), + shaderFmaFloat32(), + shaderFmaFloat64() {} + +safe_VkPhysicalDeviceShaderFmaFeaturesKHR::safe_VkPhysicalDeviceShaderFmaFeaturesKHR( + const safe_VkPhysicalDeviceShaderFmaFeaturesKHR& copy_src) { + sType = copy_src.sType; + shaderFmaFloat16 = copy_src.shaderFmaFloat16; + shaderFmaFloat32 = copy_src.shaderFmaFloat32; + shaderFmaFloat64 = copy_src.shaderFmaFloat64; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderFmaFeaturesKHR& safe_VkPhysicalDeviceShaderFmaFeaturesKHR::operator=( + const safe_VkPhysicalDeviceShaderFmaFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderFmaFloat16 = copy_src.shaderFmaFloat16; + shaderFmaFloat32 = copy_src.shaderFmaFloat32; + shaderFmaFloat64 = copy_src.shaderFmaFloat64; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderFmaFeaturesKHR::~safe_VkPhysicalDeviceShaderFmaFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceShaderFmaFeaturesKHR::initialize(const VkPhysicalDeviceShaderFmaFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderFmaFloat16 = in_struct->shaderFmaFloat16; + shaderFmaFloat32 = in_struct->shaderFmaFloat32; + shaderFmaFloat64 = in_struct->shaderFmaFloat64; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderFmaFeaturesKHR::initialize(const safe_VkPhysicalDeviceShaderFmaFeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderFmaFloat16 = copy_src->shaderFmaFloat16; + shaderFmaFloat32 = copy_src->shaderFmaFloat32; + shaderFmaFloat64 = copy_src->shaderFmaFloat64; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance9FeaturesKHR::safe_VkPhysicalDeviceMaintenance9FeaturesKHR( + const VkPhysicalDeviceMaintenance9FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maintenance9(in_struct->maintenance9) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance9FeaturesKHR::safe_VkPhysicalDeviceMaintenance9FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR), pNext(nullptr), maintenance9() {} + +safe_VkPhysicalDeviceMaintenance9FeaturesKHR::safe_VkPhysicalDeviceMaintenance9FeaturesKHR( + const safe_VkPhysicalDeviceMaintenance9FeaturesKHR& copy_src) { + sType = copy_src.sType; + maintenance9 = copy_src.maintenance9; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance9FeaturesKHR& safe_VkPhysicalDeviceMaintenance9FeaturesKHR::operator=( + const safe_VkPhysicalDeviceMaintenance9FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maintenance9 = copy_src.maintenance9; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance9FeaturesKHR::~safe_VkPhysicalDeviceMaintenance9FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance9FeaturesKHR::initialize(const VkPhysicalDeviceMaintenance9FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maintenance9 = in_struct->maintenance9; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance9FeaturesKHR::initialize(const safe_VkPhysicalDeviceMaintenance9FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maintenance9 = copy_src->maintenance9; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance9PropertiesKHR::safe_VkPhysicalDeviceMaintenance9PropertiesKHR( + const VkPhysicalDeviceMaintenance9PropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + image2DViewOf3DSparse(in_struct->image2DViewOf3DSparse), + defaultVertexAttributeValue(in_struct->defaultVertexAttributeValue) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance9PropertiesKHR::safe_VkPhysicalDeviceMaintenance9PropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR), + pNext(nullptr), + image2DViewOf3DSparse(), + defaultVertexAttributeValue() {} + +safe_VkPhysicalDeviceMaintenance9PropertiesKHR::safe_VkPhysicalDeviceMaintenance9PropertiesKHR( + const safe_VkPhysicalDeviceMaintenance9PropertiesKHR& copy_src) { + sType = copy_src.sType; + image2DViewOf3DSparse = copy_src.image2DViewOf3DSparse; + defaultVertexAttributeValue = copy_src.defaultVertexAttributeValue; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance9PropertiesKHR& safe_VkPhysicalDeviceMaintenance9PropertiesKHR::operator=( + const safe_VkPhysicalDeviceMaintenance9PropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + image2DViewOf3DSparse = copy_src.image2DViewOf3DSparse; + defaultVertexAttributeValue = copy_src.defaultVertexAttributeValue; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance9PropertiesKHR::~safe_VkPhysicalDeviceMaintenance9PropertiesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance9PropertiesKHR::initialize(const VkPhysicalDeviceMaintenance9PropertiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + image2DViewOf3DSparse = in_struct->image2DViewOf3DSparse; + defaultVertexAttributeValue = in_struct->defaultVertexAttributeValue; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance9PropertiesKHR::initialize(const safe_VkPhysicalDeviceMaintenance9PropertiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + image2DViewOf3DSparse = copy_src->image2DViewOf3DSparse; + defaultVertexAttributeValue = copy_src->defaultVertexAttributeValue; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkQueueFamilyOwnershipTransferPropertiesKHR::safe_VkQueueFamilyOwnershipTransferPropertiesKHR( + const VkQueueFamilyOwnershipTransferPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), optimalImageTransferToQueueFamilies(in_struct->optimalImageTransferToQueueFamilies) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkQueueFamilyOwnershipTransferPropertiesKHR::safe_VkQueueFamilyOwnershipTransferPropertiesKHR() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR), + pNext(nullptr), + optimalImageTransferToQueueFamilies() {} + +safe_VkQueueFamilyOwnershipTransferPropertiesKHR::safe_VkQueueFamilyOwnershipTransferPropertiesKHR( + const safe_VkQueueFamilyOwnershipTransferPropertiesKHR& copy_src) { + sType = copy_src.sType; + optimalImageTransferToQueueFamilies = copy_src.optimalImageTransferToQueueFamilies; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkQueueFamilyOwnershipTransferPropertiesKHR& safe_VkQueueFamilyOwnershipTransferPropertiesKHR::operator=( + const safe_VkQueueFamilyOwnershipTransferPropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + optimalImageTransferToQueueFamilies = copy_src.optimalImageTransferToQueueFamilies; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkQueueFamilyOwnershipTransferPropertiesKHR::~safe_VkQueueFamilyOwnershipTransferPropertiesKHR() { FreePnextChain(pNext); } + +void safe_VkQueueFamilyOwnershipTransferPropertiesKHR::initialize(const VkQueueFamilyOwnershipTransferPropertiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + optimalImageTransferToQueueFamilies = in_struct->optimalImageTransferToQueueFamilies; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkQueueFamilyOwnershipTransferPropertiesKHR::initialize(const safe_VkQueueFamilyOwnershipTransferPropertiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + optimalImageTransferToQueueFamilies = copy_src->optimalImageTransferToQueueFamilies; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR( + const VkPhysicalDeviceVideoMaintenance2FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), videoMaintenance2(in_struct->videoMaintenance2) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR), pNext(nullptr), videoMaintenance2() {} + +safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR( + const safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR& copy_src) { + sType = copy_src.sType; + videoMaintenance2 = copy_src.videoMaintenance2; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR& safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::operator=( + const safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + videoMaintenance2 = copy_src.videoMaintenance2; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::~safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::initialize(const VkPhysicalDeviceVideoMaintenance2FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + videoMaintenance2 = in_struct->videoMaintenance2; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR::initialize( + const safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + videoMaintenance2 = copy_src->videoMaintenance2; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::safe_VkVideoDecodeH264InlineSessionParametersInfoKHR( + const VkVideoDecodeH264InlineSessionParametersInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pStdSPS(nullptr), pStdPPS(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pStdSPS) { + pStdSPS = new StdVideoH264SequenceParameterSet(*in_struct->pStdSPS); + } + + if (in_struct->pStdPPS) { + pStdPPS = new StdVideoH264PictureParameterSet(*in_struct->pStdPPS); + } +} + +safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::safe_VkVideoDecodeH264InlineSessionParametersInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR), + pNext(nullptr), + pStdSPS(nullptr), + pStdPPS(nullptr) {} + +safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::safe_VkVideoDecodeH264InlineSessionParametersInfoKHR( + const safe_VkVideoDecodeH264InlineSessionParametersInfoKHR& copy_src) { + sType = copy_src.sType; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdSPS) { + pStdSPS = new StdVideoH264SequenceParameterSet(*copy_src.pStdSPS); + } + + if (copy_src.pStdPPS) { + pStdPPS = new StdVideoH264PictureParameterSet(*copy_src.pStdPPS); + } +} + +safe_VkVideoDecodeH264InlineSessionParametersInfoKHR& safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::operator=( + const safe_VkVideoDecodeH264InlineSessionParametersInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pStdSPS) delete pStdSPS; + if (pStdPPS) delete pStdPPS; + FreePnextChain(pNext); + + sType = copy_src.sType; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdSPS) { + pStdSPS = new StdVideoH264SequenceParameterSet(*copy_src.pStdSPS); + } + + if (copy_src.pStdPPS) { + pStdPPS = new StdVideoH264PictureParameterSet(*copy_src.pStdPPS); + } + + return *this; +} + +safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::~safe_VkVideoDecodeH264InlineSessionParametersInfoKHR() { + if (pStdSPS) delete pStdSPS; + if (pStdPPS) delete pStdPPS; + FreePnextChain(pNext); +} + +void safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::initialize( + const VkVideoDecodeH264InlineSessionParametersInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pStdSPS) delete pStdSPS; + if (pStdPPS) delete pStdPPS; + FreePnextChain(pNext); + sType = in_struct->sType; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pStdSPS) { + pStdSPS = new StdVideoH264SequenceParameterSet(*in_struct->pStdSPS); + } + + if (in_struct->pStdPPS) { + pStdPPS = new StdVideoH264PictureParameterSet(*in_struct->pStdPPS); + } +} + +void safe_VkVideoDecodeH264InlineSessionParametersInfoKHR::initialize( + const safe_VkVideoDecodeH264InlineSessionParametersInfoKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pStdSPS) { + pStdSPS = new StdVideoH264SequenceParameterSet(*copy_src->pStdSPS); + } + + if (copy_src->pStdPPS) { + pStdPPS = new StdVideoH264PictureParameterSet(*copy_src->pStdPPS); + } +} + +safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::safe_VkVideoDecodeH265InlineSessionParametersInfoKHR( + const VkVideoDecodeH265InlineSessionParametersInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pStdVPS(nullptr), pStdSPS(nullptr), pStdPPS(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pStdVPS) { + pStdVPS = new StdVideoH265VideoParameterSet(*in_struct->pStdVPS); + } + + if (in_struct->pStdSPS) { + pStdSPS = new StdVideoH265SequenceParameterSet(*in_struct->pStdSPS); + } + + if (in_struct->pStdPPS) { + pStdPPS = new StdVideoH265PictureParameterSet(*in_struct->pStdPPS); + } +} + +safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::safe_VkVideoDecodeH265InlineSessionParametersInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR), + pNext(nullptr), + pStdVPS(nullptr), + pStdSPS(nullptr), + pStdPPS(nullptr) {} + +safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::safe_VkVideoDecodeH265InlineSessionParametersInfoKHR( + const safe_VkVideoDecodeH265InlineSessionParametersInfoKHR& copy_src) { + sType = copy_src.sType; + pStdVPS = nullptr; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdVPS) { + pStdVPS = new StdVideoH265VideoParameterSet(*copy_src.pStdVPS); + } + + if (copy_src.pStdSPS) { + pStdSPS = new StdVideoH265SequenceParameterSet(*copy_src.pStdSPS); + } + + if (copy_src.pStdPPS) { + pStdPPS = new StdVideoH265PictureParameterSet(*copy_src.pStdPPS); + } +} + +safe_VkVideoDecodeH265InlineSessionParametersInfoKHR& safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::operator=( + const safe_VkVideoDecodeH265InlineSessionParametersInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pStdVPS) delete pStdVPS; + if (pStdSPS) delete pStdSPS; + if (pStdPPS) delete pStdPPS; + FreePnextChain(pNext); + + sType = copy_src.sType; + pStdVPS = nullptr; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdVPS) { + pStdVPS = new StdVideoH265VideoParameterSet(*copy_src.pStdVPS); + } + + if (copy_src.pStdSPS) { + pStdSPS = new StdVideoH265SequenceParameterSet(*copy_src.pStdSPS); + } + + if (copy_src.pStdPPS) { + pStdPPS = new StdVideoH265PictureParameterSet(*copy_src.pStdPPS); + } + + return *this; +} + +safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::~safe_VkVideoDecodeH265InlineSessionParametersInfoKHR() { + if (pStdVPS) delete pStdVPS; + if (pStdSPS) delete pStdSPS; + if (pStdPPS) delete pStdPPS; + FreePnextChain(pNext); +} + +void safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::initialize( + const VkVideoDecodeH265InlineSessionParametersInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pStdVPS) delete pStdVPS; + if (pStdSPS) delete pStdSPS; + if (pStdPPS) delete pStdPPS; + FreePnextChain(pNext); + sType = in_struct->sType; + pStdVPS = nullptr; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pStdVPS) { + pStdVPS = new StdVideoH265VideoParameterSet(*in_struct->pStdVPS); + } + + if (in_struct->pStdSPS) { + pStdSPS = new StdVideoH265SequenceParameterSet(*in_struct->pStdSPS); + } + + if (in_struct->pStdPPS) { + pStdPPS = new StdVideoH265PictureParameterSet(*in_struct->pStdPPS); + } +} + +void safe_VkVideoDecodeH265InlineSessionParametersInfoKHR::initialize( + const safe_VkVideoDecodeH265InlineSessionParametersInfoKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pStdVPS = nullptr; + pStdSPS = nullptr; + pStdPPS = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pStdVPS) { + pStdVPS = new StdVideoH265VideoParameterSet(*copy_src->pStdVPS); + } + + if (copy_src->pStdSPS) { + pStdSPS = new StdVideoH265SequenceParameterSet(*copy_src->pStdSPS); + } + + if (copy_src->pStdPPS) { + pStdPPS = new StdVideoH265PictureParameterSet(*copy_src->pStdPPS); + } +} + +safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR( + const VkVideoDecodeAV1InlineSessionParametersInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pStdSequenceHeader(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pStdSequenceHeader) { + pStdSequenceHeader = new StdVideoAV1SequenceHeader(*in_struct->pStdSequenceHeader); + } +} + +safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR() + : sType(VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR), pNext(nullptr), pStdSequenceHeader(nullptr) {} + +safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR( + const safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR& copy_src) { + sType = copy_src.sType; + pStdSequenceHeader = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdSequenceHeader) { + pStdSequenceHeader = new StdVideoAV1SequenceHeader(*copy_src.pStdSequenceHeader); + } +} + +safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR& safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::operator=( + const safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR& copy_src) { + if (©_src == this) return *this; + + if (pStdSequenceHeader) delete pStdSequenceHeader; + FreePnextChain(pNext); + + sType = copy_src.sType; + pStdSequenceHeader = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pStdSequenceHeader) { + pStdSequenceHeader = new StdVideoAV1SequenceHeader(*copy_src.pStdSequenceHeader); + } + + return *this; +} + +safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::~safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR() { + if (pStdSequenceHeader) delete pStdSequenceHeader; + FreePnextChain(pNext); +} + +void safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::initialize( + const VkVideoDecodeAV1InlineSessionParametersInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pStdSequenceHeader) delete pStdSequenceHeader; + FreePnextChain(pNext); + sType = in_struct->sType; + pStdSequenceHeader = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pStdSequenceHeader) { + pStdSequenceHeader = new StdVideoAV1SequenceHeader(*in_struct->pStdSequenceHeader); + } +} + +void safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR::initialize( + const safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pStdSequenceHeader = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pStdSequenceHeader) { + pStdSequenceHeader = new StdVideoAV1SequenceHeader(*copy_src->pStdSequenceHeader); + } +} + +safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR( + const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), depthClampZeroOne(in_struct->depthClampZeroOne) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR), pNext(nullptr), depthClampZeroOne() {} + +safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR( + const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR& copy_src) { + sType = copy_src.sType; + depthClampZeroOne = copy_src.depthClampZeroOne; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR& safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::operator=( + const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + depthClampZeroOne = copy_src.depthClampZeroOne; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::~safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::initialize(const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + depthClampZeroOne = in_struct->depthClampZeroOne; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR::initialize( + const safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + depthClampZeroOne = copy_src->depthClampZeroOne; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceRobustness2FeaturesKHR::safe_VkPhysicalDeviceRobustness2FeaturesKHR( + const VkPhysicalDeviceRobustness2FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + robustBufferAccess2(in_struct->robustBufferAccess2), + robustImageAccess2(in_struct->robustImageAccess2), + nullDescriptor(in_struct->nullDescriptor) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceRobustness2FeaturesKHR::safe_VkPhysicalDeviceRobustness2FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR), + pNext(nullptr), + robustBufferAccess2(), + robustImageAccess2(), + nullDescriptor() {} + +safe_VkPhysicalDeviceRobustness2FeaturesKHR::safe_VkPhysicalDeviceRobustness2FeaturesKHR( + const safe_VkPhysicalDeviceRobustness2FeaturesKHR& copy_src) { + sType = copy_src.sType; + robustBufferAccess2 = copy_src.robustBufferAccess2; + robustImageAccess2 = copy_src.robustImageAccess2; + nullDescriptor = copy_src.nullDescriptor; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceRobustness2FeaturesKHR& safe_VkPhysicalDeviceRobustness2FeaturesKHR::operator=( + const safe_VkPhysicalDeviceRobustness2FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + robustBufferAccess2 = copy_src.robustBufferAccess2; + robustImageAccess2 = copy_src.robustImageAccess2; + nullDescriptor = copy_src.nullDescriptor; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceRobustness2FeaturesKHR::~safe_VkPhysicalDeviceRobustness2FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceRobustness2FeaturesKHR::initialize(const VkPhysicalDeviceRobustness2FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + robustBufferAccess2 = in_struct->robustBufferAccess2; + robustImageAccess2 = in_struct->robustImageAccess2; + nullDescriptor = in_struct->nullDescriptor; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceRobustness2FeaturesKHR::initialize(const safe_VkPhysicalDeviceRobustness2FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + robustBufferAccess2 = copy_src->robustBufferAccess2; + robustImageAccess2 = copy_src->robustImageAccess2; + nullDescriptor = copy_src->nullDescriptor; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceRobustness2PropertiesKHR::safe_VkPhysicalDeviceRobustness2PropertiesKHR( + const VkPhysicalDeviceRobustness2PropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + robustStorageBufferAccessSizeAlignment(in_struct->robustStorageBufferAccessSizeAlignment), + robustUniformBufferAccessSizeAlignment(in_struct->robustUniformBufferAccessSizeAlignment) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceRobustness2PropertiesKHR::safe_VkPhysicalDeviceRobustness2PropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR), + pNext(nullptr), + robustStorageBufferAccessSizeAlignment(), + robustUniformBufferAccessSizeAlignment() {} + +safe_VkPhysicalDeviceRobustness2PropertiesKHR::safe_VkPhysicalDeviceRobustness2PropertiesKHR( + const safe_VkPhysicalDeviceRobustness2PropertiesKHR& copy_src) { + sType = copy_src.sType; + robustStorageBufferAccessSizeAlignment = copy_src.robustStorageBufferAccessSizeAlignment; + robustUniformBufferAccessSizeAlignment = copy_src.robustUniformBufferAccessSizeAlignment; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceRobustness2PropertiesKHR& safe_VkPhysicalDeviceRobustness2PropertiesKHR::operator=( + const safe_VkPhysicalDeviceRobustness2PropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + robustStorageBufferAccessSizeAlignment = copy_src.robustStorageBufferAccessSizeAlignment; + robustUniformBufferAccessSizeAlignment = copy_src.robustUniformBufferAccessSizeAlignment; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceRobustness2PropertiesKHR::~safe_VkPhysicalDeviceRobustness2PropertiesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceRobustness2PropertiesKHR::initialize(const VkPhysicalDeviceRobustness2PropertiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + robustStorageBufferAccessSizeAlignment = in_struct->robustStorageBufferAccessSizeAlignment; + robustUniformBufferAccessSizeAlignment = in_struct->robustUniformBufferAccessSizeAlignment; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceRobustness2PropertiesKHR::initialize(const safe_VkPhysicalDeviceRobustness2PropertiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + robustStorageBufferAccessSizeAlignment = copy_src->robustStorageBufferAccessSizeAlignment; + robustUniformBufferAccessSizeAlignment = copy_src->robustUniformBufferAccessSizeAlignment; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR( + const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), presentModeFifoLatestReady(in_struct->presentModeFifoLatestReady) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR), + pNext(nullptr), + presentModeFifoLatestReady() {} + +safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR( + const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR& copy_src) { + sType = copy_src.sType; + presentModeFifoLatestReady = copy_src.presentModeFifoLatestReady; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR& safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::operator=( + const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentModeFifoLatestReady = copy_src.presentModeFifoLatestReady; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::~safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::initialize( + const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentModeFifoLatestReady = in_struct->presentModeFifoLatestReady; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR::initialize( + const safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentModeFifoLatestReady = copy_src->presentModeFifoLatestReady; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance10FeaturesKHR::safe_VkPhysicalDeviceMaintenance10FeaturesKHR( + const VkPhysicalDeviceMaintenance10FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maintenance10(in_struct->maintenance10) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance10FeaturesKHR::safe_VkPhysicalDeviceMaintenance10FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR), pNext(nullptr), maintenance10() {} + +safe_VkPhysicalDeviceMaintenance10FeaturesKHR::safe_VkPhysicalDeviceMaintenance10FeaturesKHR( + const safe_VkPhysicalDeviceMaintenance10FeaturesKHR& copy_src) { + sType = copy_src.sType; + maintenance10 = copy_src.maintenance10; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance10FeaturesKHR& safe_VkPhysicalDeviceMaintenance10FeaturesKHR::operator=( + const safe_VkPhysicalDeviceMaintenance10FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maintenance10 = copy_src.maintenance10; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance10FeaturesKHR::~safe_VkPhysicalDeviceMaintenance10FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance10FeaturesKHR::initialize(const VkPhysicalDeviceMaintenance10FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maintenance10 = in_struct->maintenance10; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance10FeaturesKHR::initialize(const safe_VkPhysicalDeviceMaintenance10FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maintenance10 = copy_src->maintenance10; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance10PropertiesKHR::safe_VkPhysicalDeviceMaintenance10PropertiesKHR( + const VkPhysicalDeviceMaintenance10PropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + rgba4OpaqueBlackSwizzled(in_struct->rgba4OpaqueBlackSwizzled), + resolveSrgbFormatAppliesTransferFunction(in_struct->resolveSrgbFormatAppliesTransferFunction), + resolveSrgbFormatSupportsTransferFunctionControl(in_struct->resolveSrgbFormatSupportsTransferFunctionControl) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance10PropertiesKHR::safe_VkPhysicalDeviceMaintenance10PropertiesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR), + pNext(nullptr), + rgba4OpaqueBlackSwizzled(), + resolveSrgbFormatAppliesTransferFunction(), + resolveSrgbFormatSupportsTransferFunctionControl() {} + +safe_VkPhysicalDeviceMaintenance10PropertiesKHR::safe_VkPhysicalDeviceMaintenance10PropertiesKHR( + const safe_VkPhysicalDeviceMaintenance10PropertiesKHR& copy_src) { + sType = copy_src.sType; + rgba4OpaqueBlackSwizzled = copy_src.rgba4OpaqueBlackSwizzled; + resolveSrgbFormatAppliesTransferFunction = copy_src.resolveSrgbFormatAppliesTransferFunction; + resolveSrgbFormatSupportsTransferFunctionControl = copy_src.resolveSrgbFormatSupportsTransferFunctionControl; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance10PropertiesKHR& safe_VkPhysicalDeviceMaintenance10PropertiesKHR::operator=( + const safe_VkPhysicalDeviceMaintenance10PropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rgba4OpaqueBlackSwizzled = copy_src.rgba4OpaqueBlackSwizzled; + resolveSrgbFormatAppliesTransferFunction = copy_src.resolveSrgbFormatAppliesTransferFunction; + resolveSrgbFormatSupportsTransferFunctionControl = copy_src.resolveSrgbFormatSupportsTransferFunctionControl; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance10PropertiesKHR::~safe_VkPhysicalDeviceMaintenance10PropertiesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance10PropertiesKHR::initialize(const VkPhysicalDeviceMaintenance10PropertiesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rgba4OpaqueBlackSwizzled = in_struct->rgba4OpaqueBlackSwizzled; + resolveSrgbFormatAppliesTransferFunction = in_struct->resolveSrgbFormatAppliesTransferFunction; + resolveSrgbFormatSupportsTransferFunctionControl = in_struct->resolveSrgbFormatSupportsTransferFunctionControl; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance10PropertiesKHR::initialize(const safe_VkPhysicalDeviceMaintenance10PropertiesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rgba4OpaqueBlackSwizzled = copy_src->rgba4OpaqueBlackSwizzled; + resolveSrgbFormatAppliesTransferFunction = copy_src->resolveSrgbFormatAppliesTransferFunction; + resolveSrgbFormatSupportsTransferFunctionControl = copy_src->resolveSrgbFormatSupportsTransferFunctionControl; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderingEndInfoKHR::safe_VkRenderingEndInfoKHR(const VkRenderingEndInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkRenderingEndInfoKHR::safe_VkRenderingEndInfoKHR() : sType(VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR), pNext(nullptr) {} + +safe_VkRenderingEndInfoKHR::safe_VkRenderingEndInfoKHR(const safe_VkRenderingEndInfoKHR& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkRenderingEndInfoKHR& safe_VkRenderingEndInfoKHR::operator=(const safe_VkRenderingEndInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkRenderingEndInfoKHR::~safe_VkRenderingEndInfoKHR() { FreePnextChain(pNext); } + +void safe_VkRenderingEndInfoKHR::initialize(const VkRenderingEndInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkRenderingEndInfoKHR::initialize(const safe_VkRenderingEndInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderingAttachmentFlagsInfoKHR::safe_VkRenderingAttachmentFlagsInfoKHR(const VkRenderingAttachmentFlagsInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkRenderingAttachmentFlagsInfoKHR::safe_VkRenderingAttachmentFlagsInfoKHR() + : sType(VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR), pNext(nullptr), flags() {} + +safe_VkRenderingAttachmentFlagsInfoKHR::safe_VkRenderingAttachmentFlagsInfoKHR( + const safe_VkRenderingAttachmentFlagsInfoKHR& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkRenderingAttachmentFlagsInfoKHR& safe_VkRenderingAttachmentFlagsInfoKHR::operator=( + const safe_VkRenderingAttachmentFlagsInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkRenderingAttachmentFlagsInfoKHR::~safe_VkRenderingAttachmentFlagsInfoKHR() { FreePnextChain(pNext); } + +void safe_VkRenderingAttachmentFlagsInfoKHR::initialize(const VkRenderingAttachmentFlagsInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkRenderingAttachmentFlagsInfoKHR::initialize(const safe_VkRenderingAttachmentFlagsInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkResolveImageModeInfoKHR::safe_VkResolveImageModeInfoKHR(const VkResolveImageModeInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + resolveMode(in_struct->resolveMode), + stencilResolveMode(in_struct->stencilResolveMode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkResolveImageModeInfoKHR::safe_VkResolveImageModeInfoKHR() + : sType(VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR), pNext(nullptr), flags(), resolveMode(), stencilResolveMode() {} + +safe_VkResolveImageModeInfoKHR::safe_VkResolveImageModeInfoKHR(const safe_VkResolveImageModeInfoKHR& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + resolveMode = copy_src.resolveMode; + stencilResolveMode = copy_src.stencilResolveMode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkResolveImageModeInfoKHR& safe_VkResolveImageModeInfoKHR::operator=(const safe_VkResolveImageModeInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + resolveMode = copy_src.resolveMode; + stencilResolveMode = copy_src.stencilResolveMode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkResolveImageModeInfoKHR::~safe_VkResolveImageModeInfoKHR() { FreePnextChain(pNext); } + +void safe_VkResolveImageModeInfoKHR::initialize(const VkResolveImageModeInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + resolveMode = in_struct->resolveMode; + stencilResolveMode = in_struct->stencilResolveMode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkResolveImageModeInfoKHR::initialize(const safe_VkResolveImageModeInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + resolveMode = copy_src->resolveMode; + stencilResolveMode = copy_src->stencilResolveMode; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceMaintenance11FeaturesKHR::safe_VkPhysicalDeviceMaintenance11FeaturesKHR( + const VkPhysicalDeviceMaintenance11FeaturesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), maintenance11(in_struct->maintenance11) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceMaintenance11FeaturesKHR::safe_VkPhysicalDeviceMaintenance11FeaturesKHR() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR), pNext(nullptr), maintenance11() {} + +safe_VkPhysicalDeviceMaintenance11FeaturesKHR::safe_VkPhysicalDeviceMaintenance11FeaturesKHR( + const safe_VkPhysicalDeviceMaintenance11FeaturesKHR& copy_src) { + sType = copy_src.sType; + maintenance11 = copy_src.maintenance11; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceMaintenance11FeaturesKHR& safe_VkPhysicalDeviceMaintenance11FeaturesKHR::operator=( + const safe_VkPhysicalDeviceMaintenance11FeaturesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maintenance11 = copy_src.maintenance11; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceMaintenance11FeaturesKHR::~safe_VkPhysicalDeviceMaintenance11FeaturesKHR() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceMaintenance11FeaturesKHR::initialize(const VkPhysicalDeviceMaintenance11FeaturesKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maintenance11 = in_struct->maintenance11; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceMaintenance11FeaturesKHR::initialize(const safe_VkPhysicalDeviceMaintenance11FeaturesKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maintenance11 = copy_src->maintenance11; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR( + const VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), optimalImageTransferGranularity(in_struct->optimalImageTransferGranularity) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR), + pNext(nullptr), + optimalImageTransferGranularity() {} + +safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR( + const safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR& copy_src) { + sType = copy_src.sType; + optimalImageTransferGranularity = copy_src.optimalImageTransferGranularity; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR& +safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::operator=( + const safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + optimalImageTransferGranularity = copy_src.optimalImageTransferGranularity; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::~safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR() { + FreePnextChain(pNext); +} + +void safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::initialize( + const VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + optimalImageTransferGranularity = in_struct->optimalImageTransferGranularity; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR::initialize( + const safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + optimalImageTransferGranularity = copy_src->optimalImageTransferGranularity; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkDeviceOrHostAddressConstKHR::safe_VkDeviceOrHostAddressConstKHR(const VkDeviceOrHostAddressConstKHR* in_struct, PNextCopyState*) { initialize(in_struct); @@ -14742,6 +19396,69 @@ hostAddress = copy_src->hostAddress; } +safe_VkAccelerationStructureBuildSizesInfoKHR::safe_VkAccelerationStructureBuildSizesInfoKHR( + const VkAccelerationStructureBuildSizesInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + accelerationStructureSize(in_struct->accelerationStructureSize), + updateScratchSize(in_struct->updateScratchSize), + buildScratchSize(in_struct->buildScratchSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAccelerationStructureBuildSizesInfoKHR::safe_VkAccelerationStructureBuildSizesInfoKHR() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR), + pNext(nullptr), + accelerationStructureSize(), + updateScratchSize(), + buildScratchSize() {} + +safe_VkAccelerationStructureBuildSizesInfoKHR::safe_VkAccelerationStructureBuildSizesInfoKHR( + const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src) { + sType = copy_src.sType; + accelerationStructureSize = copy_src.accelerationStructureSize; + updateScratchSize = copy_src.updateScratchSize; + buildScratchSize = copy_src.buildScratchSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAccelerationStructureBuildSizesInfoKHR& safe_VkAccelerationStructureBuildSizesInfoKHR::operator=( + const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + accelerationStructureSize = copy_src.accelerationStructureSize; + updateScratchSize = copy_src.updateScratchSize; + buildScratchSize = copy_src.buildScratchSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAccelerationStructureBuildSizesInfoKHR::~safe_VkAccelerationStructureBuildSizesInfoKHR() { FreePnextChain(pNext); } + +void safe_VkAccelerationStructureBuildSizesInfoKHR::initialize(const VkAccelerationStructureBuildSizesInfoKHR* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + accelerationStructureSize = in_struct->accelerationStructureSize; + updateScratchSize = in_struct->updateScratchSize; + buildScratchSize = in_struct->buildScratchSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAccelerationStructureBuildSizesInfoKHR::initialize(const safe_VkAccelerationStructureBuildSizesInfoKHR* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + accelerationStructureSize = copy_src->accelerationStructureSize; + updateScratchSize = copy_src->updateScratchSize; + buildScratchSize = copy_src->buildScratchSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkAccelerationStructureGeometryTrianglesDataKHR::safe_VkAccelerationStructureGeometryTrianglesDataKHR( const VkAccelerationStructureGeometryTrianglesDataKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), @@ -15576,69 +20293,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkAccelerationStructureBuildSizesInfoKHR::safe_VkAccelerationStructureBuildSizesInfoKHR( - const VkAccelerationStructureBuildSizesInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - accelerationStructureSize(in_struct->accelerationStructureSize), - updateScratchSize(in_struct->updateScratchSize), - buildScratchSize(in_struct->buildScratchSize) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkAccelerationStructureBuildSizesInfoKHR::safe_VkAccelerationStructureBuildSizesInfoKHR() - : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_BUILD_SIZES_INFO_KHR), - pNext(nullptr), - accelerationStructureSize(), - updateScratchSize(), - buildScratchSize() {} - -safe_VkAccelerationStructureBuildSizesInfoKHR::safe_VkAccelerationStructureBuildSizesInfoKHR( - const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src) { - sType = copy_src.sType; - accelerationStructureSize = copy_src.accelerationStructureSize; - updateScratchSize = copy_src.updateScratchSize; - buildScratchSize = copy_src.buildScratchSize; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkAccelerationStructureBuildSizesInfoKHR& safe_VkAccelerationStructureBuildSizesInfoKHR::operator=( - const safe_VkAccelerationStructureBuildSizesInfoKHR& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - accelerationStructureSize = copy_src.accelerationStructureSize; - updateScratchSize = copy_src.updateScratchSize; - buildScratchSize = copy_src.buildScratchSize; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkAccelerationStructureBuildSizesInfoKHR::~safe_VkAccelerationStructureBuildSizesInfoKHR() { FreePnextChain(pNext); } - -void safe_VkAccelerationStructureBuildSizesInfoKHR::initialize(const VkAccelerationStructureBuildSizesInfoKHR* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - accelerationStructureSize = in_struct->accelerationStructureSize; - updateScratchSize = in_struct->updateScratchSize; - buildScratchSize = in_struct->buildScratchSize; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkAccelerationStructureBuildSizesInfoKHR::initialize(const safe_VkAccelerationStructureBuildSizesInfoKHR* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - accelerationStructureSize = copy_src->accelerationStructureSize; - updateScratchSize = copy_src->updateScratchSize; - buildScratchSize = copy_src->buildScratchSize; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkRayTracingShaderGroupCreateInfoKHR::safe_VkRayTracingShaderGroupCreateInfoKHR( const VkRayTracingShaderGroupCreateInfoKHR* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType),
diff --git a/src/vulkan/vk_safe_struct_manual.cpp b/src/vulkan/vk_safe_struct_manual.cpp index 9a4620f..fac54d2 100644 --- a/src/vulkan/vk_safe_struct_manual.cpp +++ b/src/vulkan/vk_safe_struct_manual.cpp
@@ -18,11 +18,6 @@ namespace vku { -std::vector<std::pair<uint32_t, uint32_t>>& GetCustomStypeInfo() { - static std::vector<std::pair<uint32_t, uint32_t>> custom_stype_info{}; - return custom_stype_info; -} - struct ASGeomKHRExtraData { ASGeomKHRExtraData(uint8_t* alloc, uint32_t primOffset, uint32_t primCount) : ptr(alloc), primitiveOffset(primOffset), primitiveCount(primCount) {} @@ -206,6 +201,7 @@ if (iter != GetAccelStructGeomHostAllocMap().end()) { delete iter->second; } + FreePnextChain(pNext); if (geometryType == VK_GEOMETRY_TYPE_INSTANCES_KHR) { FreePnextChain(geometry.instances.pNext); @@ -1199,588 +1195,4 @@ } } } - -safe_VkMicromapBuildInfoEXT::safe_VkMicromapBuildInfoEXT(const VkMicromapBuildInfoEXT* in_struct, - [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - type(in_struct->type), - flags(in_struct->flags), - mode(in_struct->mode), - dstMicromap(in_struct->dstMicromap), - usageCountsCount(in_struct->usageCountsCount), - pUsageCounts(nullptr), - ppUsageCounts(nullptr), - data(&in_struct->data), - scratchData(&in_struct->scratchData), - triangleArray(&in_struct->triangleArray), - triangleArrayStride(in_struct->triangleArrayStride) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); - } - if (in_struct->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; - for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkMicromapBuildInfoEXT::safe_VkMicromapBuildInfoEXT() - : sType(VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT), - pNext(nullptr), - type(), - flags(), - mode(), - dstMicromap(), - usageCountsCount(), - pUsageCounts(nullptr), - ppUsageCounts(nullptr), - triangleArrayStride() {} - -safe_VkMicromapBuildInfoEXT::safe_VkMicromapBuildInfoEXT(const safe_VkMicromapBuildInfoEXT& copy_src) { - sType = copy_src.sType; - type = copy_src.type; - flags = copy_src.flags; - mode = copy_src.mode; - dstMicromap = copy_src.dstMicromap; - usageCountsCount = copy_src.usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - data.initialize(©_src.data); - scratchData.initialize(©_src.scratchData); - triangleArray.initialize(©_src.triangleArray); - triangleArrayStride = copy_src.triangleArrayStride; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); - } - if (copy_src.ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; - for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkMicromapBuildInfoEXT& safe_VkMicromapBuildInfoEXT::operator=(const safe_VkMicromapBuildInfoEXT& copy_src) { - if (©_src == this) return *this; - - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); - - sType = copy_src.sType; - type = copy_src.type; - flags = copy_src.flags; - mode = copy_src.mode; - dstMicromap = copy_src.dstMicromap; - usageCountsCount = copy_src.usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - data.initialize(©_src.data); - scratchData.initialize(©_src.scratchData); - triangleArray.initialize(©_src.triangleArray); - triangleArrayStride = copy_src.triangleArrayStride; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); - } - if (copy_src.ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; - for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } - - return *this; -} - -safe_VkMicromapBuildInfoEXT::~safe_VkMicromapBuildInfoEXT() { - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); -} - -void safe_VkMicromapBuildInfoEXT::initialize(const VkMicromapBuildInfoEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); - sType = in_struct->sType; - type = in_struct->type; - flags = in_struct->flags; - mode = in_struct->mode; - dstMicromap = in_struct->dstMicromap; - usageCountsCount = in_struct->usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - data.initialize(&in_struct->data); - scratchData.initialize(&in_struct->scratchData); - triangleArray.initialize(&in_struct->triangleArray); - triangleArrayStride = in_struct->triangleArrayStride; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); - } - if (in_struct->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; - for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -void safe_VkMicromapBuildInfoEXT::initialize(const safe_VkMicromapBuildInfoEXT* copy_src, - [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - type = copy_src->type; - flags = copy_src->flags; - mode = copy_src->mode; - dstMicromap = copy_src->dstMicromap; - usageCountsCount = copy_src->usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - data.initialize(©_src->data); - scratchData.initialize(©_src->scratchData); - triangleArray.initialize(©_src->triangleArray); - triangleArrayStride = copy_src->triangleArrayStride; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src->pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src->usageCountsCount); - } - if (copy_src->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src->usageCountsCount]; - for (uint32_t i = 0; i < copy_src->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::safe_VkAccelerationStructureTrianglesOpacityMicromapEXT( - const VkAccelerationStructureTrianglesOpacityMicromapEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - indexType(in_struct->indexType), - indexBuffer(&in_struct->indexBuffer), - indexStride(in_struct->indexStride), - baseTriangle(in_struct->baseTriangle), - usageCountsCount(in_struct->usageCountsCount), - pUsageCounts(nullptr), - ppUsageCounts(nullptr), - micromap(in_struct->micromap) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); - } - if (in_struct->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; - for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::safe_VkAccelerationStructureTrianglesOpacityMicromapEXT() - : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT), - pNext(nullptr), - indexType(), - indexStride(), - baseTriangle(), - usageCountsCount(), - pUsageCounts(nullptr), - ppUsageCounts(nullptr), - micromap() {} - -safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::safe_VkAccelerationStructureTrianglesOpacityMicromapEXT( - const safe_VkAccelerationStructureTrianglesOpacityMicromapEXT& copy_src) { - sType = copy_src.sType; - indexType = copy_src.indexType; - indexBuffer.initialize(©_src.indexBuffer); - indexStride = copy_src.indexStride; - baseTriangle = copy_src.baseTriangle; - usageCountsCount = copy_src.usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = copy_src.micromap; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); - } - if (copy_src.ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; - for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkAccelerationStructureTrianglesOpacityMicromapEXT& safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::operator=( - const safe_VkAccelerationStructureTrianglesOpacityMicromapEXT& copy_src) { - if (©_src == this) return *this; - - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); - - sType = copy_src.sType; - indexType = copy_src.indexType; - indexBuffer.initialize(©_src.indexBuffer); - indexStride = copy_src.indexStride; - baseTriangle = copy_src.baseTriangle; - usageCountsCount = copy_src.usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = copy_src.micromap; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); - } - if (copy_src.ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; - for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } - - return *this; -} - -safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::~safe_VkAccelerationStructureTrianglesOpacityMicromapEXT() { - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); -} - -void safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::initialize( - const VkAccelerationStructureTrianglesOpacityMicromapEXT* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); - sType = in_struct->sType; - indexType = in_struct->indexType; - indexBuffer.initialize(&in_struct->indexBuffer); - indexStride = in_struct->indexStride; - baseTriangle = in_struct->baseTriangle; - usageCountsCount = in_struct->usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = in_struct->micromap; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); - } - if (in_struct->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; - for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -void safe_VkAccelerationStructureTrianglesOpacityMicromapEXT::initialize( - const safe_VkAccelerationStructureTrianglesOpacityMicromapEXT* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - indexType = copy_src->indexType; - indexBuffer.initialize(©_src->indexBuffer); - indexStride = copy_src->indexStride; - baseTriangle = copy_src->baseTriangle; - usageCountsCount = copy_src->usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = copy_src->micromap; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src->pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src->usageCountsCount); - } - if (copy_src->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src->usageCountsCount]; - for (uint32_t i = 0; i < copy_src->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -#ifdef VK_ENABLE_BETA_EXTENSIONS -safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::safe_VkAccelerationStructureTrianglesDisplacementMicromapNV( - const VkAccelerationStructureTrianglesDisplacementMicromapNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), - displacementBiasAndScaleFormat(in_struct->displacementBiasAndScaleFormat), - displacementVectorFormat(in_struct->displacementVectorFormat), - displacementBiasAndScaleBuffer(&in_struct->displacementBiasAndScaleBuffer), - displacementBiasAndScaleStride(in_struct->displacementBiasAndScaleStride), - displacementVectorBuffer(&in_struct->displacementVectorBuffer), - displacementVectorStride(in_struct->displacementVectorStride), - displacedMicromapPrimitiveFlags(&in_struct->displacedMicromapPrimitiveFlags), - displacedMicromapPrimitiveFlagsStride(in_struct->displacedMicromapPrimitiveFlagsStride), - indexType(in_struct->indexType), - indexBuffer(&in_struct->indexBuffer), - indexStride(in_struct->indexStride), - baseTriangle(in_struct->baseTriangle), - usageCountsCount(in_struct->usageCountsCount), - pUsageCounts(nullptr), - ppUsageCounts(nullptr), - micromap(in_struct->micromap) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); - } - if (in_struct->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; - for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::safe_VkAccelerationStructureTrianglesDisplacementMicromapNV() - : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV), - pNext(nullptr), - displacementBiasAndScaleFormat(), - displacementVectorFormat(), - displacementBiasAndScaleStride(), - displacementVectorStride(), - displacedMicromapPrimitiveFlagsStride(), - indexType(), - indexStride(), - baseTriangle(), - usageCountsCount(), - pUsageCounts(nullptr), - ppUsageCounts(nullptr), - micromap() {} - -safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::safe_VkAccelerationStructureTrianglesDisplacementMicromapNV( - const safe_VkAccelerationStructureTrianglesDisplacementMicromapNV& copy_src) { - sType = copy_src.sType; - displacementBiasAndScaleFormat = copy_src.displacementBiasAndScaleFormat; - displacementVectorFormat = copy_src.displacementVectorFormat; - displacementBiasAndScaleBuffer.initialize(©_src.displacementBiasAndScaleBuffer); - displacementBiasAndScaleStride = copy_src.displacementBiasAndScaleStride; - displacementVectorBuffer.initialize(©_src.displacementVectorBuffer); - displacementVectorStride = copy_src.displacementVectorStride; - displacedMicromapPrimitiveFlags.initialize(©_src.displacedMicromapPrimitiveFlags); - displacedMicromapPrimitiveFlagsStride = copy_src.displacedMicromapPrimitiveFlagsStride; - indexType = copy_src.indexType; - indexBuffer.initialize(©_src.indexBuffer); - indexStride = copy_src.indexStride; - baseTriangle = copy_src.baseTriangle; - usageCountsCount = copy_src.usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = copy_src.micromap; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); - } - if (copy_src.ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; - for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -safe_VkAccelerationStructureTrianglesDisplacementMicromapNV& safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::operator=( - const safe_VkAccelerationStructureTrianglesDisplacementMicromapNV& copy_src) { - if (©_src == this) return *this; - - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); - - sType = copy_src.sType; - displacementBiasAndScaleFormat = copy_src.displacementBiasAndScaleFormat; - displacementVectorFormat = copy_src.displacementVectorFormat; - displacementBiasAndScaleBuffer.initialize(©_src.displacementBiasAndScaleBuffer); - displacementBiasAndScaleStride = copy_src.displacementBiasAndScaleStride; - displacementVectorBuffer.initialize(©_src.displacementVectorBuffer); - displacementVectorStride = copy_src.displacementVectorStride; - displacedMicromapPrimitiveFlags.initialize(©_src.displacedMicromapPrimitiveFlags); - displacedMicromapPrimitiveFlagsStride = copy_src.displacedMicromapPrimitiveFlagsStride; - indexType = copy_src.indexType; - indexBuffer.initialize(©_src.indexBuffer); - indexStride = copy_src.indexStride; - baseTriangle = copy_src.baseTriangle; - usageCountsCount = copy_src.usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = copy_src.micromap; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); - } - if (copy_src.ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; - for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } - - return *this; -} - -safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::~safe_VkAccelerationStructureTrianglesDisplacementMicromapNV() { - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); -} - -void safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::initialize( - const VkAccelerationStructureTrianglesDisplacementMicromapNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - if (pUsageCounts) delete[] pUsageCounts; - if (ppUsageCounts) { - for (uint32_t i = 0; i < usageCountsCount; ++i) { - delete ppUsageCounts[i]; - } - delete[] ppUsageCounts; - } - FreePnextChain(pNext); - sType = in_struct->sType; - displacementBiasAndScaleFormat = in_struct->displacementBiasAndScaleFormat; - displacementVectorFormat = in_struct->displacementVectorFormat; - displacementBiasAndScaleBuffer.initialize(&in_struct->displacementBiasAndScaleBuffer); - displacementBiasAndScaleStride = in_struct->displacementBiasAndScaleStride; - displacementVectorBuffer.initialize(&in_struct->displacementVectorBuffer); - displacementVectorStride = in_struct->displacementVectorStride; - displacedMicromapPrimitiveFlags.initialize(&in_struct->displacedMicromapPrimitiveFlags); - displacedMicromapPrimitiveFlagsStride = in_struct->displacedMicromapPrimitiveFlagsStride; - indexType = in_struct->indexType; - indexBuffer.initialize(&in_struct->indexBuffer); - indexStride = in_struct->indexStride; - baseTriangle = in_struct->baseTriangle; - usageCountsCount = in_struct->usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = in_struct->micromap; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); - } - if (in_struct->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; - for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} - -void safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::initialize( - const safe_VkAccelerationStructureTrianglesDisplacementMicromapNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - displacementBiasAndScaleFormat = copy_src->displacementBiasAndScaleFormat; - displacementVectorFormat = copy_src->displacementVectorFormat; - displacementBiasAndScaleBuffer.initialize(©_src->displacementBiasAndScaleBuffer); - displacementBiasAndScaleStride = copy_src->displacementBiasAndScaleStride; - displacementVectorBuffer.initialize(©_src->displacementVectorBuffer); - displacementVectorStride = copy_src->displacementVectorStride; - displacedMicromapPrimitiveFlags.initialize(©_src->displacedMicromapPrimitiveFlags); - displacedMicromapPrimitiveFlagsStride = copy_src->displacedMicromapPrimitiveFlagsStride; - indexType = copy_src->indexType; - indexBuffer.initialize(©_src->indexBuffer); - indexStride = copy_src->indexStride; - baseTriangle = copy_src->baseTriangle; - usageCountsCount = copy_src->usageCountsCount; - pUsageCounts = nullptr; - ppUsageCounts = nullptr; - micromap = copy_src->micromap; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pUsageCounts) { - pUsageCounts = new VkMicromapUsageEXT[copy_src->usageCountsCount]; - memcpy((void*)pUsageCounts, (void*)copy_src->pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src->usageCountsCount); - } - if (copy_src->ppUsageCounts) { - VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src->usageCountsCount]; - for (uint32_t i = 0; i < copy_src->usageCountsCount; ++i) { - pointer_array[i] = new VkMicromapUsageEXT(*copy_src->ppUsageCounts[i]); - } - ppUsageCounts = pointer_array; - } -} -#endif // VK_ENABLE_BETA_EXTENSIONS } // namespace vku
diff --git a/src/vulkan/vk_safe_struct_utils.cpp b/src/vulkan/vk_safe_struct_utils.cpp index 660a5f0..a93181f 100644 --- a/src/vulkan/vk_safe_struct_utils.cpp +++ b/src/vulkan/vk_safe_struct_utils.cpp
@@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -63,17 +63,11 @@ case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: safe_pNext = new safe_VkComputePipelineCreateInfo(reinterpret_cast<const VkComputePipelineCreateInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: - safe_pNext = new safe_VkGraphicsPipelineCreateInfo(reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: safe_pNext = new safe_VkPipelineLayoutCreateInfo(reinterpret_cast<const VkPipelineLayoutCreateInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceSubgroupProperties(reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: - safe_pNext = new safe_VkPhysicalDevice16BitStorageFeatures(reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: + safe_pNext = new safe_VkGraphicsPipelineCreateInfo(reinterpret_cast<const VkGraphicsPipelineCreateInfo *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: safe_pNext = new safe_VkMemoryDedicatedRequirements(reinterpret_cast<const VkMemoryDedicatedRequirements *>(pNext), copy_state, false); @@ -84,9 +78,6 @@ case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: safe_pNext = new safe_VkMemoryAllocateFlagsInfo(reinterpret_cast<const VkMemoryAllocateFlagsInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: - safe_pNext = new safe_VkDeviceGroupRenderPassBeginInfo(reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: safe_pNext = new safe_VkDeviceGroupCommandBufferBeginInfo(reinterpret_cast<const VkDeviceGroupCommandBufferBeginInfo *>(pNext), copy_state, false); break; @@ -108,30 +99,9 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: safe_pNext = new safe_VkPhysicalDeviceFeatures2(reinterpret_cast<const VkPhysicalDeviceFeatures2 *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: - safe_pNext = new safe_VkPhysicalDevicePointClippingProperties(reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: - safe_pNext = new safe_VkRenderPassInputAttachmentAspectCreateInfo(reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: safe_pNext = new safe_VkImageViewUsageCreateInfo(reinterpret_cast<const VkImageViewUsageCreateInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: - safe_pNext = new safe_VkPipelineTessellationDomainOriginStateCreateInfo(reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: - safe_pNext = new safe_VkRenderPassMultiviewCreateInfo(reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceMultiviewFeatures(reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceMultiviewProperties(reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceVariablePointersFeatures(reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: safe_pNext = new safe_VkPhysicalDeviceProtectedMemoryFeatures(reinterpret_cast<const VkPhysicalDeviceProtectedMemoryFeatures *>(pNext), copy_state, false); break; @@ -141,21 +111,12 @@ case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: safe_pNext = new safe_VkProtectedSubmitInfo(reinterpret_cast<const VkProtectedSubmitInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: - safe_pNext = new safe_VkSamplerYcbcrConversionInfo(reinterpret_cast<const VkSamplerYcbcrConversionInfo *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: safe_pNext = new safe_VkBindImagePlaneMemoryInfo(reinterpret_cast<const VkBindImagePlaneMemoryInfo *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: safe_pNext = new safe_VkImagePlaneMemoryRequirementsInfo(reinterpret_cast<const VkImagePlaneMemoryRequirementsInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: - safe_pNext = new safe_VkSamplerYcbcrConversionImageFormatProperties(reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: safe_pNext = new safe_VkPhysicalDeviceExternalImageFormatInfo(reinterpret_cast<const VkPhysicalDeviceExternalImageFormatInfo *>(pNext), copy_state, false); break; @@ -180,12 +141,54 @@ case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: safe_pNext = new safe_VkExportSemaphoreCreateInfo(reinterpret_cast<const VkExportSemaphoreCreateInfo *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceSubgroupProperties(reinterpret_cast<const VkPhysicalDeviceSubgroupProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: + safe_pNext = new safe_VkPhysicalDevice16BitStorageFeatures(reinterpret_cast<const VkPhysicalDevice16BitStorageFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceVariablePointersFeatures(reinterpret_cast<const VkPhysicalDeviceVariablePointersFeatures *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: safe_pNext = new safe_VkPhysicalDeviceMaintenance3Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance3Properties *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: + safe_pNext = new safe_VkSamplerYcbcrConversionInfo(reinterpret_cast<const VkSamplerYcbcrConversionInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures(reinterpret_cast<const VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: + safe_pNext = new safe_VkSamplerYcbcrConversionImageFormatProperties(reinterpret_cast<const VkSamplerYcbcrConversionImageFormatProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: + safe_pNext = new safe_VkDeviceGroupRenderPassBeginInfo(reinterpret_cast<const VkDeviceGroupRenderPassBeginInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: + safe_pNext = new safe_VkPhysicalDevicePointClippingProperties(reinterpret_cast<const VkPhysicalDevicePointClippingProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: + safe_pNext = new safe_VkRenderPassInputAttachmentAspectCreateInfo(reinterpret_cast<const VkRenderPassInputAttachmentAspectCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: + safe_pNext = new safe_VkPipelineTessellationDomainOriginStateCreateInfo(reinterpret_cast<const VkPipelineTessellationDomainOriginStateCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: + safe_pNext = new safe_VkRenderPassMultiviewCreateInfo(reinterpret_cast<const VkRenderPassMultiviewCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceMultiviewFeatures(reinterpret_cast<const VkPhysicalDeviceMultiviewFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceMultiviewProperties(reinterpret_cast<const VkPhysicalDeviceMultiviewProperties *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: safe_pNext = new safe_VkPhysicalDeviceShaderDrawParametersFeatures(reinterpret_cast<const VkPhysicalDeviceShaderDrawParametersFeatures *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceDriverProperties(reinterpret_cast<const VkPhysicalDeviceDriverProperties *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: safe_pNext = new safe_VkPhysicalDeviceVulkan11Features(reinterpret_cast<const VkPhysicalDeviceVulkan11Features *>(pNext), copy_state, false); break; @@ -201,81 +204,9 @@ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: safe_pNext = new safe_VkImageFormatListCreateInfo(reinterpret_cast<const VkImageFormatListCreateInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: - safe_pNext = new safe_VkPhysicalDevice8BitStorageFeatures(reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceDriverProperties(reinterpret_cast<const VkPhysicalDeviceDriverProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceShaderAtomicInt64Features(reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceShaderFloat16Int8Features(reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceFloatControlsProperties(reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: - safe_pNext = new safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingFeatures(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingProperties(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: - safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: - safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: - safe_pNext = new safe_VkSubpassDescriptionDepthStencilResolve(reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceDepthStencilResolveProperties(reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceScalarBlockLayoutFeatures(reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: - safe_pNext = new safe_VkImageStencilUsageCreateInfo(reinterpret_cast<const VkImageStencilUsageCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: - safe_pNext = new safe_VkSamplerReductionModeCreateInfo(reinterpret_cast<const VkSamplerReductionModeCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: safe_pNext = new safe_VkPhysicalDeviceVulkanMemoryModelFeatures(reinterpret_cast<const VkPhysicalDeviceVulkanMemoryModelFeatures *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceImagelessFramebufferFeatures(reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: - safe_pNext = new safe_VkFramebufferAttachmentsCreateInfo(reinterpret_cast<const VkFramebufferAttachmentsCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: - safe_pNext = new safe_VkRenderPassAttachmentBeginInfo(reinterpret_cast<const VkRenderPassAttachmentBeginInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: - safe_pNext = new safe_VkAttachmentReferenceStencilLayout(reinterpret_cast<const VkAttachmentReferenceStencilLayout *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: - safe_pNext = new safe_VkAttachmentDescriptionStencilLayout(reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: safe_pNext = new safe_VkPhysicalDeviceHostQueryResetFeatures(reinterpret_cast<const VkPhysicalDeviceHostQueryResetFeatures *>(pNext), copy_state, false); break; @@ -300,12 +231,105 @@ case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: safe_pNext = new safe_VkMemoryOpaqueCaptureAddressAllocateInfo(reinterpret_cast<const VkMemoryOpaqueCaptureAddressAllocateInfo *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: + safe_pNext = new safe_VkPhysicalDevice8BitStorageFeatures(reinterpret_cast<const VkPhysicalDevice8BitStorageFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceShaderAtomicInt64Features(reinterpret_cast<const VkPhysicalDeviceShaderAtomicInt64Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceShaderFloat16Int8Features(reinterpret_cast<const VkPhysicalDeviceShaderFloat16Int8Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceFloatControlsProperties(reinterpret_cast<const VkPhysicalDeviceFloatControlsProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: + safe_pNext = new safe_VkDescriptorSetLayoutBindingFlagsCreateInfo(reinterpret_cast<const VkDescriptorSetLayoutBindingFlagsCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingFeatures(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceDescriptorIndexingProperties(reinterpret_cast<const VkPhysicalDeviceDescriptorIndexingProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: + safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountAllocateInfo(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountAllocateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: + safe_pNext = new safe_VkDescriptorSetVariableDescriptorCountLayoutSupport(reinterpret_cast<const VkDescriptorSetVariableDescriptorCountLayoutSupport *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceScalarBlockLayoutFeatures(reinterpret_cast<const VkPhysicalDeviceScalarBlockLayoutFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: + safe_pNext = new safe_VkSamplerReductionModeCreateInfo(reinterpret_cast<const VkSamplerReductionModeCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceSamplerFilterMinmaxProperties(reinterpret_cast<const VkPhysicalDeviceSamplerFilterMinmaxProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures(reinterpret_cast<const VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures(reinterpret_cast<const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: + safe_pNext = new safe_VkSubpassDescriptionDepthStencilResolve(reinterpret_cast<const VkSubpassDescriptionDepthStencilResolve *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceDepthStencilResolveProperties(reinterpret_cast<const VkPhysicalDeviceDepthStencilResolveProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: + safe_pNext = new safe_VkImageStencilUsageCreateInfo(reinterpret_cast<const VkImageStencilUsageCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceImagelessFramebufferFeatures(reinterpret_cast<const VkPhysicalDeviceImagelessFramebufferFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: + safe_pNext = new safe_VkRenderPassAttachmentBeginInfo(reinterpret_cast<const VkRenderPassAttachmentBeginInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: + safe_pNext = new safe_VkFramebufferAttachmentsCreateInfo(reinterpret_cast<const VkFramebufferAttachmentsCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(reinterpret_cast<const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: + safe_pNext = new safe_VkAttachmentReferenceStencilLayout(reinterpret_cast<const VkAttachmentReferenceStencilLayout *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: + safe_pNext = new safe_VkAttachmentDescriptionStencilLayout(reinterpret_cast<const VkAttachmentDescriptionStencilLayout *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: safe_pNext = new safe_VkPhysicalDeviceVulkan13Features(reinterpret_cast<const VkPhysicalDeviceVulkan13Features *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: safe_pNext = new safe_VkPhysicalDeviceVulkan13Properties(reinterpret_cast<const VkPhysicalDeviceVulkan13Properties *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: + safe_pNext = new safe_VkPhysicalDevicePrivateDataFeatures(reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: + safe_pNext = new safe_VkDevicePrivateDataCreateInfo(reinterpret_cast<const VkDevicePrivateDataCreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: + safe_pNext = new safe_VkMemoryBarrier2(reinterpret_cast<const VkMemoryBarrier2 *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceSynchronization2Features(reinterpret_cast<const VkPhysicalDeviceSynchronization2Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: + safe_pNext = new safe_VkFormatProperties3(reinterpret_cast<const VkFormatProperties3 *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance4Features(reinterpret_cast<const VkPhysicalDeviceMaintenance4Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance4Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: safe_pNext = new safe_VkPipelineCreationFeedbackCreateInfo(reinterpret_cast<const VkPipelineCreationFeedbackCreateInfo *>(pNext), copy_state, false); break; @@ -315,21 +339,9 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: safe_pNext = new safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures(reinterpret_cast<const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: - safe_pNext = new safe_VkPhysicalDevicePrivateDataFeatures(reinterpret_cast<const VkPhysicalDevicePrivateDataFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: - safe_pNext = new safe_VkDevicePrivateDataCreateInfo(reinterpret_cast<const VkDevicePrivateDataCreateInfo *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: safe_pNext = new safe_VkPhysicalDevicePipelineCreationCacheControlFeatures(reinterpret_cast<const VkPhysicalDevicePipelineCreationCacheControlFeatures *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: - safe_pNext = new safe_VkMemoryBarrier2(reinterpret_cast<const VkMemoryBarrier2 *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceSynchronization2Features(reinterpret_cast<const VkPhysicalDeviceSynchronization2Features *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: safe_pNext = new safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures(reinterpret_cast<const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *>(pNext), copy_state, false); break; @@ -357,18 +369,6 @@ case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: safe_pNext = new safe_VkDescriptorPoolInlineUniformBlockCreateInfo(reinterpret_cast<const VkDescriptorPoolInlineUniformBlockCreateInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures(reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTCHDRFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: - safe_pNext = new safe_VkPipelineRenderingCreateInfo(reinterpret_cast<const VkPipelineRenderingCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceDynamicRenderingFeatures(reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: - safe_pNext = new safe_VkCommandBufferInheritanceRenderingInfo(reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: safe_pNext = new safe_VkPhysicalDeviceShaderIntegerDotProductFeatures(reinterpret_cast<const VkPhysicalDeviceShaderIntegerDotProductFeatures *>(pNext), copy_state, false); break; @@ -378,14 +378,14 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: safe_pNext = new safe_VkPhysicalDeviceTexelBufferAlignmentProperties(reinterpret_cast<const VkPhysicalDeviceTexelBufferAlignmentProperties *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: - safe_pNext = new safe_VkFormatProperties3(reinterpret_cast<const VkFormatProperties3 *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: + safe_pNext = new safe_VkPipelineRenderingCreateInfo(reinterpret_cast<const VkPipelineRenderingCreateInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceMaintenance4Features(reinterpret_cast<const VkPhysicalDeviceMaintenance4Features *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceDynamicRenderingFeatures(reinterpret_cast<const VkPhysicalDeviceDynamicRenderingFeatures *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceMaintenance4Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance4Properties *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: + safe_pNext = new safe_VkCommandBufferInheritanceRenderingInfo(reinterpret_cast<const VkCommandBufferInheritanceRenderingInfo *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: safe_pNext = new safe_VkPhysicalDeviceVulkan14Features(reinterpret_cast<const VkPhysicalDeviceVulkan14Features *>(pNext), copy_state, false); @@ -402,6 +402,39 @@ case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: safe_pNext = new safe_VkQueueFamilyGlobalPriorityProperties(reinterpret_cast<const VkQueueFamilyGlobalPriorityProperties *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceIndexTypeUint8Features(reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance5Features(reinterpret_cast<const VkPhysicalDeviceMaintenance5Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance5Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance5Properties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: + safe_pNext = new safe_VkBufferUsageFlags2CreateInfo(reinterpret_cast<const VkBufferUsageFlags2CreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance6Features(reinterpret_cast<const VkPhysicalDeviceMaintenance6Features *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceMaintenance6Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance6Properties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + safe_pNext = new safe_VkBindMemoryStatus(reinterpret_cast<const VkBindMemoryStatus *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + safe_pNext = new safe_VkPhysicalDeviceHostImageCopyFeatures(reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + safe_pNext = new safe_VkPhysicalDeviceHostImageCopyProperties(reinterpret_cast<const VkPhysicalDeviceHostImageCopyProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + safe_pNext = new safe_VkSubresourceHostMemcpySize(reinterpret_cast<const VkSubresourceHostMemcpySize *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + safe_pNext = new safe_VkHostImageCopyDevicePerformanceQuery(reinterpret_cast<const VkHostImageCopyDevicePerformanceQuery *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: safe_pNext = new safe_VkPhysicalDeviceShaderSubgroupRotateFeatures(reinterpret_cast<const VkPhysicalDeviceShaderSubgroupRotateFeatures *>(pNext), copy_state, false); break; @@ -411,6 +444,24 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: safe_pNext = new safe_VkPhysicalDeviceShaderExpectAssumeFeatures(reinterpret_cast<const VkPhysicalDeviceShaderExpectAssumeFeatures *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: + safe_pNext = new safe_VkPipelineCreateFlags2CreateInfo(reinterpret_cast<const VkPipelineCreateFlags2CreateInfo *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: + safe_pNext = new safe_VkPhysicalDevicePushDescriptorProperties(reinterpret_cast<const VkPhysicalDevicePushDescriptorProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + safe_pNext = new safe_VkPhysicalDevicePipelineProtectedAccessFeatures(reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + safe_pNext = new safe_VkPhysicalDevicePipelineRobustnessFeatures(reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeatures *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + safe_pNext = new safe_VkPhysicalDevicePipelineRobustnessProperties(reinterpret_cast<const VkPhysicalDevicePipelineRobustnessProperties *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + safe_pNext = new safe_VkPipelineRobustnessCreateInfo(reinterpret_cast<const VkPipelineRobustnessCreateInfo *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: safe_pNext = new safe_VkPhysicalDeviceLineRasterizationFeatures(reinterpret_cast<const VkPhysicalDeviceLineRasterizationFeatures *>(pNext), copy_state, false); break; @@ -429,24 +480,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: safe_pNext = new safe_VkPhysicalDeviceVertexAttributeDivisorFeatures(reinterpret_cast<const VkPhysicalDeviceVertexAttributeDivisorFeatures *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceIndexTypeUint8Features(reinterpret_cast<const VkPhysicalDeviceIndexTypeUint8Features *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceMaintenance5Features(reinterpret_cast<const VkPhysicalDeviceMaintenance5Features *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceMaintenance5Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance5Properties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: - safe_pNext = new safe_VkPipelineCreateFlags2CreateInfo(reinterpret_cast<const VkPipelineCreateFlags2CreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: - safe_pNext = new safe_VkBufferUsageFlags2CreateInfo(reinterpret_cast<const VkBufferUsageFlags2CreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: - safe_pNext = new safe_VkPhysicalDevicePushDescriptorProperties(reinterpret_cast<const VkPhysicalDevicePushDescriptorProperties *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: safe_pNext = new safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures(reinterpret_cast<const VkPhysicalDeviceDynamicRenderingLocalReadFeatures *>(pNext), copy_state, false); break; @@ -456,39 +489,6 @@ case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: safe_pNext = new safe_VkRenderingInputAttachmentIndexInfo(reinterpret_cast<const VkRenderingInputAttachmentIndexInfo *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceMaintenance6Features(reinterpret_cast<const VkPhysicalDeviceMaintenance6Features *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceMaintenance6Properties(reinterpret_cast<const VkPhysicalDeviceMaintenance6Properties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: - safe_pNext = new safe_VkBindMemoryStatus(reinterpret_cast<const VkBindMemoryStatus *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: - safe_pNext = new safe_VkPhysicalDevicePipelineProtectedAccessFeatures(reinterpret_cast<const VkPhysicalDevicePipelineProtectedAccessFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: - safe_pNext = new safe_VkPhysicalDevicePipelineRobustnessFeatures(reinterpret_cast<const VkPhysicalDevicePipelineRobustnessFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: - safe_pNext = new safe_VkPhysicalDevicePipelineRobustnessProperties(reinterpret_cast<const VkPhysicalDevicePipelineRobustnessProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: - safe_pNext = new safe_VkPipelineRobustnessCreateInfo(reinterpret_cast<const VkPipelineRobustnessCreateInfo *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: - safe_pNext = new safe_VkPhysicalDeviceHostImageCopyFeatures(reinterpret_cast<const VkPhysicalDeviceHostImageCopyFeatures *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: - safe_pNext = new safe_VkPhysicalDeviceHostImageCopyProperties(reinterpret_cast<const VkPhysicalDeviceHostImageCopyProperties *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: - safe_pNext = new safe_VkSubresourceHostMemcpySize(reinterpret_cast<const VkSubresourceHostMemcpySize *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: - safe_pNext = new safe_VkHostImageCopyDevicePerformanceQuery(reinterpret_cast<const VkHostImageCopyDevicePerformanceQuery *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: safe_pNext = new safe_VkImageSwapchainCreateInfoKHR(reinterpret_cast<const VkImageSwapchainCreateInfoKHR *>(pNext), copy_state, false); break; @@ -663,6 +663,9 @@ case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: safe_pNext = new safe_VkPerformanceQuerySubmitInfoKHR(reinterpret_cast<const VkPerformanceQuerySubmitInfoKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderBfloat16FeaturesKHR *>(pNext), copy_state, false); + break; #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDevicePortabilitySubsetFeaturesKHR(reinterpret_cast<const VkPhysicalDevicePortabilitySubsetFeaturesKHR *>(pNext), copy_state, false); @@ -707,6 +710,18 @@ case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: safe_pNext = new safe_VkRenderingFragmentShadingRateAttachmentInfoKHR(reinterpret_cast<const VkRenderingFragmentShadingRateAttachmentInfoKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderConstantDataFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderAbortFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderAbortFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR: + safe_pNext = new safe_VkDeviceFaultShaderAbortMessageInfoKHR(reinterpret_cast<const VkDeviceFaultShaderAbortMessageInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderAbortPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceShaderAbortPropertiesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderQuadControlFeaturesKHR *>(pNext), copy_state, false); break; @@ -743,6 +758,12 @@ case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: safe_pNext = new safe_VkVideoEncodeQualityLevelInfoKHR(reinterpret_cast<const VkVideoEncodeQualityLevelInfoKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR: + safe_pNext = new safe_VkMemoryRangeBarriersInfoKHR(reinterpret_cast<const VkMemoryRangeBarriersInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR *>(pNext), copy_state, false); break; @@ -758,9 +779,27 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderUntypedPointersFeaturesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR: + safe_pNext = new safe_VkSurfaceCapabilitiesPresentId2KHR(reinterpret_cast<const VkSurfaceCapabilitiesPresentId2KHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR: + safe_pNext = new safe_VkPresentId2KHR(reinterpret_cast<const VkPresentId2KHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDevicePresentId2FeaturesKHR(reinterpret_cast<const VkPhysicalDevicePresentId2FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR: + safe_pNext = new safe_VkSurfaceCapabilitiesPresentWait2KHR(reinterpret_cast<const VkSurfaceCapabilitiesPresentWait2KHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDevicePresentWait2FeaturesKHR(reinterpret_cast<const VkPhysicalDevicePresentWait2FeaturesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR *>(pNext), copy_state, false); break; @@ -776,6 +815,33 @@ case VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR: safe_pNext = new safe_VkPipelineBinaryInfoKHR(reinterpret_cast<const VkPipelineBinaryInfoKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR: + safe_pNext = new safe_VkSurfacePresentModeKHR(reinterpret_cast<const VkSurfacePresentModeKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR: + safe_pNext = new safe_VkSurfacePresentScalingCapabilitiesKHR(reinterpret_cast<const VkSurfacePresentScalingCapabilitiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR: + safe_pNext = new safe_VkSurfacePresentModeCompatibilityKHR(reinterpret_cast<const VkSurfacePresentModeCompatibilityKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR: + safe_pNext = new safe_VkSwapchainPresentFenceInfoKHR(reinterpret_cast<const VkSwapchainPresentFenceInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR: + safe_pNext = new safe_VkSwapchainPresentModesCreateInfoKHR(reinterpret_cast<const VkSwapchainPresentModesCreateInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR: + safe_pNext = new safe_VkSwapchainPresentModeInfoKHR(reinterpret_cast<const VkSwapchainPresentModeInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR: + safe_pNext = new safe_VkSwapchainPresentScalingCreateInfoKHR(reinterpret_cast<const VkSwapchainPresentScalingCreateInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrixFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixFeaturesKHR *>(pNext), copy_state, false); break; @@ -836,12 +902,51 @@ case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR: safe_pNext = new safe_VkVideoEncodeAV1RateControlLayerInfoKHR(reinterpret_cast<const VkVideoEncodeAV1RateControlLayerInfoKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceVideoDecodeVP9FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR: + safe_pNext = new safe_VkVideoDecodeVP9ProfileInfoKHR(reinterpret_cast<const VkVideoDecodeVP9ProfileInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR: + safe_pNext = new safe_VkVideoDecodeVP9CapabilitiesKHR(reinterpret_cast<const VkVideoDecodeVP9CapabilitiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR: + safe_pNext = new safe_VkVideoDecodeVP9PictureInfoKHR(reinterpret_cast<const VkVideoDecodeVP9PictureInfoKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR: safe_pNext = new safe_VkPhysicalDeviceVideoMaintenance1FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceVideoMaintenance1FeaturesKHR *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR: safe_pNext = new safe_VkVideoInlineQueryInfoKHR(reinterpret_cast<const VkVideoInlineQueryInfoKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT: + safe_pNext = new safe_VkAttachmentFeedbackLoopInfoEXT(reinterpret_cast<const VkAttachmentFeedbackLoopInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR: + safe_pNext = new safe_VkVideoEncodeIntraRefreshCapabilitiesKHR(reinterpret_cast<const VkVideoEncodeIntraRefreshCapabilitiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR: + safe_pNext = new safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR(reinterpret_cast<const VkVideoEncodeSessionIntraRefreshCreateInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR: + safe_pNext = new safe_VkVideoEncodeIntraRefreshInfoKHR(reinterpret_cast<const VkVideoEncodeIntraRefreshInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR: + safe_pNext = new safe_VkVideoReferenceIntraRefreshInfoKHR(reinterpret_cast<const VkVideoReferenceIntraRefreshInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR: safe_pNext = new safe_VkVideoEncodeQuantizationMapCapabilitiesKHR(reinterpret_cast<const VkVideoEncodeQuantizationMapCapabilitiesKHR *>(pNext), copy_state, false); break; @@ -887,6 +992,72 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR: safe_pNext = new safe_VkPhysicalDeviceLayeredApiVulkanPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceLayeredApiVulkanPropertiesKHR *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceFaultFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceFaultFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceFaultPropertiesKHR(reinterpret_cast<const VkPhysicalDeviceFaultPropertiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + safe_pNext = new safe_VkMemoryBarrierAccessFlags3KHR(reinterpret_cast<const VkMemoryBarrierAccessFlags3KHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceMaintenance8FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceMaintenance8FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceShaderFmaFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceShaderFmaFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceMaintenance9FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceMaintenance9FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceMaintenance9PropertiesKHR(reinterpret_cast<const VkPhysicalDeviceMaintenance9PropertiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR: + safe_pNext = new safe_VkQueueFamilyOwnershipTransferPropertiesKHR(reinterpret_cast<const VkQueueFamilyOwnershipTransferPropertiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceVideoMaintenance2FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR: + safe_pNext = new safe_VkVideoDecodeH264InlineSessionParametersInfoKHR(reinterpret_cast<const VkVideoDecodeH264InlineSessionParametersInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR: + safe_pNext = new safe_VkVideoDecodeH265InlineSessionParametersInfoKHR(reinterpret_cast<const VkVideoDecodeH265InlineSessionParametersInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR: + safe_pNext = new safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR(reinterpret_cast<const VkVideoDecodeAV1InlineSessionParametersInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR(reinterpret_cast<const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceRobustness2FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceRobustness2PropertiesKHR(reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR(reinterpret_cast<const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceMaintenance10FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceMaintenance10FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR: + safe_pNext = new safe_VkPhysicalDeviceMaintenance10PropertiesKHR(reinterpret_cast<const VkPhysicalDeviceMaintenance10PropertiesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR: + safe_pNext = new safe_VkRenderingAttachmentFlagsInfoKHR(reinterpret_cast<const VkRenderingAttachmentFlagsInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR: + safe_pNext = new safe_VkResolveImageModeInfoKHR(reinterpret_cast<const VkResolveImageModeInfoKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: + safe_pNext = new safe_VkPhysicalDeviceMaintenance11FeaturesKHR(reinterpret_cast<const VkPhysicalDeviceMaintenance11FeaturesKHR *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: + safe_pNext = new safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR(reinterpret_cast<const VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: safe_pNext = new safe_VkDebugReportCallbackCreateInfoEXT(reinterpret_cast<const VkDebugReportCallbackCreateInfoEXT *>(pNext), copy_state, false); break; @@ -1028,6 +1199,36 @@ safe_pNext = new safe_VkPipelineShaderStageNodeCreateInfoAMDX(reinterpret_cast<const VkPipelineShaderStageNodeCreateInfoAMDX *>(pNext), copy_state, false); break; #endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT: + safe_pNext = new safe_VkShaderDescriptorSetAndBindingMappingInfoEXT(reinterpret_cast<const VkShaderDescriptorSetAndBindingMappingInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT: + safe_pNext = new safe_VkOpaqueCaptureDataCreateInfoEXT(reinterpret_cast<const VkOpaqueCaptureDataCreateInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorHeapFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorHeapPropertiesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT: + safe_pNext = new safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT(reinterpret_cast<const VkCommandBufferInheritanceDescriptorHeapInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT: + safe_pNext = new safe_VkSamplerCustomBorderColorIndexCreateInfoEXT(reinterpret_cast<const VkSamplerCustomBorderColorIndexCreateInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: + safe_pNext = new safe_VkSamplerCustomBorderColorCreateInfoEXT(reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV: + safe_pNext = new safe_VkIndirectCommandsLayoutPushDataTokenNV(reinterpret_cast<const VkIndirectCommandsLayoutPushDataTokenNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT: + safe_pNext = new safe_VkSubsampledImageFormatPropertiesEXT(reinterpret_cast<const VkSubsampledImageFormatPropertiesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM(reinterpret_cast<const VkPhysicalDeviceDescriptorHeapTensorPropertiesARM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: safe_pNext = new safe_VkAttachmentSampleCountInfoAMD(reinterpret_cast<const VkAttachmentSampleCountInfoAMD *>(pNext), copy_state, false); break; @@ -1112,6 +1313,9 @@ case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: safe_pNext = new safe_VkFilterCubicImageViewImageFormatPropertiesEXT(reinterpret_cast<const VkFilterCubicImageViewImageFormatPropertiesEXT *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: safe_pNext = new safe_VkImportMemoryHostPointerInfoEXT(reinterpret_cast<const VkImportMemoryHostPointerInfoEXT *>(pNext), copy_state, false); break; @@ -1156,6 +1360,18 @@ case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: safe_pNext = new safe_VkQueueFamilyCheckpointProperties2NV(reinterpret_cast<const VkQueueFamilyCheckpointProperties2NV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDevicePresentTimingFeaturesEXT(reinterpret_cast<const VkPhysicalDevicePresentTimingFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT: + safe_pNext = new safe_VkPresentTimingSurfaceCapabilitiesEXT(reinterpret_cast<const VkPresentTimingSurfaceCapabilitiesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT: + safe_pNext = new safe_VkSwapchainCalibratedTimestampInfoEXT(reinterpret_cast<const VkSwapchainCalibratedTimestampInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT: + safe_pNext = new safe_VkPresentTimingsInfoEXT(reinterpret_cast<const VkPresentTimingsInfoEXT *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: safe_pNext = new safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(reinterpret_cast<const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(pNext), copy_state, false); break; @@ -1269,30 +1485,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: - safe_pNext = new safe_VkSurfacePresentModeEXT(reinterpret_cast<const VkSurfacePresentModeEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: - safe_pNext = new safe_VkSurfacePresentScalingCapabilitiesEXT(reinterpret_cast<const VkSurfacePresentScalingCapabilitiesEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: - safe_pNext = new safe_VkSurfacePresentModeCompatibilityEXT(reinterpret_cast<const VkSurfacePresentModeCompatibilityEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: - safe_pNext = new safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT(reinterpret_cast<const VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: - safe_pNext = new safe_VkSwapchainPresentFenceInfoEXT(reinterpret_cast<const VkSwapchainPresentFenceInfoEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: - safe_pNext = new safe_VkSwapchainPresentModesCreateInfoEXT(reinterpret_cast<const VkSwapchainPresentModesCreateInfoEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: - safe_pNext = new safe_VkSwapchainPresentModeInfoEXT(reinterpret_cast<const VkSwapchainPresentModeInfoEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: - safe_pNext = new safe_VkSwapchainPresentScalingCreateInfoEXT(reinterpret_cast<const VkSwapchainPresentScalingCreateInfoEXT *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: safe_pNext = new safe_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV(reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>(pNext), copy_state, false); break; @@ -1329,21 +1521,15 @@ case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: safe_pNext = new safe_VkDeviceDeviceMemoryReportCreateInfoEXT(reinterpret_cast<const VkDeviceDeviceMemoryReportCreateInfoEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: - safe_pNext = new safe_VkPhysicalDeviceRobustness2FeaturesEXT(reinterpret_cast<const VkPhysicalDeviceRobustness2FeaturesEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: - safe_pNext = new safe_VkPhysicalDeviceRobustness2PropertiesEXT(reinterpret_cast<const VkPhysicalDeviceRobustness2PropertiesEXT *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: - safe_pNext = new safe_VkSamplerCustomBorderColorCreateInfoEXT(reinterpret_cast<const VkSamplerCustomBorderColorCreateInfoEXT *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: safe_pNext = new safe_VkPhysicalDeviceCustomBorderColorPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceCustomBorderColorPropertiesEXT *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceCustomBorderColorFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceCustomBorderColorFeaturesEXT *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: safe_pNext = new safe_VkPhysicalDevicePresentBarrierFeaturesNV(reinterpret_cast<const VkPhysicalDevicePresentBarrierFeaturesNV *>(pNext), copy_state, false); break; @@ -1359,12 +1545,29 @@ case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: safe_pNext = new safe_VkDeviceDiagnosticsConfigCreateInfoNV(reinterpret_cast<const VkDeviceDiagnosticsConfigCreateInfoNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceQueuePerfHintFeaturesQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM(reinterpret_cast<const VkPhysicalDeviceQueuePerfHintPropertiesQCOM *>(pNext), copy_state, false); + break; +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceCudaKernelLaunchFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCudaKernelLaunchFeaturesNV *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: safe_pNext = new safe_VkPhysicalDeviceCudaKernelLaunchPropertiesNV(reinterpret_cast<const VkPhysicalDeviceCudaKernelLaunchPropertiesNV *>(pNext), copy_state, false); break; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceTileShadingFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceTileShadingFeaturesQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceTileShadingPropertiesQCOM(reinterpret_cast<const VkPhysicalDeviceTileShadingPropertiesQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM: + safe_pNext = new safe_VkRenderPassTileShadingCreateInfoQCOM(reinterpret_cast<const VkRenderPassTileShadingCreateInfoQCOM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: safe_pNext = new safe_VkQueryLowLatencySupportNV(reinterpret_cast<const VkQueryLowLatencySupportNV *>(pNext), copy_state, false); break; @@ -1406,9 +1609,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorBufferPropertiesEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: - safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorBufferFeaturesEXT *>(pNext), copy_state, false); break; @@ -1418,6 +1618,9 @@ case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: safe_pNext = new safe_VkOpaqueCaptureDescriptorDataCreateInfoEXT(reinterpret_cast<const VkOpaqueCaptureDescriptorDataCreateInfoEXT *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT *>(pNext), copy_state, false); break; @@ -1511,9 +1714,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(reinterpret_cast<const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT: - safe_pNext = new safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT(reinterpret_cast<const VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT *>(pNext), copy_state, false); - break; #ifdef VK_USE_PLATFORM_FUCHSIA case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: safe_pNext = new safe_VkImportMemoryZirconHandleInfoFUCHSIA(reinterpret_cast<const VkImportMemoryZirconHandleInfoFUCHSIA *>(pNext), copy_state, false); @@ -1573,6 +1773,18 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT(reinterpret_cast<const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE: + safe_pNext = new safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE(reinterpret_cast<const VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE: + safe_pNext = new safe_VkVideoEncodeRgbConversionCapabilitiesVALVE(reinterpret_cast<const VkVideoEncodeRgbConversionCapabilitiesVALVE *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE: + safe_pNext = new safe_VkVideoEncodeProfileRgbConversionInfoVALVE(reinterpret_cast<const VkVideoEncodeProfileRgbConversionInfoVALVE *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE: + safe_pNext = new safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE(reinterpret_cast<const VkVideoEncodeSessionRgbConversionCreateInfoVALVE *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceImageViewMinLodFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceImageViewMinLodFeaturesEXT *>(pNext), copy_state, false); break; @@ -1644,6 +1856,9 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: safe_pNext = new safe_VkPhysicalDeviceSchedulingControlsPropertiesARM(reinterpret_cast<const VkPhysicalDeviceSchedulingControlsPropertiesARM *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM(reinterpret_cast<const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *>(pNext), copy_state, false); break; @@ -1653,9 +1868,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: safe_pNext = new safe_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE(reinterpret_cast<const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - safe_pNext = new safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *>(pNext), copy_state, false); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *>(pNext), copy_state, false); break; @@ -1671,26 +1883,23 @@ case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM: safe_pNext = new safe_VkRenderPassStripeSubmitInfoARM(reinterpret_cast<const VkRenderPassStripeSubmitInfoARM *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: - safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: - safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: - safe_pNext = new safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM(reinterpret_cast<const VkSubpassFragmentDensityMapOffsetEndInfoQCOM *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT: + safe_pNext = new safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT(reinterpret_cast<const VkRenderPassFragmentDensityMapOffsetEndInfoEXT *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: - safe_pNext = new safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV(reinterpret_cast<const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionFeaturesEXT *>(pNext), copy_state, false); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: - safe_pNext = new safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV(reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionFeaturesNV *>(pNext), copy_state, false); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: - safe_pNext = new safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV(reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionPropertiesNV *>(pNext), copy_state, false); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceMemoryDecompressionPropertiesEXT *>(pNext), copy_state, false); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV(reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *>(pNext), copy_state, false); @@ -1698,6 +1907,15 @@ case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: safe_pNext = new safe_VkComputePipelineIndirectBufferInfoNV(reinterpret_cast<const VkComputePipelineIndirectBufferInfoNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV(reinterpret_cast<const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV: + safe_pNext = new safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV(reinterpret_cast<const VkAccelerationStructureGeometryLinearSweptSpheresDataNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV: + safe_pNext = new safe_VkAccelerationStructureGeometrySpheresDataNV(reinterpret_cast<const VkAccelerationStructureGeometrySpheresDataNV *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceLinearColorAttachmentFeaturesNV(reinterpret_cast<const VkPhysicalDeviceLinearColorAttachmentFeaturesNV *>(pNext), copy_state, false); break; @@ -1719,6 +1937,20 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: safe_pNext = new safe_VkPhysicalDeviceNestedCommandBufferPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceNestedCommandBufferPropertiesEXT *>(pNext), copy_state, false); break; +#ifdef VK_USE_PLATFORM_OHOS + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS: + safe_pNext = new safe_VkNativeBufferUsageOHOS(reinterpret_cast<const VkNativeBufferUsageOHOS *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS: + safe_pNext = new safe_VkNativeBufferFormatPropertiesOHOS(reinterpret_cast<const VkNativeBufferFormatPropertiesOHOS *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS: + safe_pNext = new safe_VkImportNativeBufferInfoOHOS(reinterpret_cast<const VkImportNativeBufferInfoOHOS *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS: + safe_pNext = new safe_VkExternalFormatOHOS(reinterpret_cast<const VkExternalFormatOHOS *>(pNext), copy_state, false); + break; +#endif // VK_USE_PLATFORM_OHOS case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: safe_pNext = new safe_VkExternalMemoryAcquireUnmodifiedEXT(reinterpret_cast<const VkExternalMemoryAcquireUnmodifiedEXT *>(pNext), copy_state, false); break; @@ -1743,6 +1975,45 @@ case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: safe_pNext = new safe_VkDirectDriverLoadingListLUNARG(reinterpret_cast<const VkDirectDriverLoadingListLUNARG *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM: + safe_pNext = new safe_VkTensorDescriptionARM(reinterpret_cast<const VkTensorDescriptionARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM: + safe_pNext = new safe_VkWriteDescriptorSetTensorARM(reinterpret_cast<const VkWriteDescriptorSetTensorARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM: + safe_pNext = new safe_VkTensorFormatPropertiesARM(reinterpret_cast<const VkTensorFormatPropertiesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDeviceTensorPropertiesARM(reinterpret_cast<const VkPhysicalDeviceTensorPropertiesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM: + safe_pNext = new safe_VkTensorMemoryBarrierARM(reinterpret_cast<const VkTensorMemoryBarrierARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM: + safe_pNext = new safe_VkTensorDependencyInfoARM(reinterpret_cast<const VkTensorDependencyInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceTensorFeaturesARM(reinterpret_cast<const VkPhysicalDeviceTensorFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM: + safe_pNext = new safe_VkMemoryDedicatedAllocateInfoTensorARM(reinterpret_cast<const VkMemoryDedicatedAllocateInfoTensorARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM: + safe_pNext = new safe_VkExternalMemoryTensorCreateInfoARM(reinterpret_cast<const VkExternalMemoryTensorCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM(reinterpret_cast<const VkPhysicalDeviceDescriptorBufferTensorFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM(reinterpret_cast<const VkPhysicalDeviceDescriptorBufferTensorPropertiesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM: + safe_pNext = new safe_VkDescriptorGetTensorInfoARM(reinterpret_cast<const VkDescriptorGetTensorInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM: + safe_pNext = new safe_VkFrameBoundaryTensorsARM(reinterpret_cast<const VkFrameBoundaryTensorsARM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT *>(pNext), copy_state, false); break; @@ -1781,6 +2052,14 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD: safe_pNext = new safe_VkPhysicalDeviceAntiLagFeaturesAMD(reinterpret_cast<const VkPhysicalDeviceAntiLagFeaturesAMD *>(pNext), copy_state, false); break; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: + safe_pNext = new safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX(reinterpret_cast<const VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX: + safe_pNext = new safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX(reinterpret_cast<const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *>(pNext), copy_state, false); + break; +#endif // VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceShaderObjectFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderObjectFeaturesEXT *>(pNext), copy_state, false); break; @@ -1805,6 +2084,12 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV(reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceCooperativeVectorPropertiesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeVectorPropertiesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceCooperativeVectorFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeVectorFeaturesNV *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV(reinterpret_cast<const VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV *>(pNext), copy_state, false); break; @@ -1841,6 +2126,24 @@ case VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: safe_pNext = new safe_VkLatencySurfaceCapabilitiesNV(reinterpret_cast<const VkLatencySurfaceCapabilitiesNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceDataGraphFeaturesARM(reinterpret_cast<const VkPhysicalDeviceDataGraphFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineCompilerControlCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineCompilerControlCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineShaderModuleCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineShaderModuleCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineIdentifierCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineIdentifierCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphProcessingEngineCreateInfoARM(reinterpret_cast<const VkDataGraphProcessingEngineCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM(reinterpret_cast<const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: safe_pNext = new safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *>(pNext), copy_state, false); break; @@ -1900,6 +2203,21 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV(reinterpret_cast<const VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceTileMemoryHeapFeaturesQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM(reinterpret_cast<const VkPhysicalDeviceTileMemoryHeapPropertiesQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM: + safe_pNext = new safe_VkTileMemoryRequirementsQCOM(reinterpret_cast<const VkTileMemoryRequirementsQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM: + safe_pNext = new safe_VkTileMemoryBindInfoQCOM(reinterpret_cast<const VkTileMemoryBindInfoQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM: + safe_pNext = new safe_VkTileMemorySizeInfoQCOM(reinterpret_cast<const VkTileMemorySizeInfoQCOM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV: safe_pNext = new safe_VkDisplaySurfaceStereoCreateInfoNV(reinterpret_cast<const VkDisplaySurfaceStereoCreateInfoNV *>(pNext), copy_state, false); break; @@ -1909,6 +2227,12 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceRawAccessChainsFeaturesNV(reinterpret_cast<const VkPhysicalDeviceRawAccessChainsFeaturesNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV: + safe_pNext = new safe_VkExternalComputeQueueDeviceCreateInfoNV(reinterpret_cast<const VkExternalComputeQueueDeviceCreateInfoNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV(reinterpret_cast<const VkPhysicalDeviceExternalComputeQueuePropertiesNV *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceCommandBufferInheritanceFeaturesNV(reinterpret_cast<const VkPhysicalDeviceCommandBufferInheritanceFeaturesNV *>(pNext), copy_state, false); break; @@ -1918,9 +2242,33 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderFloat8FeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderFloat8FeaturesEXT *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: safe_pNext = new safe_VkPhysicalDeviceRayTracingValidationFeaturesNV(reinterpret_cast<const VkPhysicalDeviceRayTracingValidationFeaturesNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV(reinterpret_cast<const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV(reinterpret_cast<const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV: + safe_pNext = new safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV(reinterpret_cast<const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV(reinterpret_cast<const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV(reinterpret_cast<const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV: + safe_pNext = new safe_VkPartitionedAccelerationStructureFlagsNV(reinterpret_cast<const VkPartitionedAccelerationStructureFlagsNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV: + safe_pNext = new safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV(reinterpret_cast<const VkWriteDescriptorSetPartitionedAccelerationStructureNV *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT *>(pNext), copy_state, false); break; @@ -1942,6 +2290,21 @@ case VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA: safe_pNext = new safe_VkImageAlignmentControlCreateInfoMESA(reinterpret_cast<const VkImageAlignmentControlCreateInfoMESA *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV: + safe_pNext = new safe_VkPushConstantBankInfoNV(reinterpret_cast<const VkPushConstantBankInfoNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDevicePushConstantBankFeaturesNV(reinterpret_cast<const VkPhysicalDevicePushConstantBankFeaturesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV: + safe_pNext = new safe_VkPhysicalDevicePushConstantBankPropertiesNV(reinterpret_cast<const VkPhysicalDevicePushConstantBankPropertiesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceDepthClampControlFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceDepthClampControlFeaturesEXT *>(pNext), copy_state, false); break; @@ -1960,9 +2323,127 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: safe_pNext = new safe_VkPhysicalDeviceCooperativeMatrix2PropertiesNV(reinterpret_cast<const VkPhysicalDeviceCooperativeMatrix2PropertiesNV *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM(reinterpret_cast<const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *>(pNext), copy_state, false); + break; +#ifdef VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT: + safe_pNext = new safe_VkImportMemoryMetalHandleInfoEXT(reinterpret_cast<const VkImportMemoryMetalHandleInfoEXT *>(pNext), copy_state, false); + break; +#endif // VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM(reinterpret_cast<const VkPhysicalDevicePerformanceCountersByRegionFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM(reinterpret_cast<const VkPhysicalDevicePerformanceCountersByRegionPropertiesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM: + safe_pNext = new safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM(reinterpret_cast<const VkRenderPassPerformanceCountersByRegionBeginInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM(reinterpret_cast<const VkPhysicalDeviceShaderInstrumentationFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM: + safe_pNext = new safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM(reinterpret_cast<const VkPhysicalDeviceShaderInstrumentationPropertiesARM *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT: safe_pNext = new safe_VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT *>(pNext), copy_state, false); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceFormatPackFeaturesARM(reinterpret_cast<const VkPhysicalDeviceFormatPackFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE: + safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE: + safe_pNext = new safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE(reinterpret_cast<const VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE: + safe_pNext = new safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE(reinterpret_cast<const VkPipelineFragmentDensityMapLayeredCreateInfoVALVE *>(pNext), copy_state, false); + break; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV: + safe_pNext = new safe_VkSetPresentConfigNV(reinterpret_cast<const VkSetPresentConfigNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDevicePresentMeteringFeaturesNV(reinterpret_cast<const VkPhysicalDevicePresentMeteringFeaturesNV *>(pNext), copy_state, false); + break; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShader64BitIndexingFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceCustomResolveFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceCustomResolveFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT: + safe_pNext = new safe_VkCustomResolveCreateInfoEXT(reinterpret_cast<const VkCustomResolveCreateInfoEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM: + safe_pNext = new safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM(reinterpret_cast<const VkDataGraphPipelineBuiltinModelCreateInfoQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: + safe_pNext = new safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM(reinterpret_cast<const VkPhysicalDeviceDataGraphModelFeaturesQCOM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM(reinterpret_cast<const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineOpticalFlowCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineOpticalFlowCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM: + safe_pNext = new safe_VkDataGraphOpticalFlowImageFormatInfoARM(reinterpret_cast<const VkDataGraphOpticalFlowImageFormatInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM(reinterpret_cast<const VkDataGraphPipelineOpticalFlowDispatchInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM: + safe_pNext = new safe_VkDataGraphPipelineResourceInfoImageLayoutARM(reinterpret_cast<const VkDataGraphPipelineResourceInfoImageLayoutARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineSingleNodeCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineSingleNodeCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderLongVectorFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceShaderLongVectorPropertiesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: + safe_pNext = new safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC(reinterpret_cast<const VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + safe_pNext = new safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV(reinterpret_cast<const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT(reinterpret_cast<const VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: + safe_pNext = new safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE(reinterpret_cast<const VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC: + safe_pNext = new safe_VkThrottleHintSubmitInfoSEC(reinterpret_cast<const VkThrottleHintSubmitInfoSEC *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC: + safe_pNext = new safe_VkPhysicalDeviceThrottleHintFeaturesSEC(reinterpret_cast<const VkPhysicalDeviceThrottleHintFeaturesSEC *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM: + safe_pNext = new safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM(reinterpret_cast<const VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineNeuralStatisticsCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM: + safe_pNext = new safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM(reinterpret_cast<const VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM *>(pNext), copy_state, false); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + safe_pNext = new safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT(reinterpret_cast<const VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT *>(pNext), copy_state, false); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: safe_pNext = new safe_VkWriteDescriptorSetAccelerationStructureKHR(reinterpret_cast<const VkWriteDescriptorSetAccelerationStructureKHR *>(pNext), copy_state, false); break; @@ -1991,14 +2472,7 @@ safe_pNext = new safe_VkPhysicalDeviceMeshShaderPropertiesEXT(reinterpret_cast<const VkPhysicalDeviceMeshShaderPropertiesEXT *>(pNext), copy_state, false); break; - default: // Encountered an unknown sType -- skip (do not copy) this entry in the chain - // If sType is in custom list, construct blind copy - for (auto item : GetCustomStypeInfo()) { - if (item.first == static_cast<uint32_t>(header->sType)) { - safe_pNext = malloc(item.second); - memcpy(safe_pNext, header, item.second); - } - } + default: break; } if (!first_pNext) { @@ -2042,17 +2516,11 @@ case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO: delete reinterpret_cast<safe_VkComputePipelineCreateInfo *>(header); break; - case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: - delete reinterpret_cast<safe_VkGraphicsPipelineCreateInfo *>(header); - break; case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO: delete reinterpret_cast<safe_VkPipelineLayoutCreateInfo *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceSubgroupProperties *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDevice16BitStorageFeatures *>(header); + case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO: + delete reinterpret_cast<safe_VkGraphicsPipelineCreateInfo *>(header); break; case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS: delete reinterpret_cast<safe_VkMemoryDedicatedRequirements *>(header); @@ -2063,9 +2531,6 @@ case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO: delete reinterpret_cast<safe_VkMemoryAllocateFlagsInfo *>(header); break; - case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: - delete reinterpret_cast<safe_VkDeviceGroupRenderPassBeginInfo *>(header); - break; case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO: delete reinterpret_cast<safe_VkDeviceGroupCommandBufferBeginInfo *>(header); break; @@ -2087,30 +2552,9 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: delete reinterpret_cast<safe_VkPhysicalDeviceFeatures2 *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDevicePointClippingProperties *>(header); - break; - case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: - delete reinterpret_cast<safe_VkRenderPassInputAttachmentAspectCreateInfo *>(header); - break; case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO: delete reinterpret_cast<safe_VkImageViewUsageCreateInfo *>(header); break; - case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: - delete reinterpret_cast<safe_VkPipelineTessellationDomainOriginStateCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: - delete reinterpret_cast<safe_VkRenderPassMultiviewCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewProperties *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceVariablePointersFeatures *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceProtectedMemoryFeatures *>(header); break; @@ -2120,21 +2564,12 @@ case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO: delete reinterpret_cast<safe_VkProtectedSubmitInfo *>(header); break; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: - delete reinterpret_cast<safe_VkSamplerYcbcrConversionInfo *>(header); - break; case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO: delete reinterpret_cast<safe_VkBindImagePlaneMemoryInfo *>(header); break; case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO: delete reinterpret_cast<safe_VkImagePlaneMemoryRequirementsInfo *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: - delete reinterpret_cast<safe_VkSamplerYcbcrConversionImageFormatProperties *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO: delete reinterpret_cast<safe_VkPhysicalDeviceExternalImageFormatInfo *>(header); break; @@ -2159,12 +2594,54 @@ case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO: delete reinterpret_cast<safe_VkExportSemaphoreCreateInfo *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceSubgroupProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDevice16BitStorageFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceVariablePointersFeatures *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES: delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance3Properties *>(header); break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO: + delete reinterpret_cast<safe_VkSamplerYcbcrConversionInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceSamplerYcbcrConversionFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES: + delete reinterpret_cast<safe_VkSamplerYcbcrConversionImageFormatProperties *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO: + delete reinterpret_cast<safe_VkDeviceGroupRenderPassBeginInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDevicePointClippingProperties *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO: + delete reinterpret_cast<safe_VkRenderPassInputAttachmentAspectCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO: + delete reinterpret_cast<safe_VkPipelineTessellationDomainOriginStateCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO: + delete reinterpret_cast<safe_VkRenderPassMultiviewCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewProperties *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceShaderDrawParametersFeatures *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceDriverProperties *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceVulkan11Features *>(header); break; @@ -2180,81 +2657,9 @@ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO: delete reinterpret_cast<safe_VkImageFormatListCreateInfo *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDevice8BitStorageFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceDriverProperties *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceShaderAtomicInt64Features *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceShaderFloat16Int8Features *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceFloatControlsProperties *>(header); - break; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: - delete reinterpret_cast<safe_VkDescriptorSetLayoutBindingFlagsCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorIndexingFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorIndexingProperties *>(header); - break; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: - delete reinterpret_cast<safe_VkDescriptorSetVariableDescriptorCountAllocateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: - delete reinterpret_cast<safe_VkDescriptorSetVariableDescriptorCountLayoutSupport *>(header); - break; - case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: - delete reinterpret_cast<safe_VkSubpassDescriptionDepthStencilResolve *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceDepthStencilResolveProperties *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceScalarBlockLayoutFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: - delete reinterpret_cast<safe_VkImageStencilUsageCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: - delete reinterpret_cast<safe_VkSamplerReductionModeCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceSamplerFilterMinmaxProperties *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceVulkanMemoryModelFeatures *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceImagelessFramebufferFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: - delete reinterpret_cast<safe_VkFramebufferAttachmentsCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: - delete reinterpret_cast<safe_VkRenderPassAttachmentBeginInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: - delete reinterpret_cast<safe_VkAttachmentReferenceStencilLayout *>(header); - break; - case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: - delete reinterpret_cast<safe_VkAttachmentDescriptionStencilLayout *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceHostQueryResetFeatures *>(header); break; @@ -2279,12 +2684,105 @@ case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO: delete reinterpret_cast<safe_VkMemoryOpaqueCaptureAddressAllocateInfo *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDevice8BitStorageFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderAtomicInt64Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderFloat16Int8Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceFloatControlsProperties *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO: + delete reinterpret_cast<safe_VkDescriptorSetLayoutBindingFlagsCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorIndexingFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorIndexingProperties *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO: + delete reinterpret_cast<safe_VkDescriptorSetVariableDescriptorCountAllocateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT: + delete reinterpret_cast<safe_VkDescriptorSetVariableDescriptorCountLayoutSupport *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceScalarBlockLayoutFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO: + delete reinterpret_cast<safe_VkSamplerReductionModeCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceSamplerFilterMinmaxProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceUniformBufferStandardLayoutFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE: + delete reinterpret_cast<safe_VkSubpassDescriptionDepthStencilResolve *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceDepthStencilResolveProperties *>(header); + break; + case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO: + delete reinterpret_cast<safe_VkImageStencilUsageCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceImagelessFramebufferFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO: + delete reinterpret_cast<safe_VkRenderPassAttachmentBeginInfo *>(header); + break; + case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO: + delete reinterpret_cast<safe_VkFramebufferAttachmentsCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT: + delete reinterpret_cast<safe_VkAttachmentReferenceStencilLayout *>(header); + break; + case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT: + delete reinterpret_cast<safe_VkAttachmentDescriptionStencilLayout *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceVulkan13Features *>(header); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES: delete reinterpret_cast<safe_VkPhysicalDeviceVulkan13Properties *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDevicePrivateDataFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: + delete reinterpret_cast<safe_VkDevicePrivateDataCreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: + delete reinterpret_cast<safe_VkMemoryBarrier2 *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceSynchronization2Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: + delete reinterpret_cast<safe_VkFormatProperties3 *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance4Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance4Properties *>(header); + break; case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: delete reinterpret_cast<safe_VkPipelineCreationFeedbackCreateInfo *>(header); break; @@ -2294,21 +2792,9 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDevicePrivateDataFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO: - delete reinterpret_cast<safe_VkDevicePrivateDataCreateInfo *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES: delete reinterpret_cast<safe_VkPhysicalDevicePipelineCreationCacheControlFeatures *>(header); break; - case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2: - delete reinterpret_cast<safe_VkMemoryBarrier2 *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceSynchronization2Features *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures *>(header); break; @@ -2336,18 +2822,6 @@ case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO: delete reinterpret_cast<safe_VkDescriptorPoolInlineUniformBlockCreateInfo *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceTextureCompressionASTCHDRFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: - delete reinterpret_cast<safe_VkPipelineRenderingCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceDynamicRenderingFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: - delete reinterpret_cast<safe_VkCommandBufferInheritanceRenderingInfo *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceShaderIntegerDotProductFeatures *>(header); break; @@ -2357,14 +2831,14 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES: delete reinterpret_cast<safe_VkPhysicalDeviceTexelBufferAlignmentProperties *>(header); break; - case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3: - delete reinterpret_cast<safe_VkFormatProperties3 *>(header); + case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO: + delete reinterpret_cast<safe_VkPipelineRenderingCreateInfo *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance4Features *>(header); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceDynamicRenderingFeatures *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance4Properties *>(header); + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO: + delete reinterpret_cast<safe_VkCommandBufferInheritanceRenderingInfo *>(header); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceVulkan14Features *>(header); @@ -2381,6 +2855,39 @@ case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES: delete reinterpret_cast<safe_VkQueueFamilyGlobalPriorityProperties *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceIndexTypeUint8Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance5Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance5Properties *>(header); + break; + case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: + delete reinterpret_cast<safe_VkBufferUsageFlags2CreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance6Features *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance6Properties *>(header); + break; + case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: + delete reinterpret_cast<safe_VkBindMemoryStatus *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDeviceHostImageCopyFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDeviceHostImageCopyProperties *>(header); + break; + case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: + delete reinterpret_cast<safe_VkSubresourceHostMemcpySize *>(header); + break; + case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: + delete reinterpret_cast<safe_VkHostImageCopyDevicePerformanceQuery *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceShaderSubgroupRotateFeatures *>(header); break; @@ -2390,6 +2897,24 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceShaderExpectAssumeFeatures *>(header); break; + case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: + delete reinterpret_cast<safe_VkPipelineCreateFlags2CreateInfo *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDevicePushDescriptorProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDevicePipelineProtectedAccessFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: + delete reinterpret_cast<safe_VkPhysicalDevicePipelineRobustnessFeatures *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: + delete reinterpret_cast<safe_VkPhysicalDevicePipelineRobustnessProperties *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: + delete reinterpret_cast<safe_VkPipelineRobustnessCreateInfo *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceLineRasterizationFeatures *>(header); break; @@ -2408,24 +2933,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceVertexAttributeDivisorFeatures *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceIndexTypeUint8Features *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance5Features *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance5Properties *>(header); - break; - case VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO: - delete reinterpret_cast<safe_VkPipelineCreateFlags2CreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO: - delete reinterpret_cast<safe_VkBufferUsageFlags2CreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDevicePushDescriptorProperties *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES: delete reinterpret_cast<safe_VkPhysicalDeviceDynamicRenderingLocalReadFeatures *>(header); break; @@ -2435,39 +2942,6 @@ case VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO: delete reinterpret_cast<safe_VkRenderingInputAttachmentIndexInfo *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance6Features *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance6Properties *>(header); - break; - case VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS: - delete reinterpret_cast<safe_VkBindMemoryStatus *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDevicePipelineProtectedAccessFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDevicePipelineRobustnessFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDevicePipelineRobustnessProperties *>(header); - break; - case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO: - delete reinterpret_cast<safe_VkPipelineRobustnessCreateInfo *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES: - delete reinterpret_cast<safe_VkPhysicalDeviceHostImageCopyFeatures *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES: - delete reinterpret_cast<safe_VkPhysicalDeviceHostImageCopyProperties *>(header); - break; - case VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE: - delete reinterpret_cast<safe_VkSubresourceHostMemcpySize *>(header); - break; - case VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY: - delete reinterpret_cast<safe_VkHostImageCopyDevicePerformanceQuery *>(header); - break; case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR: delete reinterpret_cast<safe_VkImageSwapchainCreateInfoKHR *>(header); break; @@ -2642,6 +3116,9 @@ case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR: delete reinterpret_cast<safe_VkPerformanceQuerySubmitInfoKHR *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_BFLOAT16_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderBfloat16FeaturesKHR *>(header); + break; #ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDevicePortabilitySubsetFeaturesKHR *>(header); @@ -2686,6 +3163,18 @@ case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR: delete reinterpret_cast<safe_VkRenderingFragmentShadingRateAttachmentInfoKHR *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CONSTANT_DATA_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderConstantDataFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderAbortFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_DEVICE_FAULT_SHADER_ABORT_MESSAGE_INFO_KHR: + delete reinterpret_cast<safe_VkDeviceFaultShaderAbortMessageInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ABORT_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderAbortPropertiesKHR *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceShaderQuadControlFeaturesKHR *>(header); break; @@ -2722,6 +3211,12 @@ case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR: delete reinterpret_cast<safe_VkVideoEncodeQualityLevelInfoKHR *>(header); break; + case VK_STRUCTURE_TYPE_MEMORY_RANGE_BARRIERS_INFO_KHR: + delete reinterpret_cast<safe_VkMemoryRangeBarriersInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_ADDRESS_COMMANDS_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceDeviceAddressCommandsFeaturesKHR *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR *>(header); break; @@ -2737,9 +3232,27 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNTYPED_POINTERS_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderUntypedPointersFeaturesKHR *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *>(header); break; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_ID_2_KHR: + delete reinterpret_cast<safe_VkSurfaceCapabilitiesPresentId2KHR *>(header); + break; + case VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR: + delete reinterpret_cast<safe_VkPresentId2KHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_2_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDevicePresentId2FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_WAIT_2_KHR: + delete reinterpret_cast<safe_VkSurfaceCapabilitiesPresentWait2KHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_2_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDevicePresentWait2FeaturesKHR *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR *>(header); break; @@ -2755,6 +3268,33 @@ case VK_STRUCTURE_TYPE_PIPELINE_BINARY_INFO_KHR: delete reinterpret_cast<safe_VkPipelineBinaryInfoKHR *>(header); break; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR: + delete reinterpret_cast<safe_VkSurfacePresentModeKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_KHR: + delete reinterpret_cast<safe_VkSurfacePresentScalingCapabilitiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_KHR: + delete reinterpret_cast<safe_VkSurfacePresentModeCompatibilityKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_KHR: + delete reinterpret_cast<safe_VkSwapchainPresentFenceInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_KHR: + delete reinterpret_cast<safe_VkSwapchainPresentModesCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_KHR: + delete reinterpret_cast<safe_VkSwapchainPresentModeInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_KHR: + delete reinterpret_cast<safe_VkSwapchainPresentScalingCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INTERNALLY_SYNCHRONIZED_QUEUES_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceInternallySynchronizedQueuesFeaturesKHR *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeMatrixFeaturesKHR *>(header); break; @@ -2815,12 +3355,51 @@ case VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_RATE_CONTROL_LAYER_INFO_KHR: delete reinterpret_cast<safe_VkVideoEncodeAV1RateControlLayerInfoKHR *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_DECODE_VP9_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceVideoDecodeVP9FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PROFILE_INFO_KHR: + delete reinterpret_cast<safe_VkVideoDecodeVP9ProfileInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_CAPABILITIES_KHR: + delete reinterpret_cast<safe_VkVideoDecodeVP9CapabilitiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_VP9_PICTURE_INFO_KHR: + delete reinterpret_cast<safe_VkVideoDecodeVP9PictureInfoKHR *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceVideoMaintenance1FeaturesKHR *>(header); break; case VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR: delete reinterpret_cast<safe_VkVideoInlineQueryInfoKHR *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFIED_IMAGE_LAYOUTS_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceUnifiedImageLayoutsFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_ATTACHMENT_FEEDBACK_LOOP_INFO_EXT: + delete reinterpret_cast<safe_VkAttachmentFeedbackLoopInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_CAPABILITIES_KHR: + delete reinterpret_cast<safe_VkVideoEncodeIntraRefreshCapabilitiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_INTRA_REFRESH_CREATE_INFO_KHR: + delete reinterpret_cast<safe_VkVideoEncodeSessionIntraRefreshCreateInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_INTRA_REFRESH_INFO_KHR: + delete reinterpret_cast<safe_VkVideoEncodeIntraRefreshInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_REFERENCE_INTRA_REFRESH_INFO_KHR: + delete reinterpret_cast<safe_VkVideoReferenceIntraRefreshInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_INTRA_REFRESH_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR *>(header); + break; case VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUANTIZATION_MAP_CAPABILITIES_KHR: delete reinterpret_cast<safe_VkVideoEncodeQuantizationMapCapabilitiesKHR *>(header); break; @@ -2866,6 +3445,72 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_API_VULKAN_PROPERTIES_KHR: delete reinterpret_cast<safe_VkPhysicalDeviceLayeredApiVulkanPropertiesKHR *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceFaultFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceFaultPropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + delete reinterpret_cast<safe_VkMemoryBarrierAccessFlags3KHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance8FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderFmaFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance9FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance9PropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OWNERSHIP_TRANSFER_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkQueueFamilyOwnershipTransferPropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceVideoMaintenance2FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR: + delete reinterpret_cast<safe_VkVideoDecodeH264InlineSessionParametersInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR: + delete reinterpret_cast<safe_VkVideoDecodeH265InlineSessionParametersInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR: + delete reinterpret_cast<safe_VkVideoDecodeAV1InlineSessionParametersInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceRobustness2FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceRobustness2PropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance10FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance10PropertiesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR: + delete reinterpret_cast<safe_VkRenderingAttachmentFlagsInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR: + delete reinterpret_cast<safe_VkResolveImageModeInfoKHR *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_11_FEATURES_KHR: + delete reinterpret_cast<safe_VkPhysicalDeviceMaintenance11FeaturesKHR *>(header); + break; + case VK_STRUCTURE_TYPE_QUEUE_FAMILY_OPTIMAL_IMAGE_TRANSFER_GRANULARITY_PROPERTIES_KHR: + delete reinterpret_cast<safe_VkQueueFamilyOptimalImageTransferGranularityPropertiesKHR *>(header); + break; case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT: delete reinterpret_cast<safe_VkDebugReportCallbackCreateInfoEXT *>(header); break; @@ -3007,6 +3652,36 @@ delete reinterpret_cast<safe_VkPipelineShaderStageNodeCreateInfoAMDX *>(header); break; #endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_SHADER_DESCRIPTOR_SET_AND_BINDING_MAPPING_INFO_EXT: + delete reinterpret_cast<safe_VkShaderDescriptorSetAndBindingMappingInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DATA_CREATE_INFO_EXT: + delete reinterpret_cast<safe_VkOpaqueCaptureDataCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorHeapFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorHeapPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_DESCRIPTOR_HEAP_INFO_EXT: + delete reinterpret_cast<safe_VkCommandBufferInheritanceDescriptorHeapInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_INDEX_CREATE_INFO_EXT: + delete reinterpret_cast<safe_VkSamplerCustomBorderColorIndexCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: + delete reinterpret_cast<safe_VkSamplerCustomBorderColorCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV: + delete reinterpret_cast<safe_VkIndirectCommandsLayoutPushDataTokenNV *>(header); + break; + case VK_STRUCTURE_TYPE_SUBSAMPLED_IMAGE_FORMAT_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkSubsampledImageFormatPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM *>(header); + break; case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD: delete reinterpret_cast<safe_VkAttachmentSampleCountInfoAMD *>(header); break; @@ -3091,6 +3766,9 @@ case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT: delete reinterpret_cast<safe_VkFilterCubicImageViewImageFormatPropertiesEXT *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM *>(header); + break; case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT: delete reinterpret_cast<safe_VkImportMemoryHostPointerInfoEXT *>(header); break; @@ -3135,6 +3813,18 @@ case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV: delete reinterpret_cast<safe_VkQueueFamilyCheckpointProperties2NV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_TIMING_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDevicePresentTimingFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PRESENT_TIMING_SURFACE_CAPABILITIES_EXT: + delete reinterpret_cast<safe_VkPresentTimingSurfaceCapabilitiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_SWAPCHAIN_CALIBRATED_TIMESTAMP_INFO_EXT: + delete reinterpret_cast<safe_VkSwapchainCalibratedTimestampInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PRESENT_TIMINGS_INFO_EXT: + delete reinterpret_cast<safe_VkPresentTimingsInfoEXT *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL: delete reinterpret_cast<safe_VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL *>(header); break; @@ -3248,30 +3938,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT *>(header); break; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT: - delete reinterpret_cast<safe_VkSurfacePresentModeEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT: - delete reinterpret_cast<safe_VkSurfacePresentScalingCapabilitiesEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT: - delete reinterpret_cast<safe_VkSurfacePresentModeCompatibilityEXT *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT: - delete reinterpret_cast<safe_VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT: - delete reinterpret_cast<safe_VkSwapchainPresentFenceInfoEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT: - delete reinterpret_cast<safe_VkSwapchainPresentModesCreateInfoEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT: - delete reinterpret_cast<safe_VkSwapchainPresentModeInfoEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT: - delete reinterpret_cast<safe_VkSwapchainPresentScalingCreateInfoEXT *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV *>(header); break; @@ -3308,21 +3974,15 @@ case VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT: delete reinterpret_cast<safe_VkDeviceDeviceMemoryReportCreateInfoEXT *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT: - delete reinterpret_cast<safe_VkPhysicalDeviceRobustness2FeaturesEXT *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: - delete reinterpret_cast<safe_VkPhysicalDeviceRobustness2PropertiesEXT *>(header); - break; - case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT: - delete reinterpret_cast<safe_VkSamplerCustomBorderColorCreateInfoEXT *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceCustomBorderColorPropertiesEXT *>(header); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceCustomBorderColorFeaturesEXT *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_3D_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceTextureCompressionASTC3DFeaturesEXT *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDevicePresentBarrierFeaturesNV *>(header); break; @@ -3338,12 +3998,29 @@ case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV: delete reinterpret_cast<safe_VkDeviceDiagnosticsConfigCreateInfoNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM *>(header); + break; +#ifdef VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceCudaKernelLaunchFeaturesNV *>(header); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceCudaKernelLaunchPropertiesNV *>(header); break; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceTileShadingFeaturesQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceTileShadingPropertiesQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM: + delete reinterpret_cast<safe_VkRenderPassTileShadingCreateInfoQCOM *>(header); + break; case VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV: delete reinterpret_cast<safe_VkQueryLowLatencySupportNV *>(header); break; @@ -3385,9 +4062,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorBufferPropertiesEXT *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: - delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorBufferFeaturesEXT *>(header); break; @@ -3397,6 +4071,9 @@ case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT: delete reinterpret_cast<safe_VkOpaqueCaptureDescriptorDataCreateInfoEXT *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT *>(header); break; @@ -3490,9 +4167,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_MODE_FIFO_LATEST_READY_FEATURES_EXT: - delete reinterpret_cast<safe_VkPhysicalDevicePresentModeFifoLatestReadyFeaturesEXT *>(header); - break; #ifdef VK_USE_PLATFORM_FUCHSIA case VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA: delete reinterpret_cast<safe_VkImportMemoryZirconHandleInfoFUCHSIA *>(header); @@ -3552,6 +4226,18 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE: + delete reinterpret_cast<safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE: + delete reinterpret_cast<safe_VkVideoEncodeRgbConversionCapabilitiesVALVE *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE: + delete reinterpret_cast<safe_VkVideoEncodeProfileRgbConversionInfoVALVE *>(header); + break; + case VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE: + delete reinterpret_cast<safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceImageViewMinLodFeaturesEXT *>(header); break; @@ -3623,6 +4309,9 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM: delete reinterpret_cast<safe_VkPhysicalDeviceSchedulingControlsPropertiesARM *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT *>(header); break; @@ -3632,9 +4321,6 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE: delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - delete reinterpret_cast<safe_VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *>(header); - break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT *>(header); break; @@ -3650,26 +4336,23 @@ case VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM: delete reinterpret_cast<safe_VkRenderPassStripeSubmitInfoARM *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM: - delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM *>(header); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesEXT *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM: - delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM *>(header); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesEXT *>(header); break; - case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM: - delete reinterpret_cast<safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM *>(header); + case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_EXT: + delete reinterpret_cast<safe_VkRenderPassFragmentDensityMapOffsetEndInfoEXT *>(header); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV: - delete reinterpret_cast<safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV *>(header); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceMemoryDecompressionFeaturesEXT *>(header); break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV: - delete reinterpret_cast<safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV *>(header); - break; - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV: - delete reinterpret_cast<safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV *>(header); + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceMemoryDecompressionPropertiesEXT *>(header); break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV *>(header); @@ -3677,6 +4360,15 @@ case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV: delete reinterpret_cast<safe_VkComputePipelineIndirectBufferInfoNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV: + delete reinterpret_cast<safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV *>(header); + break; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV: + delete reinterpret_cast<safe_VkAccelerationStructureGeometrySpheresDataNV *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceLinearColorAttachmentFeaturesNV *>(header); break; @@ -3698,6 +4390,20 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceNestedCommandBufferPropertiesEXT *>(header); break; +#ifdef VK_USE_PLATFORM_OHOS + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS: + delete reinterpret_cast<safe_VkNativeBufferUsageOHOS *>(header); + break; + case VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS: + delete reinterpret_cast<safe_VkNativeBufferFormatPropertiesOHOS *>(header); + break; + case VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS: + delete reinterpret_cast<safe_VkImportNativeBufferInfoOHOS *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS: + delete reinterpret_cast<safe_VkExternalFormatOHOS *>(header); + break; +#endif // VK_USE_PLATFORM_OHOS case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: delete reinterpret_cast<safe_VkExternalMemoryAcquireUnmodifiedEXT *>(header); break; @@ -3722,6 +4428,45 @@ case VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG: delete reinterpret_cast<safe_VkDirectDriverLoadingListLUNARG *>(header); break; + case VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM: + delete reinterpret_cast<safe_VkTensorDescriptionARM *>(header); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM: + delete reinterpret_cast<safe_VkWriteDescriptorSetTensorARM *>(header); + break; + case VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkTensorFormatPropertiesARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceTensorPropertiesARM *>(header); + break; + case VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM: + delete reinterpret_cast<safe_VkTensorMemoryBarrierARM *>(header); + break; + case VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM: + delete reinterpret_cast<safe_VkTensorDependencyInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceTensorFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM: + delete reinterpret_cast<safe_VkMemoryDedicatedAllocateInfoTensorARM *>(header); + break; + case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkExternalMemoryTensorCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM *>(header); + break; + case VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM: + delete reinterpret_cast<safe_VkDescriptorGetTensorInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM: + delete reinterpret_cast<safe_VkFrameBoundaryTensorsARM *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT *>(header); break; @@ -3760,6 +4505,14 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD: delete reinterpret_cast<safe_VkPhysicalDeviceAntiLagFeaturesAMD *>(header); break; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX: + delete reinterpret_cast<safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX *>(header); + break; + case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX: + delete reinterpret_cast<safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX *>(header); + break; +#endif // VK_ENABLE_BETA_EXTENSIONS case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceShaderObjectFeaturesEXT *>(header); break; @@ -3784,6 +4537,12 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeVectorPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeVectorFeaturesNV *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV *>(header); break; @@ -3820,6 +4579,24 @@ case VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV: delete reinterpret_cast<safe_VkLatencySurfaceCapabilitiesNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceDataGraphFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineCompilerControlCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineShaderModuleCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineIdentifierCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphProcessingEngineCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM: delete reinterpret_cast<safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM *>(header); break; @@ -3879,6 +4656,21 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM: + delete reinterpret_cast<safe_VkTileMemoryRequirementsQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM: + delete reinterpret_cast<safe_VkTileMemoryBindInfoQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM: + delete reinterpret_cast<safe_VkTileMemorySizeInfoQCOM *>(header); + break; case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_STEREO_CREATE_INFO_NV: delete reinterpret_cast<safe_VkDisplaySurfaceStereoCreateInfoNV *>(header); break; @@ -3888,6 +4680,12 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceRawAccessChainsFeaturesNV *>(header); break; + case VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV: + delete reinterpret_cast<safe_VkExternalComputeQueueDeviceCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceCommandBufferInheritanceFeaturesNV *>(header); break; @@ -3897,9 +4695,33 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceShaderReplicatedCompositesFeaturesEXT *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderFloat8FeaturesEXT *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingValidationFeaturesNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV: + delete reinterpret_cast<safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: + delete reinterpret_cast<safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV: + delete reinterpret_cast<safe_VkPartitionedAccelerationStructureFlagsNV *>(header); + break; + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV: + delete reinterpret_cast<safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceDeviceGeneratedCommandsFeaturesEXT *>(header); break; @@ -3921,6 +4743,21 @@ case VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA: delete reinterpret_cast<safe_VkImageAlignmentControlCreateInfoMESA *>(header); break; + case VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV: + delete reinterpret_cast<safe_VkPushConstantBankInfoNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDevicePushConstantBankFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV: + delete reinterpret_cast<safe_VkPhysicalDevicePushConstantBankPropertiesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingInvocationReorderPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceRayTracingInvocationReorderFeaturesEXT *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceDepthClampControlFeaturesEXT *>(header); break; @@ -3939,9 +4776,127 @@ case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV: delete reinterpret_cast<safe_VkPhysicalDeviceCooperativeMatrix2PropertiesNV *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *>(header); + break; +#ifdef VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT: + delete reinterpret_cast<safe_VkImportMemoryMetalHandleInfoEXT *>(header); + break; +#endif // VK_USE_PLATFORM_METAL_EXT + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM *>(header); + break; + case VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM: + delete reinterpret_cast<safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM *>(header); + break; case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT: delete reinterpret_cast<safe_VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT *>(header); break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceFormatPackFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE: + delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE: + delete reinterpret_cast<safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE *>(header); + break; + case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE: + delete reinterpret_cast<safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE *>(header); + break; +#ifdef VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV: + delete reinterpret_cast<safe_VkSetPresentConfigNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDevicePresentMeteringFeaturesNV *>(header); + break; +#endif // VK_ENABLE_BETA_EXTENSIONS + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_DEVICE_MEMORY_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceZeroInitializeDeviceMemoryFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_64_BIT_INDEXING_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceShader64BitIndexingFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceCustomResolveFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_CUSTOM_RESOLVE_CREATE_INFO_EXT: + delete reinterpret_cast<safe_VkCustomResolveCreateInfoEXT *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM: + delete reinterpret_cast<safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM: + delete reinterpret_cast<safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineOpticalFlowCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphOpticalFlowImageFormatInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineResourceInfoImageLayoutARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineSingleNodeCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderLongVectorFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_LONG_VECTOR_PROPERTIES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderLongVectorPropertiesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC: + delete reinterpret_cast<safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderUniformBufferUnsizedArrayFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV: + delete reinterpret_cast<safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE: + delete reinterpret_cast<safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE *>(header); + break; + case VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC: + delete reinterpret_cast<safe_VkThrottleHintSubmitInfoSEC *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC: + delete reinterpret_cast<safe_VkPhysicalDeviceThrottleHintFeaturesSEC *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM: + delete reinterpret_cast<safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM: + delete reinterpret_cast<safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM *>(header); + break; + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_RESTART_INDEX_FEATURES_EXT: + delete reinterpret_cast<safe_VkPhysicalDevicePrimitiveRestartIndexFeaturesEXT *>(header); + break; case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR: delete reinterpret_cast<safe_VkWriteDescriptorSetAccelerationStructureKHR *>(header); break; @@ -3970,14 +4925,7 @@ delete reinterpret_cast<safe_VkPhysicalDeviceMeshShaderPropertiesEXT *>(header); break; - default: // Encountered an unknown sType - // If sType is in custom list, free custom struct memory and clean up - for (auto item : GetCustomStypeInfo() ) { - if (item.first == static_cast<uint32_t>(header->sType)) { - free(current); - break; - } - } + default: break; } current = next;
diff --git a/src/vulkan/vk_safe_struct_vendor.cpp b/src/vulkan/vk_safe_struct_vendor.cpp index 94a1d11..b2149c0 100644 --- a/src/vulkan/vk_safe_struct_vendor.cpp +++ b/src/vulkan/vk_safe_struct_vendor.cpp
@@ -3,10 +3,10 @@ /*************************************************************************** * - * Copyright (c) 2015-2024 The Khronos Group Inc. - * Copyright (c) 2015-2024 Valve Corporation - * Copyright (c) 2015-2024 LunarG, Inc. - * Copyright (c) 2015-2024 Google Inc. + * Copyright (c) 2015-2025 The Khronos Group Inc. + * Copyright (c) 2015-2025 Valve Corporation + * Copyright (c) 2015-2025 LunarG, Inc. + * Copyright (c) 2015-2025 Google Inc. * * SPDX-License-Identifier: Apache-2.0 * @@ -22,6 +22,67 @@ namespace vku { +safe_VkMemoryMarkerInfoAMD::safe_VkMemoryMarkerInfoAMD(const VkMemoryMarkerInfoAMD* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + stage(in_struct->stage), + dstRange(in_struct->dstRange), + dstFlags(in_struct->dstFlags), + marker(in_struct->marker) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryMarkerInfoAMD::safe_VkMemoryMarkerInfoAMD() + : sType(VK_STRUCTURE_TYPE_MEMORY_MARKER_INFO_AMD), pNext(nullptr), stage(), dstRange(), dstFlags(), marker() {} + +safe_VkMemoryMarkerInfoAMD::safe_VkMemoryMarkerInfoAMD(const safe_VkMemoryMarkerInfoAMD& copy_src) { + sType = copy_src.sType; + stage = copy_src.stage; + dstRange = copy_src.dstRange; + dstFlags = copy_src.dstFlags; + marker = copy_src.marker; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryMarkerInfoAMD& safe_VkMemoryMarkerInfoAMD::operator=(const safe_VkMemoryMarkerInfoAMD& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + stage = copy_src.stage; + dstRange = copy_src.dstRange; + dstFlags = copy_src.dstFlags; + marker = copy_src.marker; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryMarkerInfoAMD::~safe_VkMemoryMarkerInfoAMD() { FreePnextChain(pNext); } + +void safe_VkMemoryMarkerInfoAMD::initialize(const VkMemoryMarkerInfoAMD* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + stage = in_struct->stage; + dstRange = in_struct->dstRange; + dstFlags = in_struct->dstFlags; + marker = in_struct->marker; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryMarkerInfoAMD::initialize(const safe_VkMemoryMarkerInfoAMD* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + stage = copy_src->stage; + dstRange = copy_src->dstRange; + dstFlags = copy_src->dstFlags; + marker = copy_src->marker; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPipelineRasterizationStateRasterizationOrderAMD::safe_VkPipelineRasterizationStateRasterizationOrderAMD( const VkPipelineRasterizationStateRasterizationOrderAMD* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -2614,6 +2675,178 @@ } #endif // VK_ENABLE_BETA_EXTENSIONS +safe_VkTensorViewCreateInfoARM::safe_VkTensorViewCreateInfoARM(const VkTensorViewCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), tensor(in_struct->tensor), format(in_struct->format) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTensorViewCreateInfoARM::safe_VkTensorViewCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_VIEW_CREATE_INFO_ARM), pNext(nullptr), flags(), tensor(), format() {} + +safe_VkTensorViewCreateInfoARM::safe_VkTensorViewCreateInfoARM(const safe_VkTensorViewCreateInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + tensor = copy_src.tensor; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTensorViewCreateInfoARM& safe_VkTensorViewCreateInfoARM::operator=(const safe_VkTensorViewCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + tensor = copy_src.tensor; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTensorViewCreateInfoARM::~safe_VkTensorViewCreateInfoARM() { FreePnextChain(pNext); } + +void safe_VkTensorViewCreateInfoARM::initialize(const VkTensorViewCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + tensor = in_struct->tensor; + format = in_struct->format; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTensorViewCreateInfoARM::initialize(const safe_VkTensorViewCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + tensor = copy_src->tensor; + format = copy_src->format; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkIndirectCommandsLayoutPushDataTokenNV::safe_VkIndirectCommandsLayoutPushDataTokenNV( + const VkIndirectCommandsLayoutPushDataTokenNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pushDataOffset(in_struct->pushDataOffset), pushDataSize(in_struct->pushDataSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkIndirectCommandsLayoutPushDataTokenNV::safe_VkIndirectCommandsLayoutPushDataTokenNV() + : sType(VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_PUSH_DATA_TOKEN_NV), pNext(nullptr), pushDataOffset(), pushDataSize() {} + +safe_VkIndirectCommandsLayoutPushDataTokenNV::safe_VkIndirectCommandsLayoutPushDataTokenNV( + const safe_VkIndirectCommandsLayoutPushDataTokenNV& copy_src) { + sType = copy_src.sType; + pushDataOffset = copy_src.pushDataOffset; + pushDataSize = copy_src.pushDataSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkIndirectCommandsLayoutPushDataTokenNV& safe_VkIndirectCommandsLayoutPushDataTokenNV::operator=( + const safe_VkIndirectCommandsLayoutPushDataTokenNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pushDataOffset = copy_src.pushDataOffset; + pushDataSize = copy_src.pushDataSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkIndirectCommandsLayoutPushDataTokenNV::~safe_VkIndirectCommandsLayoutPushDataTokenNV() { FreePnextChain(pNext); } + +void safe_VkIndirectCommandsLayoutPushDataTokenNV::initialize(const VkIndirectCommandsLayoutPushDataTokenNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pushDataOffset = in_struct->pushDataOffset; + pushDataSize = in_struct->pushDataSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkIndirectCommandsLayoutPushDataTokenNV::initialize(const safe_VkIndirectCommandsLayoutPushDataTokenNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pushDataOffset = copy_src->pushDataOffset; + pushDataSize = copy_src->pushDataSize; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM( + const VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + tensorDescriptorSize(in_struct->tensorDescriptorSize), + tensorDescriptorAlignment(in_struct->tensorDescriptorAlignment), + tensorCaptureReplayOpaqueDataSize(in_struct->tensorCaptureReplayOpaqueDataSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_HEAP_TENSOR_PROPERTIES_ARM), + pNext(nullptr), + tensorDescriptorSize(), + tensorDescriptorAlignment(), + tensorCaptureReplayOpaqueDataSize() {} + +safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM( + const safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM& copy_src) { + sType = copy_src.sType; + tensorDescriptorSize = copy_src.tensorDescriptorSize; + tensorDescriptorAlignment = copy_src.tensorDescriptorAlignment; + tensorCaptureReplayOpaqueDataSize = copy_src.tensorCaptureReplayOpaqueDataSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM& safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::operator=( + const safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorDescriptorSize = copy_src.tensorDescriptorSize; + tensorDescriptorAlignment = copy_src.tensorDescriptorAlignment; + tensorCaptureReplayOpaqueDataSize = copy_src.tensorCaptureReplayOpaqueDataSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::~safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::initialize( + const VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensorDescriptorSize = in_struct->tensorDescriptorSize; + tensorDescriptorAlignment = in_struct->tensorDescriptorAlignment; + tensorCaptureReplayOpaqueDataSize = in_struct->tensorCaptureReplayOpaqueDataSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM::initialize( + const safe_VkPhysicalDeviceDescriptorHeapTensorPropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorDescriptorSize = copy_src->tensorDescriptorSize; + tensorDescriptorAlignment = copy_src->tensorDescriptorAlignment; + tensorCaptureReplayOpaqueDataSize = copy_src->tensorCaptureReplayOpaqueDataSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkAttachmentSampleCountInfoAMD::safe_VkAttachmentSampleCountInfoAMD(const VkAttachmentSampleCountInfoAMD* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -4526,6 +4759,60 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM( + const VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), cooperativeMatrixConversion(in_struct->cooperativeMatrixConversion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_CONVERSION_FEATURES_QCOM), + pNext(nullptr), + cooperativeMatrixConversion() {} + +safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM( + const safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM& copy_src) { + sType = copy_src.sType; + cooperativeMatrixConversion = copy_src.cooperativeMatrixConversion; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM& +safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::operator=( + const safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + cooperativeMatrixConversion = copy_src.cooperativeMatrixConversion; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::~safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::initialize( + const VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + cooperativeMatrixConversion = in_struct->cooperativeMatrixConversion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM::initialize( + const safe_VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + cooperativeMatrixConversion = copy_src->cooperativeMatrixConversion; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPipelineCompilerControlCreateInfoAMD::safe_VkPipelineCompilerControlCreateInfoAMD( const VkPipelineCompilerControlCreateInfoAMD* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), compilerControlFlags(in_struct->compilerControlFlags) { @@ -7910,6 +8197,151 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPerfHintInfoQCOM::safe_VkPerfHintInfoQCOM(const VkPerfHintInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), type(in_struct->type), scale(in_struct->scale) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPerfHintInfoQCOM::safe_VkPerfHintInfoQCOM() + : sType(VK_STRUCTURE_TYPE_PERF_HINT_INFO_QCOM), pNext(nullptr), type(), scale() {} + +safe_VkPerfHintInfoQCOM::safe_VkPerfHintInfoQCOM(const safe_VkPerfHintInfoQCOM& copy_src) { + sType = copy_src.sType; + type = copy_src.type; + scale = copy_src.scale; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPerfHintInfoQCOM& safe_VkPerfHintInfoQCOM::operator=(const safe_VkPerfHintInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + type = copy_src.type; + scale = copy_src.scale; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPerfHintInfoQCOM::~safe_VkPerfHintInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkPerfHintInfoQCOM::initialize(const VkPerfHintInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + type = in_struct->type; + scale = in_struct->scale; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPerfHintInfoQCOM::initialize(const safe_VkPerfHintInfoQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + type = copy_src->type; + scale = copy_src->scale; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM( + const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), queuePerfHint(in_struct->queuePerfHint) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_FEATURES_QCOM), pNext(nullptr), queuePerfHint() {} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM( + const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src) { + sType = copy_src.sType; + queuePerfHint = copy_src.queuePerfHint; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::operator=( + const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + queuePerfHint = copy_src.queuePerfHint; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::~safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::initialize(const VkPhysicalDeviceQueuePerfHintFeaturesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + queuePerfHint = in_struct->queuePerfHint; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM::initialize(const safe_VkPhysicalDeviceQueuePerfHintFeaturesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + queuePerfHint = copy_src->queuePerfHint; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM( + const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), supportedQueues(in_struct->supportedQueues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_PERF_HINT_PROPERTIES_QCOM), pNext(nullptr), supportedQueues() {} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM( + const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src) { + sType = copy_src.sType; + supportedQueues = copy_src.supportedQueues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::operator=( + const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + supportedQueues = copy_src.supportedQueues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::~safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::initialize(const VkPhysicalDeviceQueuePerfHintPropertiesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + supportedQueues = in_struct->supportedQueues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM::initialize(const safe_VkPhysicalDeviceQueuePerfHintPropertiesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + supportedQueues = copy_src->supportedQueues; + pNext = SafePnextCopy(copy_src->pNext); +} +#ifdef VK_ENABLE_BETA_EXTENSIONS + safe_VkCudaModuleCreateInfoNV::safe_VkCudaModuleCreateInfoNV(const VkCudaModuleCreateInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), dataSize(in_struct->dataSize), pData(nullptr) { @@ -8272,6 +8704,376 @@ computeCapabilityMajor = copy_src->computeCapabilityMajor; pNext = SafePnextCopy(copy_src->pNext); } +#endif // VK_ENABLE_BETA_EXTENSIONS + +safe_VkPhysicalDeviceTileShadingFeaturesQCOM::safe_VkPhysicalDeviceTileShadingFeaturesQCOM( + const VkPhysicalDeviceTileShadingFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + tileShading(in_struct->tileShading), + tileShadingFragmentStage(in_struct->tileShadingFragmentStage), + tileShadingColorAttachments(in_struct->tileShadingColorAttachments), + tileShadingDepthAttachments(in_struct->tileShadingDepthAttachments), + tileShadingStencilAttachments(in_struct->tileShadingStencilAttachments), + tileShadingInputAttachments(in_struct->tileShadingInputAttachments), + tileShadingSampledAttachments(in_struct->tileShadingSampledAttachments), + tileShadingPerTileDraw(in_struct->tileShadingPerTileDraw), + tileShadingPerTileDispatch(in_struct->tileShadingPerTileDispatch), + tileShadingDispatchTile(in_struct->tileShadingDispatchTile), + tileShadingApron(in_struct->tileShadingApron), + tileShadingAnisotropicApron(in_struct->tileShadingAnisotropicApron), + tileShadingAtomicOps(in_struct->tileShadingAtomicOps), + tileShadingImageProcessing(in_struct->tileShadingImageProcessing) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTileShadingFeaturesQCOM::safe_VkPhysicalDeviceTileShadingFeaturesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_FEATURES_QCOM), + pNext(nullptr), + tileShading(), + tileShadingFragmentStage(), + tileShadingColorAttachments(), + tileShadingDepthAttachments(), + tileShadingStencilAttachments(), + tileShadingInputAttachments(), + tileShadingSampledAttachments(), + tileShadingPerTileDraw(), + tileShadingPerTileDispatch(), + tileShadingDispatchTile(), + tileShadingApron(), + tileShadingAnisotropicApron(), + tileShadingAtomicOps(), + tileShadingImageProcessing() {} + +safe_VkPhysicalDeviceTileShadingFeaturesQCOM::safe_VkPhysicalDeviceTileShadingFeaturesQCOM( + const safe_VkPhysicalDeviceTileShadingFeaturesQCOM& copy_src) { + sType = copy_src.sType; + tileShading = copy_src.tileShading; + tileShadingFragmentStage = copy_src.tileShadingFragmentStage; + tileShadingColorAttachments = copy_src.tileShadingColorAttachments; + tileShadingDepthAttachments = copy_src.tileShadingDepthAttachments; + tileShadingStencilAttachments = copy_src.tileShadingStencilAttachments; + tileShadingInputAttachments = copy_src.tileShadingInputAttachments; + tileShadingSampledAttachments = copy_src.tileShadingSampledAttachments; + tileShadingPerTileDraw = copy_src.tileShadingPerTileDraw; + tileShadingPerTileDispatch = copy_src.tileShadingPerTileDispatch; + tileShadingDispatchTile = copy_src.tileShadingDispatchTile; + tileShadingApron = copy_src.tileShadingApron; + tileShadingAnisotropicApron = copy_src.tileShadingAnisotropicApron; + tileShadingAtomicOps = copy_src.tileShadingAtomicOps; + tileShadingImageProcessing = copy_src.tileShadingImageProcessing; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTileShadingFeaturesQCOM& safe_VkPhysicalDeviceTileShadingFeaturesQCOM::operator=( + const safe_VkPhysicalDeviceTileShadingFeaturesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tileShading = copy_src.tileShading; + tileShadingFragmentStage = copy_src.tileShadingFragmentStage; + tileShadingColorAttachments = copy_src.tileShadingColorAttachments; + tileShadingDepthAttachments = copy_src.tileShadingDepthAttachments; + tileShadingStencilAttachments = copy_src.tileShadingStencilAttachments; + tileShadingInputAttachments = copy_src.tileShadingInputAttachments; + tileShadingSampledAttachments = copy_src.tileShadingSampledAttachments; + tileShadingPerTileDraw = copy_src.tileShadingPerTileDraw; + tileShadingPerTileDispatch = copy_src.tileShadingPerTileDispatch; + tileShadingDispatchTile = copy_src.tileShadingDispatchTile; + tileShadingApron = copy_src.tileShadingApron; + tileShadingAnisotropicApron = copy_src.tileShadingAnisotropicApron; + tileShadingAtomicOps = copy_src.tileShadingAtomicOps; + tileShadingImageProcessing = copy_src.tileShadingImageProcessing; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTileShadingFeaturesQCOM::~safe_VkPhysicalDeviceTileShadingFeaturesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTileShadingFeaturesQCOM::initialize(const VkPhysicalDeviceTileShadingFeaturesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tileShading = in_struct->tileShading; + tileShadingFragmentStage = in_struct->tileShadingFragmentStage; + tileShadingColorAttachments = in_struct->tileShadingColorAttachments; + tileShadingDepthAttachments = in_struct->tileShadingDepthAttachments; + tileShadingStencilAttachments = in_struct->tileShadingStencilAttachments; + tileShadingInputAttachments = in_struct->tileShadingInputAttachments; + tileShadingSampledAttachments = in_struct->tileShadingSampledAttachments; + tileShadingPerTileDraw = in_struct->tileShadingPerTileDraw; + tileShadingPerTileDispatch = in_struct->tileShadingPerTileDispatch; + tileShadingDispatchTile = in_struct->tileShadingDispatchTile; + tileShadingApron = in_struct->tileShadingApron; + tileShadingAnisotropicApron = in_struct->tileShadingAnisotropicApron; + tileShadingAtomicOps = in_struct->tileShadingAtomicOps; + tileShadingImageProcessing = in_struct->tileShadingImageProcessing; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTileShadingFeaturesQCOM::initialize(const safe_VkPhysicalDeviceTileShadingFeaturesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tileShading = copy_src->tileShading; + tileShadingFragmentStage = copy_src->tileShadingFragmentStage; + tileShadingColorAttachments = copy_src->tileShadingColorAttachments; + tileShadingDepthAttachments = copy_src->tileShadingDepthAttachments; + tileShadingStencilAttachments = copy_src->tileShadingStencilAttachments; + tileShadingInputAttachments = copy_src->tileShadingInputAttachments; + tileShadingSampledAttachments = copy_src->tileShadingSampledAttachments; + tileShadingPerTileDraw = copy_src->tileShadingPerTileDraw; + tileShadingPerTileDispatch = copy_src->tileShadingPerTileDispatch; + tileShadingDispatchTile = copy_src->tileShadingDispatchTile; + tileShadingApron = copy_src->tileShadingApron; + tileShadingAnisotropicApron = copy_src->tileShadingAnisotropicApron; + tileShadingAtomicOps = copy_src->tileShadingAtomicOps; + tileShadingImageProcessing = copy_src->tileShadingImageProcessing; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceTileShadingPropertiesQCOM::safe_VkPhysicalDeviceTileShadingPropertiesQCOM( + const VkPhysicalDeviceTileShadingPropertiesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + maxApronSize(in_struct->maxApronSize), + preferNonCoherent(in_struct->preferNonCoherent), + tileGranularity(in_struct->tileGranularity), + maxTileShadingRate(in_struct->maxTileShadingRate) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTileShadingPropertiesQCOM::safe_VkPhysicalDeviceTileShadingPropertiesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_SHADING_PROPERTIES_QCOM), + pNext(nullptr), + maxApronSize(), + preferNonCoherent(), + tileGranularity(), + maxTileShadingRate() {} + +safe_VkPhysicalDeviceTileShadingPropertiesQCOM::safe_VkPhysicalDeviceTileShadingPropertiesQCOM( + const safe_VkPhysicalDeviceTileShadingPropertiesQCOM& copy_src) { + sType = copy_src.sType; + maxApronSize = copy_src.maxApronSize; + preferNonCoherent = copy_src.preferNonCoherent; + tileGranularity = copy_src.tileGranularity; + maxTileShadingRate = copy_src.maxTileShadingRate; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTileShadingPropertiesQCOM& safe_VkPhysicalDeviceTileShadingPropertiesQCOM::operator=( + const safe_VkPhysicalDeviceTileShadingPropertiesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxApronSize = copy_src.maxApronSize; + preferNonCoherent = copy_src.preferNonCoherent; + tileGranularity = copy_src.tileGranularity; + maxTileShadingRate = copy_src.maxTileShadingRate; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTileShadingPropertiesQCOM::~safe_VkPhysicalDeviceTileShadingPropertiesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTileShadingPropertiesQCOM::initialize(const VkPhysicalDeviceTileShadingPropertiesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxApronSize = in_struct->maxApronSize; + preferNonCoherent = in_struct->preferNonCoherent; + tileGranularity = in_struct->tileGranularity; + maxTileShadingRate = in_struct->maxTileShadingRate; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTileShadingPropertiesQCOM::initialize(const safe_VkPhysicalDeviceTileShadingPropertiesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxApronSize = copy_src->maxApronSize; + preferNonCoherent = copy_src->preferNonCoherent; + tileGranularity = copy_src->tileGranularity; + maxTileShadingRate = copy_src->maxTileShadingRate; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRenderPassTileShadingCreateInfoQCOM::safe_VkRenderPassTileShadingCreateInfoQCOM( + const VkRenderPassTileShadingCreateInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), tileApronSize(in_struct->tileApronSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkRenderPassTileShadingCreateInfoQCOM::safe_VkRenderPassTileShadingCreateInfoQCOM() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_TILE_SHADING_CREATE_INFO_QCOM), pNext(nullptr), flags(), tileApronSize() {} + +safe_VkRenderPassTileShadingCreateInfoQCOM::safe_VkRenderPassTileShadingCreateInfoQCOM( + const safe_VkRenderPassTileShadingCreateInfoQCOM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + tileApronSize = copy_src.tileApronSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkRenderPassTileShadingCreateInfoQCOM& safe_VkRenderPassTileShadingCreateInfoQCOM::operator=( + const safe_VkRenderPassTileShadingCreateInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + tileApronSize = copy_src.tileApronSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkRenderPassTileShadingCreateInfoQCOM::~safe_VkRenderPassTileShadingCreateInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkRenderPassTileShadingCreateInfoQCOM::initialize(const VkRenderPassTileShadingCreateInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + tileApronSize = in_struct->tileApronSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkRenderPassTileShadingCreateInfoQCOM::initialize(const safe_VkRenderPassTileShadingCreateInfoQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + tileApronSize = copy_src->tileApronSize; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPerTileBeginInfoQCOM::safe_VkPerTileBeginInfoQCOM(const VkPerTileBeginInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPerTileBeginInfoQCOM::safe_VkPerTileBeginInfoQCOM() : sType(VK_STRUCTURE_TYPE_PER_TILE_BEGIN_INFO_QCOM), pNext(nullptr) {} + +safe_VkPerTileBeginInfoQCOM::safe_VkPerTileBeginInfoQCOM(const safe_VkPerTileBeginInfoQCOM& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPerTileBeginInfoQCOM& safe_VkPerTileBeginInfoQCOM::operator=(const safe_VkPerTileBeginInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPerTileBeginInfoQCOM::~safe_VkPerTileBeginInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkPerTileBeginInfoQCOM::initialize(const VkPerTileBeginInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPerTileBeginInfoQCOM::initialize(const safe_VkPerTileBeginInfoQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPerTileEndInfoQCOM::safe_VkPerTileEndInfoQCOM(const VkPerTileEndInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPerTileEndInfoQCOM::safe_VkPerTileEndInfoQCOM() : sType(VK_STRUCTURE_TYPE_PER_TILE_END_INFO_QCOM), pNext(nullptr) {} + +safe_VkPerTileEndInfoQCOM::safe_VkPerTileEndInfoQCOM(const safe_VkPerTileEndInfoQCOM& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPerTileEndInfoQCOM& safe_VkPerTileEndInfoQCOM::operator=(const safe_VkPerTileEndInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPerTileEndInfoQCOM::~safe_VkPerTileEndInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkPerTileEndInfoQCOM::initialize(const VkPerTileEndInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPerTileEndInfoQCOM::initialize(const safe_VkPerTileEndInfoQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDispatchTileInfoQCOM::safe_VkDispatchTileInfoQCOM(const VkDispatchTileInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDispatchTileInfoQCOM::safe_VkDispatchTileInfoQCOM() : sType(VK_STRUCTURE_TYPE_DISPATCH_TILE_INFO_QCOM), pNext(nullptr) {} + +safe_VkDispatchTileInfoQCOM::safe_VkDispatchTileInfoQCOM(const safe_VkDispatchTileInfoQCOM& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDispatchTileInfoQCOM& safe_VkDispatchTileInfoQCOM::operator=(const safe_VkDispatchTileInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDispatchTileInfoQCOM::~safe_VkDispatchTileInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkDispatchTileInfoQCOM::initialize(const VkDispatchTileInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDispatchTileInfoQCOM::initialize(const safe_VkDispatchTileInfoQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} safe_VkQueryLowLatencySupportNV::safe_VkQueryLowLatencySupportNV(const VkQueryLowLatencySupportNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -10123,6 +10925,247 @@ window = copy_src->window; } #endif // VK_USE_PLATFORM_SCREEN_QNX + +safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE( + const VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), videoEncodeRgbConversion(in_struct->videoEncodeRgbConversion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_RGB_CONVERSION_FEATURES_VALVE), + pNext(nullptr), + videoEncodeRgbConversion() {} + +safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE( + const safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE& copy_src) { + sType = copy_src.sType; + videoEncodeRgbConversion = copy_src.videoEncodeRgbConversion; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE& safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::operator=( + const safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + videoEncodeRgbConversion = copy_src.videoEncodeRgbConversion; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::~safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::initialize( + const VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + videoEncodeRgbConversion = in_struct->videoEncodeRgbConversion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE::initialize( + const safe_VkPhysicalDeviceVideoEncodeRgbConversionFeaturesVALVE* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + videoEncodeRgbConversion = copy_src->videoEncodeRgbConversion; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::safe_VkVideoEncodeRgbConversionCapabilitiesVALVE( + const VkVideoEncodeRgbConversionCapabilitiesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + rgbModels(in_struct->rgbModels), + rgbRanges(in_struct->rgbRanges), + xChromaOffsets(in_struct->xChromaOffsets), + yChromaOffsets(in_struct->yChromaOffsets) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::safe_VkVideoEncodeRgbConversionCapabilitiesVALVE() + : sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_RGB_CONVERSION_CAPABILITIES_VALVE), + pNext(nullptr), + rgbModels(), + rgbRanges(), + xChromaOffsets(), + yChromaOffsets() {} + +safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::safe_VkVideoEncodeRgbConversionCapabilitiesVALVE( + const safe_VkVideoEncodeRgbConversionCapabilitiesVALVE& copy_src) { + sType = copy_src.sType; + rgbModels = copy_src.rgbModels; + rgbRanges = copy_src.rgbRanges; + xChromaOffsets = copy_src.xChromaOffsets; + yChromaOffsets = copy_src.yChromaOffsets; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoEncodeRgbConversionCapabilitiesVALVE& safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::operator=( + const safe_VkVideoEncodeRgbConversionCapabilitiesVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rgbModels = copy_src.rgbModels; + rgbRanges = copy_src.rgbRanges; + xChromaOffsets = copy_src.xChromaOffsets; + yChromaOffsets = copy_src.yChromaOffsets; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::~safe_VkVideoEncodeRgbConversionCapabilitiesVALVE() { FreePnextChain(pNext); } + +void safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::initialize(const VkVideoEncodeRgbConversionCapabilitiesVALVE* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rgbModels = in_struct->rgbModels; + rgbRanges = in_struct->rgbRanges; + xChromaOffsets = in_struct->xChromaOffsets; + yChromaOffsets = in_struct->yChromaOffsets; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoEncodeRgbConversionCapabilitiesVALVE::initialize(const safe_VkVideoEncodeRgbConversionCapabilitiesVALVE* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rgbModels = copy_src->rgbModels; + rgbRanges = copy_src->rgbRanges; + xChromaOffsets = copy_src->xChromaOffsets; + yChromaOffsets = copy_src->yChromaOffsets; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoEncodeProfileRgbConversionInfoVALVE::safe_VkVideoEncodeProfileRgbConversionInfoVALVE( + const VkVideoEncodeProfileRgbConversionInfoVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), performEncodeRgbConversion(in_struct->performEncodeRgbConversion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoEncodeProfileRgbConversionInfoVALVE::safe_VkVideoEncodeProfileRgbConversionInfoVALVE() + : sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_PROFILE_RGB_CONVERSION_INFO_VALVE), pNext(nullptr), performEncodeRgbConversion() {} + +safe_VkVideoEncodeProfileRgbConversionInfoVALVE::safe_VkVideoEncodeProfileRgbConversionInfoVALVE( + const safe_VkVideoEncodeProfileRgbConversionInfoVALVE& copy_src) { + sType = copy_src.sType; + performEncodeRgbConversion = copy_src.performEncodeRgbConversion; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoEncodeProfileRgbConversionInfoVALVE& safe_VkVideoEncodeProfileRgbConversionInfoVALVE::operator=( + const safe_VkVideoEncodeProfileRgbConversionInfoVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + performEncodeRgbConversion = copy_src.performEncodeRgbConversion; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoEncodeProfileRgbConversionInfoVALVE::~safe_VkVideoEncodeProfileRgbConversionInfoVALVE() { FreePnextChain(pNext); } + +void safe_VkVideoEncodeProfileRgbConversionInfoVALVE::initialize(const VkVideoEncodeProfileRgbConversionInfoVALVE* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + performEncodeRgbConversion = in_struct->performEncodeRgbConversion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoEncodeProfileRgbConversionInfoVALVE::initialize(const safe_VkVideoEncodeProfileRgbConversionInfoVALVE* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + performEncodeRgbConversion = copy_src->performEncodeRgbConversion; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE( + const VkVideoEncodeSessionRgbConversionCreateInfoVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + rgbModel(in_struct->rgbModel), + rgbRange(in_struct->rgbRange), + xChromaOffset(in_struct->xChromaOffset), + yChromaOffset(in_struct->yChromaOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE() + : sType(VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_RGB_CONVERSION_CREATE_INFO_VALVE), + pNext(nullptr), + rgbModel(), + rgbRange(), + xChromaOffset(), + yChromaOffset() {} + +safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE( + const safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE& copy_src) { + sType = copy_src.sType; + rgbModel = copy_src.rgbModel; + rgbRange = copy_src.rgbRange; + xChromaOffset = copy_src.xChromaOffset; + yChromaOffset = copy_src.yChromaOffset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE& safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::operator=( + const safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + rgbModel = copy_src.rgbModel; + rgbRange = copy_src.rgbRange; + xChromaOffset = copy_src.xChromaOffset; + yChromaOffset = copy_src.yChromaOffset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::~safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE() { + FreePnextChain(pNext); +} + +void safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::initialize( + const VkVideoEncodeSessionRgbConversionCreateInfoVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + rgbModel = in_struct->rgbModel; + rgbRange = in_struct->rgbRange; + xChromaOffset = in_struct->xChromaOffset; + yChromaOffset = in_struct->yChromaOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE::initialize( + const safe_VkVideoEncodeSessionRgbConversionCreateInfoVALVE* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + rgbModel = copy_src->rgbModel; + rgbRange = copy_src->rgbRange; + xChromaOffset = copy_src->xChromaOffset; + yChromaOffset = copy_src->yChromaOffset; + pNext = SafePnextCopy(copy_src->pNext); +} #ifdef VK_ENABLE_BETA_EXTENSIONS safe_VkPhysicalDeviceDisplacementMicromapFeaturesNV::safe_VkPhysicalDeviceDisplacementMicromapFeaturesNV( @@ -10226,6 +11269,234 @@ maxDisplacementMicromapSubdivisionLevel = copy_src->maxDisplacementMicromapSubdivisionLevel; pNext = SafePnextCopy(copy_src->pNext); } + +safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::safe_VkAccelerationStructureTrianglesDisplacementMicromapNV( + const VkAccelerationStructureTrianglesDisplacementMicromapNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + displacementBiasAndScaleFormat(in_struct->displacementBiasAndScaleFormat), + displacementVectorFormat(in_struct->displacementVectorFormat), + displacementBiasAndScaleBuffer(&in_struct->displacementBiasAndScaleBuffer), + displacementBiasAndScaleStride(in_struct->displacementBiasAndScaleStride), + displacementVectorBuffer(&in_struct->displacementVectorBuffer), + displacementVectorStride(in_struct->displacementVectorStride), + displacedMicromapPrimitiveFlags(&in_struct->displacedMicromapPrimitiveFlags), + displacedMicromapPrimitiveFlagsStride(in_struct->displacedMicromapPrimitiveFlagsStride), + indexType(in_struct->indexType), + indexBuffer(&in_struct->indexBuffer), + indexStride(in_struct->indexStride), + baseTriangle(in_struct->baseTriangle), + usageCountsCount(in_struct->usageCountsCount), + pUsageCounts(nullptr), + ppUsageCounts(nullptr), + micromap(in_struct->micromap) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); + } + + if (in_struct->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::safe_VkAccelerationStructureTrianglesDisplacementMicromapNV() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV), + pNext(nullptr), + displacementBiasAndScaleFormat(), + displacementVectorFormat(), + displacementBiasAndScaleStride(), + displacementVectorStride(), + displacedMicromapPrimitiveFlagsStride(), + indexType(), + indexStride(), + baseTriangle(), + usageCountsCount(), + pUsageCounts(nullptr), + ppUsageCounts(nullptr), + micromap() {} + +safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::safe_VkAccelerationStructureTrianglesDisplacementMicromapNV( + const safe_VkAccelerationStructureTrianglesDisplacementMicromapNV& copy_src) { + sType = copy_src.sType; + displacementBiasAndScaleFormat = copy_src.displacementBiasAndScaleFormat; + displacementVectorFormat = copy_src.displacementVectorFormat; + displacementBiasAndScaleBuffer.initialize(©_src.displacementBiasAndScaleBuffer); + displacementBiasAndScaleStride = copy_src.displacementBiasAndScaleStride; + displacementVectorBuffer.initialize(©_src.displacementVectorBuffer); + displacementVectorStride = copy_src.displacementVectorStride; + displacedMicromapPrimitiveFlags.initialize(©_src.displacedMicromapPrimitiveFlags); + displacedMicromapPrimitiveFlagsStride = copy_src.displacedMicromapPrimitiveFlagsStride; + indexType = copy_src.indexType; + indexBuffer.initialize(©_src.indexBuffer); + indexStride = copy_src.indexStride; + baseTriangle = copy_src.baseTriangle; + usageCountsCount = copy_src.usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = copy_src.micromap; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); + } + + if (copy_src.ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; + for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +safe_VkAccelerationStructureTrianglesDisplacementMicromapNV& safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::operator=( + const safe_VkAccelerationStructureTrianglesDisplacementMicromapNV& copy_src) { + if (©_src == this) return *this; + + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); + + sType = copy_src.sType; + displacementBiasAndScaleFormat = copy_src.displacementBiasAndScaleFormat; + displacementVectorFormat = copy_src.displacementVectorFormat; + displacementBiasAndScaleBuffer.initialize(©_src.displacementBiasAndScaleBuffer); + displacementBiasAndScaleStride = copy_src.displacementBiasAndScaleStride; + displacementVectorBuffer.initialize(©_src.displacementVectorBuffer); + displacementVectorStride = copy_src.displacementVectorStride; + displacedMicromapPrimitiveFlags.initialize(©_src.displacedMicromapPrimitiveFlags); + displacedMicromapPrimitiveFlagsStride = copy_src.displacedMicromapPrimitiveFlagsStride; + indexType = copy_src.indexType; + indexBuffer.initialize(©_src.indexBuffer); + indexStride = copy_src.indexStride; + baseTriangle = copy_src.baseTriangle; + usageCountsCount = copy_src.usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = copy_src.micromap; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src.usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src.pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src.usageCountsCount); + } + + if (copy_src.ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src.usageCountsCount]; + for (uint32_t i = 0; i < copy_src.usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src.ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } + + return *this; +} + +safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::~safe_VkAccelerationStructureTrianglesDisplacementMicromapNV() { + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); +} + +void safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::initialize( + const VkAccelerationStructureTrianglesDisplacementMicromapNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pUsageCounts) delete[] pUsageCounts; + + if (ppUsageCounts) { + for (uint32_t i = 0; i < usageCountsCount; ++i) { + delete ppUsageCounts[i]; + } + delete[] ppUsageCounts; + } + FreePnextChain(pNext); + sType = in_struct->sType; + displacementBiasAndScaleFormat = in_struct->displacementBiasAndScaleFormat; + displacementVectorFormat = in_struct->displacementVectorFormat; + displacementBiasAndScaleBuffer.initialize(&in_struct->displacementBiasAndScaleBuffer); + displacementBiasAndScaleStride = in_struct->displacementBiasAndScaleStride; + displacementVectorBuffer.initialize(&in_struct->displacementVectorBuffer); + displacementVectorStride = in_struct->displacementVectorStride; + displacedMicromapPrimitiveFlags.initialize(&in_struct->displacedMicromapPrimitiveFlags); + displacedMicromapPrimitiveFlagsStride = in_struct->displacedMicromapPrimitiveFlagsStride; + indexType = in_struct->indexType; + indexBuffer.initialize(&in_struct->indexBuffer); + indexStride = in_struct->indexStride; + baseTriangle = in_struct->baseTriangle; + usageCountsCount = in_struct->usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = in_struct->micromap; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[in_struct->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)in_struct->pUsageCounts, sizeof(VkMicromapUsageEXT) * in_struct->usageCountsCount); + } + + if (in_struct->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[in_struct->usageCountsCount]; + for (uint32_t i = 0; i < in_struct->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*in_struct->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} + +void safe_VkAccelerationStructureTrianglesDisplacementMicromapNV::initialize( + const safe_VkAccelerationStructureTrianglesDisplacementMicromapNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + displacementBiasAndScaleFormat = copy_src->displacementBiasAndScaleFormat; + displacementVectorFormat = copy_src->displacementVectorFormat; + displacementBiasAndScaleBuffer.initialize(©_src->displacementBiasAndScaleBuffer); + displacementBiasAndScaleStride = copy_src->displacementBiasAndScaleStride; + displacementVectorBuffer.initialize(©_src->displacementVectorBuffer); + displacementVectorStride = copy_src->displacementVectorStride; + displacedMicromapPrimitiveFlags.initialize(©_src->displacedMicromapPrimitiveFlags); + displacedMicromapPrimitiveFlagsStride = copy_src->displacedMicromapPrimitiveFlagsStride; + indexType = copy_src->indexType; + indexBuffer.initialize(©_src->indexBuffer); + indexStride = copy_src->indexStride; + baseTriangle = copy_src->baseTriangle; + usageCountsCount = copy_src->usageCountsCount; + pUsageCounts = nullptr; + ppUsageCounts = nullptr; + micromap = copy_src->micromap; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pUsageCounts) { + pUsageCounts = new VkMicromapUsageEXT[copy_src->usageCountsCount]; + memcpy((void*)pUsageCounts, (void*)copy_src->pUsageCounts, sizeof(VkMicromapUsageEXT) * copy_src->usageCountsCount); + } + + if (copy_src->ppUsageCounts) { + VkMicromapUsageEXT** pointer_array = new VkMicromapUsageEXT*[copy_src->usageCountsCount]; + for (uint32_t i = 0; i < copy_src->usageCountsCount; ++i) { + pointer_array[i] = new VkMicromapUsageEXT(*copy_src->ppUsageCounts[i]); + } + ppUsageCounts = pointer_array; + } +} #endif // VK_ENABLE_BETA_EXTENSIONS safe_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI::safe_VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI( @@ -10640,6 +11911,140 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkDispatchParametersARM::safe_VkDispatchParametersARM(const VkDispatchParametersARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + workGroupBatchSize(in_struct->workGroupBatchSize), + maxQueuedWorkGroupBatches(in_struct->maxQueuedWorkGroupBatches), + maxWarpsPerShaderCore(in_struct->maxWarpsPerShaderCore) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDispatchParametersARM::safe_VkDispatchParametersARM() + : sType(VK_STRUCTURE_TYPE_DISPATCH_PARAMETERS_ARM), + pNext(nullptr), + workGroupBatchSize(), + maxQueuedWorkGroupBatches(), + maxWarpsPerShaderCore() {} + +safe_VkDispatchParametersARM::safe_VkDispatchParametersARM(const safe_VkDispatchParametersARM& copy_src) { + sType = copy_src.sType; + workGroupBatchSize = copy_src.workGroupBatchSize; + maxQueuedWorkGroupBatches = copy_src.maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = copy_src.maxWarpsPerShaderCore; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDispatchParametersARM& safe_VkDispatchParametersARM::operator=(const safe_VkDispatchParametersARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + workGroupBatchSize = copy_src.workGroupBatchSize; + maxQueuedWorkGroupBatches = copy_src.maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = copy_src.maxWarpsPerShaderCore; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDispatchParametersARM::~safe_VkDispatchParametersARM() { FreePnextChain(pNext); } + +void safe_VkDispatchParametersARM::initialize(const VkDispatchParametersARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + workGroupBatchSize = in_struct->workGroupBatchSize; + maxQueuedWorkGroupBatches = in_struct->maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = in_struct->maxWarpsPerShaderCore; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDispatchParametersARM::initialize(const safe_VkDispatchParametersARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + workGroupBatchSize = copy_src->workGroupBatchSize; + maxQueuedWorkGroupBatches = copy_src->maxQueuedWorkGroupBatches; + maxWarpsPerShaderCore = copy_src->maxWarpsPerShaderCore; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + schedulingControlsMaxWarpsCount(in_struct->schedulingControlsMaxWarpsCount), + schedulingControlsMaxQueuedBatchesCount(in_struct->schedulingControlsMaxQueuedBatchesCount), + schedulingControlsMaxWorkGroupBatchSize(in_struct->schedulingControlsMaxWorkGroupBatchSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_DISPATCH_PARAMETERS_PROPERTIES_ARM), + pNext(nullptr), + schedulingControlsMaxWarpsCount(), + schedulingControlsMaxQueuedBatchesCount(), + schedulingControlsMaxWorkGroupBatchSize() {} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src) { + sType = copy_src.sType; + schedulingControlsMaxWarpsCount = copy_src.schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = copy_src.schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = copy_src.schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM::operator=( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + schedulingControlsMaxWarpsCount = copy_src.schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = copy_src.schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = copy_src.schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM:: + ~safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM::initialize( + const VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + schedulingControlsMaxWarpsCount = in_struct->schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = in_struct->schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = in_struct->schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM::initialize( + const safe_VkPhysicalDeviceSchedulingControlsDispatchParametersPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + schedulingControlsMaxWarpsCount = copy_src->schedulingControlsMaxWarpsCount; + schedulingControlsMaxQueuedBatchesCount = copy_src->schedulingControlsMaxQueuedBatchesCount; + schedulingControlsMaxWorkGroupBatchSize = copy_src->schedulingControlsMaxWorkGroupBatchSize; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE::safe_VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE( const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -11130,201 +12535,6 @@ } } -safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( - const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), fragmentDensityMapOffset(in_struct->fragmentDensityMapOffset) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM), - pNext(nullptr), - fragmentDensityMapOffset() {} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& copy_src) { - sType = copy_src.sType; - fragmentDensityMapOffset = copy_src.fragmentDensityMapOffset; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::operator=( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - fragmentDensityMapOffset = copy_src.fragmentDensityMapOffset; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::~safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::initialize( - const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - fragmentDensityMapOffset = in_struct->fragmentDensityMapOffset; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM::initialize( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - fragmentDensityMapOffset = copy_src->fragmentDensityMapOffset; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( - const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, - bool copy_pnext) - : sType(in_struct->sType), fragmentDensityOffsetGranularity(in_struct->fragmentDensityOffsetGranularity) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM), - pNext(nullptr), - fragmentDensityOffsetGranularity() {} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& copy_src) { - sType = copy_src.sType; - fragmentDensityOffsetGranularity = copy_src.fragmentDensityOffsetGranularity; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::operator=( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - fragmentDensityOffsetGranularity = copy_src.fragmentDensityOffsetGranularity; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::~safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::initialize( - const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - fragmentDensityOffsetGranularity = in_struct->fragmentDensityOffsetGranularity; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM::initialize( - const safe_VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - fragmentDensityOffsetGranularity = copy_src->fragmentDensityOffsetGranularity; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM( - const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), fragmentDensityOffsetCount(in_struct->fragmentDensityOffsetCount), pFragmentDensityOffsets(nullptr) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } - if (in_struct->pFragmentDensityOffsets) { - pFragmentDensityOffsets = new VkOffset2D[in_struct->fragmentDensityOffsetCount]; - memcpy((void*)pFragmentDensityOffsets, (void*)in_struct->pFragmentDensityOffsets, - sizeof(VkOffset2D) * in_struct->fragmentDensityOffsetCount); - } -} - -safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM() - : sType(VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM), - pNext(nullptr), - fragmentDensityOffsetCount(), - pFragmentDensityOffsets(nullptr) {} - -safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM( - const safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM& copy_src) { - sType = copy_src.sType; - fragmentDensityOffsetCount = copy_src.fragmentDensityOffsetCount; - pFragmentDensityOffsets = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pFragmentDensityOffsets) { - pFragmentDensityOffsets = new VkOffset2D[copy_src.fragmentDensityOffsetCount]; - memcpy((void*)pFragmentDensityOffsets, (void*)copy_src.pFragmentDensityOffsets, - sizeof(VkOffset2D) * copy_src.fragmentDensityOffsetCount); - } -} - -safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM& safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::operator=( - const safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM& copy_src) { - if (©_src == this) return *this; - - if (pFragmentDensityOffsets) delete[] pFragmentDensityOffsets; - FreePnextChain(pNext); - - sType = copy_src.sType; - fragmentDensityOffsetCount = copy_src.fragmentDensityOffsetCount; - pFragmentDensityOffsets = nullptr; - pNext = SafePnextCopy(copy_src.pNext); - - if (copy_src.pFragmentDensityOffsets) { - pFragmentDensityOffsets = new VkOffset2D[copy_src.fragmentDensityOffsetCount]; - memcpy((void*)pFragmentDensityOffsets, (void*)copy_src.pFragmentDensityOffsets, - sizeof(VkOffset2D) * copy_src.fragmentDensityOffsetCount); - } - - return *this; -} - -safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::~safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM() { - if (pFragmentDensityOffsets) delete[] pFragmentDensityOffsets; - FreePnextChain(pNext); -} - -void safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::initialize(const VkSubpassFragmentDensityMapOffsetEndInfoQCOM* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - if (pFragmentDensityOffsets) delete[] pFragmentDensityOffsets; - FreePnextChain(pNext); - sType = in_struct->sType; - fragmentDensityOffsetCount = in_struct->fragmentDensityOffsetCount; - pFragmentDensityOffsets = nullptr; - pNext = SafePnextCopy(in_struct->pNext, copy_state); - - if (in_struct->pFragmentDensityOffsets) { - pFragmentDensityOffsets = new VkOffset2D[in_struct->fragmentDensityOffsetCount]; - memcpy((void*)pFragmentDensityOffsets, (void*)in_struct->pFragmentDensityOffsets, - sizeof(VkOffset2D) * in_struct->fragmentDensityOffsetCount); - } -} - -void safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM::initialize( - const safe_VkSubpassFragmentDensityMapOffsetEndInfoQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - fragmentDensityOffsetCount = copy_src->fragmentDensityOffsetCount; - pFragmentDensityOffsets = nullptr; - pNext = SafePnextCopy(copy_src->pNext); - - if (copy_src->pFragmentDensityOffsets) { - pFragmentDensityOffsets = new VkOffset2D[copy_src->fragmentDensityOffsetCount]; - memcpy((void*)pFragmentDensityOffsets, (void*)copy_src->pFragmentDensityOffsets, - sizeof(VkOffset2D) * copy_src->fragmentDensityOffsetCount); - } -} - safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV::safe_VkPhysicalDeviceCopyMemoryIndirectFeaturesNV( const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), indirectCopy(in_struct->indirectCopy) { @@ -11373,163 +12583,6 @@ pNext = SafePnextCopy(copy_src->pNext); } -safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV( - const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), supportedQueues(in_struct->supportedQueues) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV), pNext(nullptr), supportedQueues() {} - -safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV( - const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV& copy_src) { - sType = copy_src.sType; - supportedQueues = copy_src.supportedQueues; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV& safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::operator=( - const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - supportedQueues = copy_src.supportedQueues; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::~safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::initialize( - const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - supportedQueues = in_struct->supportedQueues; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::initialize( - const safe_VkPhysicalDeviceCopyMemoryIndirectPropertiesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - supportedQueues = copy_src->supportedQueues; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV( - const VkPhysicalDeviceMemoryDecompressionFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), memoryDecompression(in_struct->memoryDecompression) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV), pNext(nullptr), memoryDecompression() {} - -safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV( - const safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV& copy_src) { - sType = copy_src.sType; - memoryDecompression = copy_src.memoryDecompression; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV& safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::operator=( - const safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - memoryDecompression = copy_src.memoryDecompression; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::~safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV() { FreePnextChain(pNext); } - -void safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::initialize(const VkPhysicalDeviceMemoryDecompressionFeaturesNV* in_struct, - [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - memoryDecompression = in_struct->memoryDecompression; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV::initialize( - const safe_VkPhysicalDeviceMemoryDecompressionFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - memoryDecompression = copy_src->memoryDecompression; - pNext = SafePnextCopy(copy_src->pNext); -} - -safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV( - const VkPhysicalDeviceMemoryDecompressionPropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) - : sType(in_struct->sType), - decompressionMethods(in_struct->decompressionMethods), - maxDecompressionIndirectCount(in_struct->maxDecompressionIndirectCount) { - if (copy_pnext) { - pNext = SafePnextCopy(in_struct->pNext, copy_state); - } -} - -safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV() - : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV), - pNext(nullptr), - decompressionMethods(), - maxDecompressionIndirectCount() {} - -safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV( - const safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV& copy_src) { - sType = copy_src.sType; - decompressionMethods = copy_src.decompressionMethods; - maxDecompressionIndirectCount = copy_src.maxDecompressionIndirectCount; - pNext = SafePnextCopy(copy_src.pNext); -} - -safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV& safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::operator=( - const safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV& copy_src) { - if (©_src == this) return *this; - - FreePnextChain(pNext); - - sType = copy_src.sType; - decompressionMethods = copy_src.decompressionMethods; - maxDecompressionIndirectCount = copy_src.maxDecompressionIndirectCount; - pNext = SafePnextCopy(copy_src.pNext); - - return *this; -} - -safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::~safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV() { - FreePnextChain(pNext); -} - -void safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::initialize( - const VkPhysicalDeviceMemoryDecompressionPropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { - FreePnextChain(pNext); - sType = in_struct->sType; - decompressionMethods = in_struct->decompressionMethods; - maxDecompressionIndirectCount = in_struct->maxDecompressionIndirectCount; - pNext = SafePnextCopy(in_struct->pNext, copy_state); -} - -void safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV::initialize( - const safe_VkPhysicalDeviceMemoryDecompressionPropertiesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { - sType = copy_src->sType; - decompressionMethods = copy_src->decompressionMethods; - maxDecompressionIndirectCount = copy_src->maxDecompressionIndirectCount; - pNext = SafePnextCopy(copy_src->pNext); -} - safe_VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::safe_VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV( const VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -11712,6 +12765,272 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV( + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), spheres(in_struct->spheres), linearSweptSpheres(in_struct->linearSweptSpheres) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV), + pNext(nullptr), + spheres(), + linearSweptSpheres() {} + +safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV( + const safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV& copy_src) { + sType = copy_src.sType; + spheres = copy_src.spheres; + linearSweptSpheres = copy_src.linearSweptSpheres; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV& safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::operator=( + const safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + spheres = copy_src.spheres; + linearSweptSpheres = copy_src.linearSweptSpheres; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::~safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::initialize( + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + spheres = in_struct->spheres; + linearSweptSpheres = in_struct->linearSweptSpheres; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV::initialize( + const safe_VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + spheres = copy_src->spheres; + linearSweptSpheres = copy_src->linearSweptSpheres; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV( + const VkAccelerationStructureGeometryLinearSweptSpheresDataNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + vertexFormat(in_struct->vertexFormat), + vertexData(&in_struct->vertexData), + vertexStride(in_struct->vertexStride), + radiusFormat(in_struct->radiusFormat), + radiusData(&in_struct->radiusData), + radiusStride(in_struct->radiusStride), + indexType(in_struct->indexType), + indexData(&in_struct->indexData), + indexStride(in_struct->indexStride), + indexingMode(in_struct->indexingMode), + endCapsMode(in_struct->endCapsMode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV), + pNext(nullptr), + vertexFormat(), + vertexStride(), + radiusFormat(), + radiusStride(), + indexType(), + indexStride(), + indexingMode(), + endCapsMode() {} + +safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV( + const safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV& copy_src) { + sType = copy_src.sType; + vertexFormat = copy_src.vertexFormat; + vertexData.initialize(©_src.vertexData); + vertexStride = copy_src.vertexStride; + radiusFormat = copy_src.radiusFormat; + radiusData.initialize(©_src.radiusData); + radiusStride = copy_src.radiusStride; + indexType = copy_src.indexType; + indexData.initialize(©_src.indexData); + indexStride = copy_src.indexStride; + indexingMode = copy_src.indexingMode; + endCapsMode = copy_src.endCapsMode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV& +safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::operator=( + const safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + vertexFormat = copy_src.vertexFormat; + vertexData.initialize(©_src.vertexData); + vertexStride = copy_src.vertexStride; + radiusFormat = copy_src.radiusFormat; + radiusData.initialize(©_src.radiusData); + radiusStride = copy_src.radiusStride; + indexType = copy_src.indexType; + indexData.initialize(©_src.indexData); + indexStride = copy_src.indexStride; + indexingMode = copy_src.indexingMode; + endCapsMode = copy_src.endCapsMode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::~safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV() { + FreePnextChain(pNext); +} + +void safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::initialize( + const VkAccelerationStructureGeometryLinearSweptSpheresDataNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + vertexFormat = in_struct->vertexFormat; + vertexData.initialize(&in_struct->vertexData); + vertexStride = in_struct->vertexStride; + radiusFormat = in_struct->radiusFormat; + radiusData.initialize(&in_struct->radiusData); + radiusStride = in_struct->radiusStride; + indexType = in_struct->indexType; + indexData.initialize(&in_struct->indexData); + indexStride = in_struct->indexStride; + indexingMode = in_struct->indexingMode; + endCapsMode = in_struct->endCapsMode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV::initialize( + const safe_VkAccelerationStructureGeometryLinearSweptSpheresDataNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vertexFormat = copy_src->vertexFormat; + vertexData.initialize(©_src->vertexData); + vertexStride = copy_src->vertexStride; + radiusFormat = copy_src->radiusFormat; + radiusData.initialize(©_src->radiusData); + radiusStride = copy_src->radiusStride; + indexType = copy_src->indexType; + indexData.initialize(©_src->indexData); + indexStride = copy_src->indexStride; + indexingMode = copy_src->indexingMode; + endCapsMode = copy_src->endCapsMode; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAccelerationStructureGeometrySpheresDataNV::safe_VkAccelerationStructureGeometrySpheresDataNV( + const VkAccelerationStructureGeometrySpheresDataNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + vertexFormat(in_struct->vertexFormat), + vertexData(&in_struct->vertexData), + vertexStride(in_struct->vertexStride), + radiusFormat(in_struct->radiusFormat), + radiusData(&in_struct->radiusData), + radiusStride(in_struct->radiusStride), + indexType(in_struct->indexType), + indexData(&in_struct->indexData), + indexStride(in_struct->indexStride) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAccelerationStructureGeometrySpheresDataNV::safe_VkAccelerationStructureGeometrySpheresDataNV() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV), + pNext(nullptr), + vertexFormat(), + vertexStride(), + radiusFormat(), + radiusStride(), + indexType(), + indexStride() {} + +safe_VkAccelerationStructureGeometrySpheresDataNV::safe_VkAccelerationStructureGeometrySpheresDataNV( + const safe_VkAccelerationStructureGeometrySpheresDataNV& copy_src) { + sType = copy_src.sType; + vertexFormat = copy_src.vertexFormat; + vertexData.initialize(©_src.vertexData); + vertexStride = copy_src.vertexStride; + radiusFormat = copy_src.radiusFormat; + radiusData.initialize(©_src.radiusData); + radiusStride = copy_src.radiusStride; + indexType = copy_src.indexType; + indexData.initialize(©_src.indexData); + indexStride = copy_src.indexStride; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAccelerationStructureGeometrySpheresDataNV& safe_VkAccelerationStructureGeometrySpheresDataNV::operator=( + const safe_VkAccelerationStructureGeometrySpheresDataNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + vertexFormat = copy_src.vertexFormat; + vertexData.initialize(©_src.vertexData); + vertexStride = copy_src.vertexStride; + radiusFormat = copy_src.radiusFormat; + radiusData.initialize(©_src.radiusData); + radiusStride = copy_src.radiusStride; + indexType = copy_src.indexType; + indexData.initialize(©_src.indexData); + indexStride = copy_src.indexStride; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAccelerationStructureGeometrySpheresDataNV::~safe_VkAccelerationStructureGeometrySpheresDataNV() { FreePnextChain(pNext); } + +void safe_VkAccelerationStructureGeometrySpheresDataNV::initialize(const VkAccelerationStructureGeometrySpheresDataNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + vertexFormat = in_struct->vertexFormat; + vertexData.initialize(&in_struct->vertexData); + vertexStride = in_struct->vertexStride; + radiusFormat = in_struct->radiusFormat; + radiusData.initialize(&in_struct->radiusData); + radiusStride = in_struct->radiusStride; + indexType = in_struct->indexType; + indexData.initialize(&in_struct->indexData); + indexStride = in_struct->indexStride; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAccelerationStructureGeometrySpheresDataNV::initialize( + const safe_VkAccelerationStructureGeometrySpheresDataNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vertexFormat = copy_src->vertexFormat; + vertexData.initialize(©_src->vertexData); + vertexStride = copy_src->vertexStride; + radiusFormat = copy_src->radiusFormat; + radiusData.initialize(©_src->radiusData); + radiusStride = copy_src->radiusStride; + indexType = copy_src->indexType; + indexData.initialize(©_src->indexData); + indexStride = copy_src->indexStride; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceLinearColorAttachmentFeaturesNV::safe_VkPhysicalDeviceLinearColorAttachmentFeaturesNV( const VkPhysicalDeviceLinearColorAttachmentFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), linearColorAttachment(in_struct->linearColorAttachment) { @@ -11956,6 +13275,359 @@ maxBoxFilterBlockSize = copy_src->maxBoxFilterBlockSize; pNext = SafePnextCopy(copy_src->pNext); } +#ifdef VK_USE_PLATFORM_OHOS + +safe_VkNativeBufferUsageOHOS::safe_VkNativeBufferUsageOHOS(const VkNativeBufferUsageOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), OHOSNativeBufferUsage(in_struct->OHOSNativeBufferUsage) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkNativeBufferUsageOHOS::safe_VkNativeBufferUsageOHOS() + : sType(VK_STRUCTURE_TYPE_NATIVE_BUFFER_USAGE_OHOS), pNext(nullptr), OHOSNativeBufferUsage() {} + +safe_VkNativeBufferUsageOHOS::safe_VkNativeBufferUsageOHOS(const safe_VkNativeBufferUsageOHOS& copy_src) { + sType = copy_src.sType; + OHOSNativeBufferUsage = copy_src.OHOSNativeBufferUsage; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkNativeBufferUsageOHOS& safe_VkNativeBufferUsageOHOS::operator=(const safe_VkNativeBufferUsageOHOS& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + OHOSNativeBufferUsage = copy_src.OHOSNativeBufferUsage; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkNativeBufferUsageOHOS::~safe_VkNativeBufferUsageOHOS() { FreePnextChain(pNext); } + +void safe_VkNativeBufferUsageOHOS::initialize(const VkNativeBufferUsageOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + OHOSNativeBufferUsage = in_struct->OHOSNativeBufferUsage; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkNativeBufferUsageOHOS::initialize(const safe_VkNativeBufferUsageOHOS* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + OHOSNativeBufferUsage = copy_src->OHOSNativeBufferUsage; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkNativeBufferPropertiesOHOS::safe_VkNativeBufferPropertiesOHOS(const VkNativeBufferPropertiesOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), allocationSize(in_struct->allocationSize), memoryTypeBits(in_struct->memoryTypeBits) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkNativeBufferPropertiesOHOS::safe_VkNativeBufferPropertiesOHOS() + : sType(VK_STRUCTURE_TYPE_NATIVE_BUFFER_PROPERTIES_OHOS), pNext(nullptr), allocationSize(), memoryTypeBits() {} + +safe_VkNativeBufferPropertiesOHOS::safe_VkNativeBufferPropertiesOHOS(const safe_VkNativeBufferPropertiesOHOS& copy_src) { + sType = copy_src.sType; + allocationSize = copy_src.allocationSize; + memoryTypeBits = copy_src.memoryTypeBits; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkNativeBufferPropertiesOHOS& safe_VkNativeBufferPropertiesOHOS::operator=(const safe_VkNativeBufferPropertiesOHOS& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + allocationSize = copy_src.allocationSize; + memoryTypeBits = copy_src.memoryTypeBits; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkNativeBufferPropertiesOHOS::~safe_VkNativeBufferPropertiesOHOS() { FreePnextChain(pNext); } + +void safe_VkNativeBufferPropertiesOHOS::initialize(const VkNativeBufferPropertiesOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + allocationSize = in_struct->allocationSize; + memoryTypeBits = in_struct->memoryTypeBits; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkNativeBufferPropertiesOHOS::initialize(const safe_VkNativeBufferPropertiesOHOS* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + allocationSize = copy_src->allocationSize; + memoryTypeBits = copy_src->memoryTypeBits; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkNativeBufferFormatPropertiesOHOS::safe_VkNativeBufferFormatPropertiesOHOS( + const VkNativeBufferFormatPropertiesOHOS* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + format(in_struct->format), + externalFormat(in_struct->externalFormat), + formatFeatures(in_struct->formatFeatures), + samplerYcbcrConversionComponents(in_struct->samplerYcbcrConversionComponents), + suggestedYcbcrModel(in_struct->suggestedYcbcrModel), + suggestedYcbcrRange(in_struct->suggestedYcbcrRange), + suggestedXChromaOffset(in_struct->suggestedXChromaOffset), + suggestedYChromaOffset(in_struct->suggestedYChromaOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkNativeBufferFormatPropertiesOHOS::safe_VkNativeBufferFormatPropertiesOHOS() + : sType(VK_STRUCTURE_TYPE_NATIVE_BUFFER_FORMAT_PROPERTIES_OHOS), + pNext(nullptr), + format(), + externalFormat(), + formatFeatures(), + samplerYcbcrConversionComponents(), + suggestedYcbcrModel(), + suggestedYcbcrRange(), + suggestedXChromaOffset(), + suggestedYChromaOffset() {} + +safe_VkNativeBufferFormatPropertiesOHOS::safe_VkNativeBufferFormatPropertiesOHOS( + const safe_VkNativeBufferFormatPropertiesOHOS& copy_src) { + sType = copy_src.sType; + format = copy_src.format; + externalFormat = copy_src.externalFormat; + formatFeatures = copy_src.formatFeatures; + samplerYcbcrConversionComponents = copy_src.samplerYcbcrConversionComponents; + suggestedYcbcrModel = copy_src.suggestedYcbcrModel; + suggestedYcbcrRange = copy_src.suggestedYcbcrRange; + suggestedXChromaOffset = copy_src.suggestedXChromaOffset; + suggestedYChromaOffset = copy_src.suggestedYChromaOffset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkNativeBufferFormatPropertiesOHOS& safe_VkNativeBufferFormatPropertiesOHOS::operator=( + const safe_VkNativeBufferFormatPropertiesOHOS& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + format = copy_src.format; + externalFormat = copy_src.externalFormat; + formatFeatures = copy_src.formatFeatures; + samplerYcbcrConversionComponents = copy_src.samplerYcbcrConversionComponents; + suggestedYcbcrModel = copy_src.suggestedYcbcrModel; + suggestedYcbcrRange = copy_src.suggestedYcbcrRange; + suggestedXChromaOffset = copy_src.suggestedXChromaOffset; + suggestedYChromaOffset = copy_src.suggestedYChromaOffset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkNativeBufferFormatPropertiesOHOS::~safe_VkNativeBufferFormatPropertiesOHOS() { FreePnextChain(pNext); } + +void safe_VkNativeBufferFormatPropertiesOHOS::initialize(const VkNativeBufferFormatPropertiesOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + format = in_struct->format; + externalFormat = in_struct->externalFormat; + formatFeatures = in_struct->formatFeatures; + samplerYcbcrConversionComponents = in_struct->samplerYcbcrConversionComponents; + suggestedYcbcrModel = in_struct->suggestedYcbcrModel; + suggestedYcbcrRange = in_struct->suggestedYcbcrRange; + suggestedXChromaOffset = in_struct->suggestedXChromaOffset; + suggestedYChromaOffset = in_struct->suggestedYChromaOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkNativeBufferFormatPropertiesOHOS::initialize(const safe_VkNativeBufferFormatPropertiesOHOS* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + format = copy_src->format; + externalFormat = copy_src->externalFormat; + formatFeatures = copy_src->formatFeatures; + samplerYcbcrConversionComponents = copy_src->samplerYcbcrConversionComponents; + suggestedYcbcrModel = copy_src->suggestedYcbcrModel; + suggestedYcbcrRange = copy_src->suggestedYcbcrRange; + suggestedXChromaOffset = copy_src->suggestedXChromaOffset; + suggestedYChromaOffset = copy_src->suggestedYChromaOffset; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkImportNativeBufferInfoOHOS::safe_VkImportNativeBufferInfoOHOS(const VkImportNativeBufferInfoOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), buffer(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->buffer) { + buffer = new OH_NativeBuffer(*in_struct->buffer); + } +} + +safe_VkImportNativeBufferInfoOHOS::safe_VkImportNativeBufferInfoOHOS() + : sType(VK_STRUCTURE_TYPE_IMPORT_NATIVE_BUFFER_INFO_OHOS), pNext(nullptr), buffer(nullptr) {} + +safe_VkImportNativeBufferInfoOHOS::safe_VkImportNativeBufferInfoOHOS(const safe_VkImportNativeBufferInfoOHOS& copy_src) { + sType = copy_src.sType; + buffer = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.buffer) { + buffer = new OH_NativeBuffer(*copy_src.buffer); + } +} + +safe_VkImportNativeBufferInfoOHOS& safe_VkImportNativeBufferInfoOHOS::operator=(const safe_VkImportNativeBufferInfoOHOS& copy_src) { + if (©_src == this) return *this; + + if (buffer) delete buffer; + FreePnextChain(pNext); + + sType = copy_src.sType; + buffer = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.buffer) { + buffer = new OH_NativeBuffer(*copy_src.buffer); + } + + return *this; +} + +safe_VkImportNativeBufferInfoOHOS::~safe_VkImportNativeBufferInfoOHOS() { + if (buffer) delete buffer; + FreePnextChain(pNext); +} + +void safe_VkImportNativeBufferInfoOHOS::initialize(const VkImportNativeBufferInfoOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (buffer) delete buffer; + FreePnextChain(pNext); + sType = in_struct->sType; + buffer = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->buffer) { + buffer = new OH_NativeBuffer(*in_struct->buffer); + } +} + +void safe_VkImportNativeBufferInfoOHOS::initialize(const safe_VkImportNativeBufferInfoOHOS* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + buffer = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->buffer) { + buffer = new OH_NativeBuffer(*copy_src->buffer); + } +} + +safe_VkMemoryGetNativeBufferInfoOHOS::safe_VkMemoryGetNativeBufferInfoOHOS(const VkMemoryGetNativeBufferInfoOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), memory(in_struct->memory) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryGetNativeBufferInfoOHOS::safe_VkMemoryGetNativeBufferInfoOHOS() + : sType(VK_STRUCTURE_TYPE_MEMORY_GET_NATIVE_BUFFER_INFO_OHOS), pNext(nullptr), memory() {} + +safe_VkMemoryGetNativeBufferInfoOHOS::safe_VkMemoryGetNativeBufferInfoOHOS(const safe_VkMemoryGetNativeBufferInfoOHOS& copy_src) { + sType = copy_src.sType; + memory = copy_src.memory; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryGetNativeBufferInfoOHOS& safe_VkMemoryGetNativeBufferInfoOHOS::operator=( + const safe_VkMemoryGetNativeBufferInfoOHOS& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + memory = copy_src.memory; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryGetNativeBufferInfoOHOS::~safe_VkMemoryGetNativeBufferInfoOHOS() { FreePnextChain(pNext); } + +void safe_VkMemoryGetNativeBufferInfoOHOS::initialize(const VkMemoryGetNativeBufferInfoOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + memory = in_struct->memory; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryGetNativeBufferInfoOHOS::initialize(const safe_VkMemoryGetNativeBufferInfoOHOS* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memory = copy_src->memory; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkExternalFormatOHOS::safe_VkExternalFormatOHOS(const VkExternalFormatOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), externalFormat(in_struct->externalFormat) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkExternalFormatOHOS::safe_VkExternalFormatOHOS() + : sType(VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_OHOS), pNext(nullptr), externalFormat() {} + +safe_VkExternalFormatOHOS::safe_VkExternalFormatOHOS(const safe_VkExternalFormatOHOS& copy_src) { + sType = copy_src.sType; + externalFormat = copy_src.externalFormat; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkExternalFormatOHOS& safe_VkExternalFormatOHOS::operator=(const safe_VkExternalFormatOHOS& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + externalFormat = copy_src.externalFormat; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkExternalFormatOHOS::~safe_VkExternalFormatOHOS() { FreePnextChain(pNext); } + +void safe_VkExternalFormatOHOS::initialize(const VkExternalFormatOHOS* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + externalFormat = in_struct->externalFormat; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkExternalFormatOHOS::initialize(const safe_VkExternalFormatOHOS* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + externalFormat = copy_src->externalFormat; + pNext = SafePnextCopy(copy_src->pNext); +} +#endif // VK_USE_PLATFORM_OHOS safe_VkDirectDriverLoadingInfoLUNARG::safe_VkDirectDriverLoadingInfoLUNARG(const VkDirectDriverLoadingInfoLUNARG* in_struct, [[maybe_unused]] PNextCopyState* copy_state, @@ -12100,6 +13772,1749 @@ } } +safe_VkTensorDescriptionARM::safe_VkTensorDescriptionARM(const VkTensorDescriptionARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + tiling(in_struct->tiling), + format(in_struct->format), + dimensionCount(in_struct->dimensionCount), + pDimensions(nullptr), + pStrides(nullptr), + usage(in_struct->usage) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDimensions) { + pDimensions = new int64_t[in_struct->dimensionCount]; + memcpy((void*)pDimensions, (void*)in_struct->pDimensions, sizeof(int64_t) * in_struct->dimensionCount); + } + + if (in_struct->pStrides) { + pStrides = new int64_t[in_struct->dimensionCount]; + memcpy((void*)pStrides, (void*)in_struct->pStrides, sizeof(int64_t) * in_struct->dimensionCount); + } +} + +safe_VkTensorDescriptionARM::safe_VkTensorDescriptionARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_DESCRIPTION_ARM), + pNext(nullptr), + tiling(), + format(), + dimensionCount(), + pDimensions(nullptr), + pStrides(nullptr), + usage() {} + +safe_VkTensorDescriptionARM::safe_VkTensorDescriptionARM(const safe_VkTensorDescriptionARM& copy_src) { + sType = copy_src.sType; + tiling = copy_src.tiling; + format = copy_src.format; + dimensionCount = copy_src.dimensionCount; + pDimensions = nullptr; + pStrides = nullptr; + usage = copy_src.usage; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDimensions) { + pDimensions = new int64_t[copy_src.dimensionCount]; + memcpy((void*)pDimensions, (void*)copy_src.pDimensions, sizeof(int64_t) * copy_src.dimensionCount); + } + + if (copy_src.pStrides) { + pStrides = new int64_t[copy_src.dimensionCount]; + memcpy((void*)pStrides, (void*)copy_src.pStrides, sizeof(int64_t) * copy_src.dimensionCount); + } +} + +safe_VkTensorDescriptionARM& safe_VkTensorDescriptionARM::operator=(const safe_VkTensorDescriptionARM& copy_src) { + if (©_src == this) return *this; + + if (pDimensions) delete[] pDimensions; + if (pStrides) delete[] pStrides; + FreePnextChain(pNext); + + sType = copy_src.sType; + tiling = copy_src.tiling; + format = copy_src.format; + dimensionCount = copy_src.dimensionCount; + pDimensions = nullptr; + pStrides = nullptr; + usage = copy_src.usage; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDimensions) { + pDimensions = new int64_t[copy_src.dimensionCount]; + memcpy((void*)pDimensions, (void*)copy_src.pDimensions, sizeof(int64_t) * copy_src.dimensionCount); + } + + if (copy_src.pStrides) { + pStrides = new int64_t[copy_src.dimensionCount]; + memcpy((void*)pStrides, (void*)copy_src.pStrides, sizeof(int64_t) * copy_src.dimensionCount); + } + + return *this; +} + +safe_VkTensorDescriptionARM::~safe_VkTensorDescriptionARM() { + if (pDimensions) delete[] pDimensions; + if (pStrides) delete[] pStrides; + FreePnextChain(pNext); +} + +void safe_VkTensorDescriptionARM::initialize(const VkTensorDescriptionARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pDimensions) delete[] pDimensions; + if (pStrides) delete[] pStrides; + FreePnextChain(pNext); + sType = in_struct->sType; + tiling = in_struct->tiling; + format = in_struct->format; + dimensionCount = in_struct->dimensionCount; + pDimensions = nullptr; + pStrides = nullptr; + usage = in_struct->usage; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pDimensions) { + pDimensions = new int64_t[in_struct->dimensionCount]; + memcpy((void*)pDimensions, (void*)in_struct->pDimensions, sizeof(int64_t) * in_struct->dimensionCount); + } + + if (in_struct->pStrides) { + pStrides = new int64_t[in_struct->dimensionCount]; + memcpy((void*)pStrides, (void*)in_struct->pStrides, sizeof(int64_t) * in_struct->dimensionCount); + } +} + +void safe_VkTensorDescriptionARM::initialize(const safe_VkTensorDescriptionARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tiling = copy_src->tiling; + format = copy_src->format; + dimensionCount = copy_src->dimensionCount; + pDimensions = nullptr; + pStrides = nullptr; + usage = copy_src->usage; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pDimensions) { + pDimensions = new int64_t[copy_src->dimensionCount]; + memcpy((void*)pDimensions, (void*)copy_src->pDimensions, sizeof(int64_t) * copy_src->dimensionCount); + } + + if (copy_src->pStrides) { + pStrides = new int64_t[copy_src->dimensionCount]; + memcpy((void*)pStrides, (void*)copy_src->pStrides, sizeof(int64_t) * copy_src->dimensionCount); + } +} + +safe_VkTensorCreateInfoARM::safe_VkTensorCreateInfoARM(const VkTensorCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + pDescription(nullptr), + sharingMode(in_struct->sharingMode), + queueFamilyIndexCount(0), + pQueueFamilyIndices(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDescription) pDescription = new safe_VkTensorDescriptionARM(in_struct->pDescription); + + if ((in_struct->sharingMode == VK_SHARING_MODE_CONCURRENT) && in_struct->pQueueFamilyIndices) { + pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; + memcpy((void*)pQueueFamilyIndices, (void*)in_struct->pQueueFamilyIndices, + sizeof(uint32_t) * in_struct->queueFamilyIndexCount); + queueFamilyIndexCount = in_struct->queueFamilyIndexCount; + } else { + queueFamilyIndexCount = 0; + } +} + +safe_VkTensorCreateInfoARM::safe_VkTensorCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM), + pNext(nullptr), + flags(), + pDescription(nullptr), + sharingMode(), + queueFamilyIndexCount(), + pQueueFamilyIndices(nullptr) {} + +safe_VkTensorCreateInfoARM::safe_VkTensorCreateInfoARM(const safe_VkTensorCreateInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pDescription = nullptr; + sharingMode = copy_src.sharingMode; + pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pDescription) pDescription = new safe_VkTensorDescriptionARM(*copy_src.pDescription); + + if ((copy_src.sharingMode == VK_SHARING_MODE_CONCURRENT) && copy_src.pQueueFamilyIndices) { + pQueueFamilyIndices = new uint32_t[copy_src.queueFamilyIndexCount]; + memcpy((void*)pQueueFamilyIndices, (void*)copy_src.pQueueFamilyIndices, sizeof(uint32_t) * copy_src.queueFamilyIndexCount); + queueFamilyIndexCount = copy_src.queueFamilyIndexCount; + } else { + queueFamilyIndexCount = 0; + } +} + +safe_VkTensorCreateInfoARM& safe_VkTensorCreateInfoARM::operator=(const safe_VkTensorCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pDescription) delete pDescription; + if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pDescription = nullptr; + sharingMode = copy_src.sharingMode; + pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pDescription) pDescription = new safe_VkTensorDescriptionARM(*copy_src.pDescription); + + if ((copy_src.sharingMode == VK_SHARING_MODE_CONCURRENT) && copy_src.pQueueFamilyIndices) { + pQueueFamilyIndices = new uint32_t[copy_src.queueFamilyIndexCount]; + memcpy((void*)pQueueFamilyIndices, (void*)copy_src.pQueueFamilyIndices, sizeof(uint32_t) * copy_src.queueFamilyIndexCount); + queueFamilyIndexCount = copy_src.queueFamilyIndexCount; + } else { + queueFamilyIndexCount = 0; + } + + return *this; +} + +safe_VkTensorCreateInfoARM::~safe_VkTensorCreateInfoARM() { + if (pDescription) delete pDescription; + if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + FreePnextChain(pNext); +} + +void safe_VkTensorCreateInfoARM::initialize(const VkTensorCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pDescription) delete pDescription; + if (pQueueFamilyIndices) delete[] pQueueFamilyIndices; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pDescription = nullptr; + sharingMode = in_struct->sharingMode; + pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pDescription) pDescription = new safe_VkTensorDescriptionARM(in_struct->pDescription); + + if ((in_struct->sharingMode == VK_SHARING_MODE_CONCURRENT) && in_struct->pQueueFamilyIndices) { + pQueueFamilyIndices = new uint32_t[in_struct->queueFamilyIndexCount]; + memcpy((void*)pQueueFamilyIndices, (void*)in_struct->pQueueFamilyIndices, + sizeof(uint32_t) * in_struct->queueFamilyIndexCount); + queueFamilyIndexCount = in_struct->queueFamilyIndexCount; + } else { + queueFamilyIndexCount = 0; + } +} + +void safe_VkTensorCreateInfoARM::initialize(const safe_VkTensorCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pDescription = nullptr; + sharingMode = copy_src->sharingMode; + pQueueFamilyIndices = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pDescription) pDescription = new safe_VkTensorDescriptionARM(*copy_src->pDescription); + + if ((copy_src->sharingMode == VK_SHARING_MODE_CONCURRENT) && copy_src->pQueueFamilyIndices) { + pQueueFamilyIndices = new uint32_t[copy_src->queueFamilyIndexCount]; + memcpy((void*)pQueueFamilyIndices, (void*)copy_src->pQueueFamilyIndices, + sizeof(uint32_t) * copy_src->queueFamilyIndexCount); + queueFamilyIndexCount = copy_src->queueFamilyIndexCount; + } else { + queueFamilyIndexCount = 0; + } +} + +safe_VkTensorMemoryRequirementsInfoARM::safe_VkTensorMemoryRequirementsInfoARM(const VkTensorMemoryRequirementsInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), tensor(in_struct->tensor) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTensorMemoryRequirementsInfoARM::safe_VkTensorMemoryRequirementsInfoARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_MEMORY_REQUIREMENTS_INFO_ARM), pNext(nullptr), tensor() {} + +safe_VkTensorMemoryRequirementsInfoARM::safe_VkTensorMemoryRequirementsInfoARM( + const safe_VkTensorMemoryRequirementsInfoARM& copy_src) { + sType = copy_src.sType; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTensorMemoryRequirementsInfoARM& safe_VkTensorMemoryRequirementsInfoARM::operator=( + const safe_VkTensorMemoryRequirementsInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTensorMemoryRequirementsInfoARM::~safe_VkTensorMemoryRequirementsInfoARM() { FreePnextChain(pNext); } + +void safe_VkTensorMemoryRequirementsInfoARM::initialize(const VkTensorMemoryRequirementsInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensor = in_struct->tensor; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTensorMemoryRequirementsInfoARM::initialize(const safe_VkTensorMemoryRequirementsInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensor = copy_src->tensor; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindTensorMemoryInfoARM::safe_VkBindTensorMemoryInfoARM(const VkBindTensorMemoryInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensor(in_struct->tensor), memory(in_struct->memory), memoryOffset(in_struct->memoryOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBindTensorMemoryInfoARM::safe_VkBindTensorMemoryInfoARM() + : sType(VK_STRUCTURE_TYPE_BIND_TENSOR_MEMORY_INFO_ARM), pNext(nullptr), tensor(), memory(), memoryOffset() {} + +safe_VkBindTensorMemoryInfoARM::safe_VkBindTensorMemoryInfoARM(const safe_VkBindTensorMemoryInfoARM& copy_src) { + sType = copy_src.sType; + tensor = copy_src.tensor; + memory = copy_src.memory; + memoryOffset = copy_src.memoryOffset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBindTensorMemoryInfoARM& safe_VkBindTensorMemoryInfoARM::operator=(const safe_VkBindTensorMemoryInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensor = copy_src.tensor; + memory = copy_src.memory; + memoryOffset = copy_src.memoryOffset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBindTensorMemoryInfoARM::~safe_VkBindTensorMemoryInfoARM() { FreePnextChain(pNext); } + +void safe_VkBindTensorMemoryInfoARM::initialize(const VkBindTensorMemoryInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensor = in_struct->tensor; + memory = in_struct->memory; + memoryOffset = in_struct->memoryOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBindTensorMemoryInfoARM::initialize(const safe_VkBindTensorMemoryInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensor = copy_src->tensor; + memory = copy_src->memory; + memoryOffset = copy_src->memoryOffset; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkWriteDescriptorSetTensorARM::safe_VkWriteDescriptorSetTensorARM(const VkWriteDescriptorSetTensorARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensorViewCount(in_struct->tensorViewCount), pTensorViews(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (tensorViewCount && in_struct->pTensorViews) { + pTensorViews = new VkTensorViewARM[tensorViewCount]; + for (uint32_t i = 0; i < tensorViewCount; ++i) { + pTensorViews[i] = in_struct->pTensorViews[i]; + } + } +} + +safe_VkWriteDescriptorSetTensorARM::safe_VkWriteDescriptorSetTensorARM() + : sType(VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_TENSOR_ARM), pNext(nullptr), tensorViewCount(), pTensorViews(nullptr) {} + +safe_VkWriteDescriptorSetTensorARM::safe_VkWriteDescriptorSetTensorARM(const safe_VkWriteDescriptorSetTensorARM& copy_src) { + sType = copy_src.sType; + tensorViewCount = copy_src.tensorViewCount; + pTensorViews = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (tensorViewCount && copy_src.pTensorViews) { + pTensorViews = new VkTensorViewARM[tensorViewCount]; + for (uint32_t i = 0; i < tensorViewCount; ++i) { + pTensorViews[i] = copy_src.pTensorViews[i]; + } + } +} + +safe_VkWriteDescriptorSetTensorARM& safe_VkWriteDescriptorSetTensorARM::operator=( + const safe_VkWriteDescriptorSetTensorARM& copy_src) { + if (©_src == this) return *this; + + if (pTensorViews) delete[] pTensorViews; + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorViewCount = copy_src.tensorViewCount; + pTensorViews = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (tensorViewCount && copy_src.pTensorViews) { + pTensorViews = new VkTensorViewARM[tensorViewCount]; + for (uint32_t i = 0; i < tensorViewCount; ++i) { + pTensorViews[i] = copy_src.pTensorViews[i]; + } + } + + return *this; +} + +safe_VkWriteDescriptorSetTensorARM::~safe_VkWriteDescriptorSetTensorARM() { + if (pTensorViews) delete[] pTensorViews; + FreePnextChain(pNext); +} + +void safe_VkWriteDescriptorSetTensorARM::initialize(const VkWriteDescriptorSetTensorARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pTensorViews) delete[] pTensorViews; + FreePnextChain(pNext); + sType = in_struct->sType; + tensorViewCount = in_struct->tensorViewCount; + pTensorViews = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (tensorViewCount && in_struct->pTensorViews) { + pTensorViews = new VkTensorViewARM[tensorViewCount]; + for (uint32_t i = 0; i < tensorViewCount; ++i) { + pTensorViews[i] = in_struct->pTensorViews[i]; + } + } +} + +void safe_VkWriteDescriptorSetTensorARM::initialize(const safe_VkWriteDescriptorSetTensorARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorViewCount = copy_src->tensorViewCount; + pTensorViews = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (tensorViewCount && copy_src->pTensorViews) { + pTensorViews = new VkTensorViewARM[tensorViewCount]; + for (uint32_t i = 0; i < tensorViewCount; ++i) { + pTensorViews[i] = copy_src->pTensorViews[i]; + } + } +} + +safe_VkTensorFormatPropertiesARM::safe_VkTensorFormatPropertiesARM(const VkTensorFormatPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + optimalTilingTensorFeatures(in_struct->optimalTilingTensorFeatures), + linearTilingTensorFeatures(in_struct->linearTilingTensorFeatures) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTensorFormatPropertiesARM::safe_VkTensorFormatPropertiesARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_FORMAT_PROPERTIES_ARM), + pNext(nullptr), + optimalTilingTensorFeatures(), + linearTilingTensorFeatures() {} + +safe_VkTensorFormatPropertiesARM::safe_VkTensorFormatPropertiesARM(const safe_VkTensorFormatPropertiesARM& copy_src) { + sType = copy_src.sType; + optimalTilingTensorFeatures = copy_src.optimalTilingTensorFeatures; + linearTilingTensorFeatures = copy_src.linearTilingTensorFeatures; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTensorFormatPropertiesARM& safe_VkTensorFormatPropertiesARM::operator=(const safe_VkTensorFormatPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + optimalTilingTensorFeatures = copy_src.optimalTilingTensorFeatures; + linearTilingTensorFeatures = copy_src.linearTilingTensorFeatures; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTensorFormatPropertiesARM::~safe_VkTensorFormatPropertiesARM() { FreePnextChain(pNext); } + +void safe_VkTensorFormatPropertiesARM::initialize(const VkTensorFormatPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + optimalTilingTensorFeatures = in_struct->optimalTilingTensorFeatures; + linearTilingTensorFeatures = in_struct->linearTilingTensorFeatures; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTensorFormatPropertiesARM::initialize(const safe_VkTensorFormatPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + optimalTilingTensorFeatures = copy_src->optimalTilingTensorFeatures; + linearTilingTensorFeatures = copy_src->linearTilingTensorFeatures; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceTensorPropertiesARM::safe_VkPhysicalDeviceTensorPropertiesARM( + const VkPhysicalDeviceTensorPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + maxTensorDimensionCount(in_struct->maxTensorDimensionCount), + maxTensorElements(in_struct->maxTensorElements), + maxPerDimensionTensorElements(in_struct->maxPerDimensionTensorElements), + maxTensorStride(in_struct->maxTensorStride), + maxTensorSize(in_struct->maxTensorSize), + maxTensorShaderAccessArrayLength(in_struct->maxTensorShaderAccessArrayLength), + maxTensorShaderAccessSize(in_struct->maxTensorShaderAccessSize), + maxDescriptorSetStorageTensors(in_struct->maxDescriptorSetStorageTensors), + maxPerStageDescriptorSetStorageTensors(in_struct->maxPerStageDescriptorSetStorageTensors), + maxDescriptorSetUpdateAfterBindStorageTensors(in_struct->maxDescriptorSetUpdateAfterBindStorageTensors), + maxPerStageDescriptorUpdateAfterBindStorageTensors(in_struct->maxPerStageDescriptorUpdateAfterBindStorageTensors), + shaderStorageTensorArrayNonUniformIndexingNative(in_struct->shaderStorageTensorArrayNonUniformIndexingNative), + shaderTensorSupportedStages(in_struct->shaderTensorSupportedStages) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTensorPropertiesARM::safe_VkPhysicalDeviceTensorPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_PROPERTIES_ARM), + pNext(nullptr), + maxTensorDimensionCount(), + maxTensorElements(), + maxPerDimensionTensorElements(), + maxTensorStride(), + maxTensorSize(), + maxTensorShaderAccessArrayLength(), + maxTensorShaderAccessSize(), + maxDescriptorSetStorageTensors(), + maxPerStageDescriptorSetStorageTensors(), + maxDescriptorSetUpdateAfterBindStorageTensors(), + maxPerStageDescriptorUpdateAfterBindStorageTensors(), + shaderStorageTensorArrayNonUniformIndexingNative(), + shaderTensorSupportedStages() {} + +safe_VkPhysicalDeviceTensorPropertiesARM::safe_VkPhysicalDeviceTensorPropertiesARM( + const safe_VkPhysicalDeviceTensorPropertiesARM& copy_src) { + sType = copy_src.sType; + maxTensorDimensionCount = copy_src.maxTensorDimensionCount; + maxTensorElements = copy_src.maxTensorElements; + maxPerDimensionTensorElements = copy_src.maxPerDimensionTensorElements; + maxTensorStride = copy_src.maxTensorStride; + maxTensorSize = copy_src.maxTensorSize; + maxTensorShaderAccessArrayLength = copy_src.maxTensorShaderAccessArrayLength; + maxTensorShaderAccessSize = copy_src.maxTensorShaderAccessSize; + maxDescriptorSetStorageTensors = copy_src.maxDescriptorSetStorageTensors; + maxPerStageDescriptorSetStorageTensors = copy_src.maxPerStageDescriptorSetStorageTensors; + maxDescriptorSetUpdateAfterBindStorageTensors = copy_src.maxDescriptorSetUpdateAfterBindStorageTensors; + maxPerStageDescriptorUpdateAfterBindStorageTensors = copy_src.maxPerStageDescriptorUpdateAfterBindStorageTensors; + shaderStorageTensorArrayNonUniformIndexingNative = copy_src.shaderStorageTensorArrayNonUniformIndexingNative; + shaderTensorSupportedStages = copy_src.shaderTensorSupportedStages; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTensorPropertiesARM& safe_VkPhysicalDeviceTensorPropertiesARM::operator=( + const safe_VkPhysicalDeviceTensorPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxTensorDimensionCount = copy_src.maxTensorDimensionCount; + maxTensorElements = copy_src.maxTensorElements; + maxPerDimensionTensorElements = copy_src.maxPerDimensionTensorElements; + maxTensorStride = copy_src.maxTensorStride; + maxTensorSize = copy_src.maxTensorSize; + maxTensorShaderAccessArrayLength = copy_src.maxTensorShaderAccessArrayLength; + maxTensorShaderAccessSize = copy_src.maxTensorShaderAccessSize; + maxDescriptorSetStorageTensors = copy_src.maxDescriptorSetStorageTensors; + maxPerStageDescriptorSetStorageTensors = copy_src.maxPerStageDescriptorSetStorageTensors; + maxDescriptorSetUpdateAfterBindStorageTensors = copy_src.maxDescriptorSetUpdateAfterBindStorageTensors; + maxPerStageDescriptorUpdateAfterBindStorageTensors = copy_src.maxPerStageDescriptorUpdateAfterBindStorageTensors; + shaderStorageTensorArrayNonUniformIndexingNative = copy_src.shaderStorageTensorArrayNonUniformIndexingNative; + shaderTensorSupportedStages = copy_src.shaderTensorSupportedStages; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTensorPropertiesARM::~safe_VkPhysicalDeviceTensorPropertiesARM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTensorPropertiesARM::initialize(const VkPhysicalDeviceTensorPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxTensorDimensionCount = in_struct->maxTensorDimensionCount; + maxTensorElements = in_struct->maxTensorElements; + maxPerDimensionTensorElements = in_struct->maxPerDimensionTensorElements; + maxTensorStride = in_struct->maxTensorStride; + maxTensorSize = in_struct->maxTensorSize; + maxTensorShaderAccessArrayLength = in_struct->maxTensorShaderAccessArrayLength; + maxTensorShaderAccessSize = in_struct->maxTensorShaderAccessSize; + maxDescriptorSetStorageTensors = in_struct->maxDescriptorSetStorageTensors; + maxPerStageDescriptorSetStorageTensors = in_struct->maxPerStageDescriptorSetStorageTensors; + maxDescriptorSetUpdateAfterBindStorageTensors = in_struct->maxDescriptorSetUpdateAfterBindStorageTensors; + maxPerStageDescriptorUpdateAfterBindStorageTensors = in_struct->maxPerStageDescriptorUpdateAfterBindStorageTensors; + shaderStorageTensorArrayNonUniformIndexingNative = in_struct->shaderStorageTensorArrayNonUniformIndexingNative; + shaderTensorSupportedStages = in_struct->shaderTensorSupportedStages; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTensorPropertiesARM::initialize(const safe_VkPhysicalDeviceTensorPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxTensorDimensionCount = copy_src->maxTensorDimensionCount; + maxTensorElements = copy_src->maxTensorElements; + maxPerDimensionTensorElements = copy_src->maxPerDimensionTensorElements; + maxTensorStride = copy_src->maxTensorStride; + maxTensorSize = copy_src->maxTensorSize; + maxTensorShaderAccessArrayLength = copy_src->maxTensorShaderAccessArrayLength; + maxTensorShaderAccessSize = copy_src->maxTensorShaderAccessSize; + maxDescriptorSetStorageTensors = copy_src->maxDescriptorSetStorageTensors; + maxPerStageDescriptorSetStorageTensors = copy_src->maxPerStageDescriptorSetStorageTensors; + maxDescriptorSetUpdateAfterBindStorageTensors = copy_src->maxDescriptorSetUpdateAfterBindStorageTensors; + maxPerStageDescriptorUpdateAfterBindStorageTensors = copy_src->maxPerStageDescriptorUpdateAfterBindStorageTensors; + shaderStorageTensorArrayNonUniformIndexingNative = copy_src->shaderStorageTensorArrayNonUniformIndexingNative; + shaderTensorSupportedStages = copy_src->shaderTensorSupportedStages; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTensorMemoryBarrierARM::safe_VkTensorMemoryBarrierARM(const VkTensorMemoryBarrierARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcStageMask(in_struct->srcStageMask), + srcAccessMask(in_struct->srcAccessMask), + dstStageMask(in_struct->dstStageMask), + dstAccessMask(in_struct->dstAccessMask), + srcQueueFamilyIndex(in_struct->srcQueueFamilyIndex), + dstQueueFamilyIndex(in_struct->dstQueueFamilyIndex), + tensor(in_struct->tensor) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTensorMemoryBarrierARM::safe_VkTensorMemoryBarrierARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_MEMORY_BARRIER_ARM), + pNext(nullptr), + srcStageMask(), + srcAccessMask(), + dstStageMask(), + dstAccessMask(), + srcQueueFamilyIndex(), + dstQueueFamilyIndex(), + tensor() {} + +safe_VkTensorMemoryBarrierARM::safe_VkTensorMemoryBarrierARM(const safe_VkTensorMemoryBarrierARM& copy_src) { + sType = copy_src.sType; + srcStageMask = copy_src.srcStageMask; + srcAccessMask = copy_src.srcAccessMask; + dstStageMask = copy_src.dstStageMask; + dstAccessMask = copy_src.dstAccessMask; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTensorMemoryBarrierARM& safe_VkTensorMemoryBarrierARM::operator=(const safe_VkTensorMemoryBarrierARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + srcStageMask = copy_src.srcStageMask; + srcAccessMask = copy_src.srcAccessMask; + dstStageMask = copy_src.dstStageMask; + dstAccessMask = copy_src.dstAccessMask; + srcQueueFamilyIndex = copy_src.srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src.dstQueueFamilyIndex; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTensorMemoryBarrierARM::~safe_VkTensorMemoryBarrierARM() { FreePnextChain(pNext); } + +void safe_VkTensorMemoryBarrierARM::initialize(const VkTensorMemoryBarrierARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + srcStageMask = in_struct->srcStageMask; + srcAccessMask = in_struct->srcAccessMask; + dstStageMask = in_struct->dstStageMask; + dstAccessMask = in_struct->dstAccessMask; + srcQueueFamilyIndex = in_struct->srcQueueFamilyIndex; + dstQueueFamilyIndex = in_struct->dstQueueFamilyIndex; + tensor = in_struct->tensor; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTensorMemoryBarrierARM::initialize(const safe_VkTensorMemoryBarrierARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcStageMask = copy_src->srcStageMask; + srcAccessMask = copy_src->srcAccessMask; + dstStageMask = copy_src->dstStageMask; + dstAccessMask = copy_src->dstAccessMask; + srcQueueFamilyIndex = copy_src->srcQueueFamilyIndex; + dstQueueFamilyIndex = copy_src->dstQueueFamilyIndex; + tensor = copy_src->tensor; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTensorDependencyInfoARM::safe_VkTensorDependencyInfoARM(const VkTensorDependencyInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensorMemoryBarrierCount(in_struct->tensorMemoryBarrierCount), pTensorMemoryBarriers(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (tensorMemoryBarrierCount && in_struct->pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(&in_struct->pTensorMemoryBarriers[i]); + } + } +} + +safe_VkTensorDependencyInfoARM::safe_VkTensorDependencyInfoARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_DEPENDENCY_INFO_ARM), + pNext(nullptr), + tensorMemoryBarrierCount(), + pTensorMemoryBarriers(nullptr) {} + +safe_VkTensorDependencyInfoARM::safe_VkTensorDependencyInfoARM(const safe_VkTensorDependencyInfoARM& copy_src) { + sType = copy_src.sType; + tensorMemoryBarrierCount = copy_src.tensorMemoryBarrierCount; + pTensorMemoryBarriers = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (tensorMemoryBarrierCount && copy_src.pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(©_src.pTensorMemoryBarriers[i]); + } + } +} + +safe_VkTensorDependencyInfoARM& safe_VkTensorDependencyInfoARM::operator=(const safe_VkTensorDependencyInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pTensorMemoryBarriers) delete[] pTensorMemoryBarriers; + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorMemoryBarrierCount = copy_src.tensorMemoryBarrierCount; + pTensorMemoryBarriers = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (tensorMemoryBarrierCount && copy_src.pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(©_src.pTensorMemoryBarriers[i]); + } + } + + return *this; +} + +safe_VkTensorDependencyInfoARM::~safe_VkTensorDependencyInfoARM() { + if (pTensorMemoryBarriers) delete[] pTensorMemoryBarriers; + FreePnextChain(pNext); +} + +void safe_VkTensorDependencyInfoARM::initialize(const VkTensorDependencyInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pTensorMemoryBarriers) delete[] pTensorMemoryBarriers; + FreePnextChain(pNext); + sType = in_struct->sType; + tensorMemoryBarrierCount = in_struct->tensorMemoryBarrierCount; + pTensorMemoryBarriers = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (tensorMemoryBarrierCount && in_struct->pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(&in_struct->pTensorMemoryBarriers[i]); + } + } +} + +void safe_VkTensorDependencyInfoARM::initialize(const safe_VkTensorDependencyInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorMemoryBarrierCount = copy_src->tensorMemoryBarrierCount; + pTensorMemoryBarriers = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (tensorMemoryBarrierCount && copy_src->pTensorMemoryBarriers) { + pTensorMemoryBarriers = new safe_VkTensorMemoryBarrierARM[tensorMemoryBarrierCount]; + for (uint32_t i = 0; i < tensorMemoryBarrierCount; ++i) { + pTensorMemoryBarriers[i].initialize(©_src->pTensorMemoryBarriers[i]); + } + } +} + +safe_VkPhysicalDeviceTensorFeaturesARM::safe_VkPhysicalDeviceTensorFeaturesARM(const VkPhysicalDeviceTensorFeaturesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + tensorNonPacked(in_struct->tensorNonPacked), + shaderTensorAccess(in_struct->shaderTensorAccess), + shaderStorageTensorArrayDynamicIndexing(in_struct->shaderStorageTensorArrayDynamicIndexing), + shaderStorageTensorArrayNonUniformIndexing(in_struct->shaderStorageTensorArrayNonUniformIndexing), + descriptorBindingStorageTensorUpdateAfterBind(in_struct->descriptorBindingStorageTensorUpdateAfterBind), + tensors(in_struct->tensors) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTensorFeaturesARM::safe_VkPhysicalDeviceTensorFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM), + pNext(nullptr), + tensorNonPacked(), + shaderTensorAccess(), + shaderStorageTensorArrayDynamicIndexing(), + shaderStorageTensorArrayNonUniformIndexing(), + descriptorBindingStorageTensorUpdateAfterBind(), + tensors() {} + +safe_VkPhysicalDeviceTensorFeaturesARM::safe_VkPhysicalDeviceTensorFeaturesARM( + const safe_VkPhysicalDeviceTensorFeaturesARM& copy_src) { + sType = copy_src.sType; + tensorNonPacked = copy_src.tensorNonPacked; + shaderTensorAccess = copy_src.shaderTensorAccess; + shaderStorageTensorArrayDynamicIndexing = copy_src.shaderStorageTensorArrayDynamicIndexing; + shaderStorageTensorArrayNonUniformIndexing = copy_src.shaderStorageTensorArrayNonUniformIndexing; + descriptorBindingStorageTensorUpdateAfterBind = copy_src.descriptorBindingStorageTensorUpdateAfterBind; + tensors = copy_src.tensors; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTensorFeaturesARM& safe_VkPhysicalDeviceTensorFeaturesARM::operator=( + const safe_VkPhysicalDeviceTensorFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorNonPacked = copy_src.tensorNonPacked; + shaderTensorAccess = copy_src.shaderTensorAccess; + shaderStorageTensorArrayDynamicIndexing = copy_src.shaderStorageTensorArrayDynamicIndexing; + shaderStorageTensorArrayNonUniformIndexing = copy_src.shaderStorageTensorArrayNonUniformIndexing; + descriptorBindingStorageTensorUpdateAfterBind = copy_src.descriptorBindingStorageTensorUpdateAfterBind; + tensors = copy_src.tensors; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTensorFeaturesARM::~safe_VkPhysicalDeviceTensorFeaturesARM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTensorFeaturesARM::initialize(const VkPhysicalDeviceTensorFeaturesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensorNonPacked = in_struct->tensorNonPacked; + shaderTensorAccess = in_struct->shaderTensorAccess; + shaderStorageTensorArrayDynamicIndexing = in_struct->shaderStorageTensorArrayDynamicIndexing; + shaderStorageTensorArrayNonUniformIndexing = in_struct->shaderStorageTensorArrayNonUniformIndexing; + descriptorBindingStorageTensorUpdateAfterBind = in_struct->descriptorBindingStorageTensorUpdateAfterBind; + tensors = in_struct->tensors; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTensorFeaturesARM::initialize(const safe_VkPhysicalDeviceTensorFeaturesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorNonPacked = copy_src->tensorNonPacked; + shaderTensorAccess = copy_src->shaderTensorAccess; + shaderStorageTensorArrayDynamicIndexing = copy_src->shaderStorageTensorArrayDynamicIndexing; + shaderStorageTensorArrayNonUniformIndexing = copy_src->shaderStorageTensorArrayNonUniformIndexing; + descriptorBindingStorageTensorUpdateAfterBind = copy_src->descriptorBindingStorageTensorUpdateAfterBind; + tensors = copy_src->tensors; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDeviceTensorMemoryRequirementsARM::safe_VkDeviceTensorMemoryRequirementsARM( + const VkDeviceTensorMemoryRequirementsARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pCreateInfo(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pCreateInfo) pCreateInfo = new safe_VkTensorCreateInfoARM(in_struct->pCreateInfo); +} + +safe_VkDeviceTensorMemoryRequirementsARM::safe_VkDeviceTensorMemoryRequirementsARM() + : sType(VK_STRUCTURE_TYPE_DEVICE_TENSOR_MEMORY_REQUIREMENTS_ARM), pNext(nullptr), pCreateInfo(nullptr) {} + +safe_VkDeviceTensorMemoryRequirementsARM::safe_VkDeviceTensorMemoryRequirementsARM( + const safe_VkDeviceTensorMemoryRequirementsARM& copy_src) { + sType = copy_src.sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pCreateInfo) pCreateInfo = new safe_VkTensorCreateInfoARM(*copy_src.pCreateInfo); +} + +safe_VkDeviceTensorMemoryRequirementsARM& safe_VkDeviceTensorMemoryRequirementsARM::operator=( + const safe_VkDeviceTensorMemoryRequirementsARM& copy_src) { + if (©_src == this) return *this; + + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); + + sType = copy_src.sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pCreateInfo) pCreateInfo = new safe_VkTensorCreateInfoARM(*copy_src.pCreateInfo); + + return *this; +} + +safe_VkDeviceTensorMemoryRequirementsARM::~safe_VkDeviceTensorMemoryRequirementsARM() { + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); +} + +void safe_VkDeviceTensorMemoryRequirementsARM::initialize(const VkDeviceTensorMemoryRequirementsARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pCreateInfo) delete pCreateInfo; + FreePnextChain(pNext); + sType = in_struct->sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pCreateInfo) pCreateInfo = new safe_VkTensorCreateInfoARM(in_struct->pCreateInfo); +} + +void safe_VkDeviceTensorMemoryRequirementsARM::initialize(const safe_VkDeviceTensorMemoryRequirementsARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pCreateInfo = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pCreateInfo) pCreateInfo = new safe_VkTensorCreateInfoARM(*copy_src->pCreateInfo); +} + +safe_VkTensorCopyARM::safe_VkTensorCopyARM(const VkTensorCopyARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + dimensionCount(in_struct->dimensionCount), + pSrcOffset(nullptr), + pDstOffset(nullptr), + pExtent(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pSrcOffset) { + pSrcOffset = new uint64_t[in_struct->dimensionCount]; + memcpy((void*)pSrcOffset, (void*)in_struct->pSrcOffset, sizeof(uint64_t) * in_struct->dimensionCount); + } + + if (in_struct->pDstOffset) { + pDstOffset = new uint64_t[in_struct->dimensionCount]; + memcpy((void*)pDstOffset, (void*)in_struct->pDstOffset, sizeof(uint64_t) * in_struct->dimensionCount); + } + + if (in_struct->pExtent) { + pExtent = new uint64_t[in_struct->dimensionCount]; + memcpy((void*)pExtent, (void*)in_struct->pExtent, sizeof(uint64_t) * in_struct->dimensionCount); + } +} + +safe_VkTensorCopyARM::safe_VkTensorCopyARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_COPY_ARM), + pNext(nullptr), + dimensionCount(), + pSrcOffset(nullptr), + pDstOffset(nullptr), + pExtent(nullptr) {} + +safe_VkTensorCopyARM::safe_VkTensorCopyARM(const safe_VkTensorCopyARM& copy_src) { + sType = copy_src.sType; + dimensionCount = copy_src.dimensionCount; + pSrcOffset = nullptr; + pDstOffset = nullptr; + pExtent = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pSrcOffset) { + pSrcOffset = new uint64_t[copy_src.dimensionCount]; + memcpy((void*)pSrcOffset, (void*)copy_src.pSrcOffset, sizeof(uint64_t) * copy_src.dimensionCount); + } + + if (copy_src.pDstOffset) { + pDstOffset = new uint64_t[copy_src.dimensionCount]; + memcpy((void*)pDstOffset, (void*)copy_src.pDstOffset, sizeof(uint64_t) * copy_src.dimensionCount); + } + + if (copy_src.pExtent) { + pExtent = new uint64_t[copy_src.dimensionCount]; + memcpy((void*)pExtent, (void*)copy_src.pExtent, sizeof(uint64_t) * copy_src.dimensionCount); + } +} + +safe_VkTensorCopyARM& safe_VkTensorCopyARM::operator=(const safe_VkTensorCopyARM& copy_src) { + if (©_src == this) return *this; + + if (pSrcOffset) delete[] pSrcOffset; + if (pDstOffset) delete[] pDstOffset; + if (pExtent) delete[] pExtent; + FreePnextChain(pNext); + + sType = copy_src.sType; + dimensionCount = copy_src.dimensionCount; + pSrcOffset = nullptr; + pDstOffset = nullptr; + pExtent = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pSrcOffset) { + pSrcOffset = new uint64_t[copy_src.dimensionCount]; + memcpy((void*)pSrcOffset, (void*)copy_src.pSrcOffset, sizeof(uint64_t) * copy_src.dimensionCount); + } + + if (copy_src.pDstOffset) { + pDstOffset = new uint64_t[copy_src.dimensionCount]; + memcpy((void*)pDstOffset, (void*)copy_src.pDstOffset, sizeof(uint64_t) * copy_src.dimensionCount); + } + + if (copy_src.pExtent) { + pExtent = new uint64_t[copy_src.dimensionCount]; + memcpy((void*)pExtent, (void*)copy_src.pExtent, sizeof(uint64_t) * copy_src.dimensionCount); + } + + return *this; +} + +safe_VkTensorCopyARM::~safe_VkTensorCopyARM() { + if (pSrcOffset) delete[] pSrcOffset; + if (pDstOffset) delete[] pDstOffset; + if (pExtent) delete[] pExtent; + FreePnextChain(pNext); +} + +void safe_VkTensorCopyARM::initialize(const VkTensorCopyARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pSrcOffset) delete[] pSrcOffset; + if (pDstOffset) delete[] pDstOffset; + if (pExtent) delete[] pExtent; + FreePnextChain(pNext); + sType = in_struct->sType; + dimensionCount = in_struct->dimensionCount; + pSrcOffset = nullptr; + pDstOffset = nullptr; + pExtent = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pSrcOffset) { + pSrcOffset = new uint64_t[in_struct->dimensionCount]; + memcpy((void*)pSrcOffset, (void*)in_struct->pSrcOffset, sizeof(uint64_t) * in_struct->dimensionCount); + } + + if (in_struct->pDstOffset) { + pDstOffset = new uint64_t[in_struct->dimensionCount]; + memcpy((void*)pDstOffset, (void*)in_struct->pDstOffset, sizeof(uint64_t) * in_struct->dimensionCount); + } + + if (in_struct->pExtent) { + pExtent = new uint64_t[in_struct->dimensionCount]; + memcpy((void*)pExtent, (void*)in_struct->pExtent, sizeof(uint64_t) * in_struct->dimensionCount); + } +} + +void safe_VkTensorCopyARM::initialize(const safe_VkTensorCopyARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dimensionCount = copy_src->dimensionCount; + pSrcOffset = nullptr; + pDstOffset = nullptr; + pExtent = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pSrcOffset) { + pSrcOffset = new uint64_t[copy_src->dimensionCount]; + memcpy((void*)pSrcOffset, (void*)copy_src->pSrcOffset, sizeof(uint64_t) * copy_src->dimensionCount); + } + + if (copy_src->pDstOffset) { + pDstOffset = new uint64_t[copy_src->dimensionCount]; + memcpy((void*)pDstOffset, (void*)copy_src->pDstOffset, sizeof(uint64_t) * copy_src->dimensionCount); + } + + if (copy_src->pExtent) { + pExtent = new uint64_t[copy_src->dimensionCount]; + memcpy((void*)pExtent, (void*)copy_src->pExtent, sizeof(uint64_t) * copy_src->dimensionCount); + } +} + +safe_VkCopyTensorInfoARM::safe_VkCopyTensorInfoARM(const VkCopyTensorInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcTensor(in_struct->srcTensor), + dstTensor(in_struct->dstTensor), + regionCount(in_struct->regionCount), + pRegions(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkTensorCopyARM[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +safe_VkCopyTensorInfoARM::safe_VkCopyTensorInfoARM() + : sType(VK_STRUCTURE_TYPE_COPY_TENSOR_INFO_ARM), pNext(nullptr), srcTensor(), dstTensor(), regionCount(), pRegions(nullptr) {} + +safe_VkCopyTensorInfoARM::safe_VkCopyTensorInfoARM(const safe_VkCopyTensorInfoARM& copy_src) { + sType = copy_src.sType; + srcTensor = copy_src.srcTensor; + dstTensor = copy_src.dstTensor; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkTensorCopyARM[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } +} + +safe_VkCopyTensorInfoARM& safe_VkCopyTensorInfoARM::operator=(const safe_VkCopyTensorInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + + sType = copy_src.sType; + srcTensor = copy_src.srcTensor; + dstTensor = copy_src.dstTensor; + regionCount = copy_src.regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (regionCount && copy_src.pRegions) { + pRegions = new safe_VkTensorCopyARM[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src.pRegions[i]); + } + } + + return *this; +} + +safe_VkCopyTensorInfoARM::~safe_VkCopyTensorInfoARM() { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); +} + +void safe_VkCopyTensorInfoARM::initialize(const VkCopyTensorInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pRegions) delete[] pRegions; + FreePnextChain(pNext); + sType = in_struct->sType; + srcTensor = in_struct->srcTensor; + dstTensor = in_struct->dstTensor; + regionCount = in_struct->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (regionCount && in_struct->pRegions) { + pRegions = new safe_VkTensorCopyARM[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(&in_struct->pRegions[i]); + } + } +} + +void safe_VkCopyTensorInfoARM::initialize(const safe_VkCopyTensorInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcTensor = copy_src->srcTensor; + dstTensor = copy_src->dstTensor; + regionCount = copy_src->regionCount; + pRegions = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (regionCount && copy_src->pRegions) { + pRegions = new safe_VkTensorCopyARM[regionCount]; + for (uint32_t i = 0; i < regionCount; ++i) { + pRegions[i].initialize(©_src->pRegions[i]); + } + } +} + +safe_VkMemoryDedicatedAllocateInfoTensorARM::safe_VkMemoryDedicatedAllocateInfoTensorARM( + const VkMemoryDedicatedAllocateInfoTensorARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensor(in_struct->tensor) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkMemoryDedicatedAllocateInfoTensorARM::safe_VkMemoryDedicatedAllocateInfoTensorARM() + : sType(VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO_TENSOR_ARM), pNext(nullptr), tensor() {} + +safe_VkMemoryDedicatedAllocateInfoTensorARM::safe_VkMemoryDedicatedAllocateInfoTensorARM( + const safe_VkMemoryDedicatedAllocateInfoTensorARM& copy_src) { + sType = copy_src.sType; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkMemoryDedicatedAllocateInfoTensorARM& safe_VkMemoryDedicatedAllocateInfoTensorARM::operator=( + const safe_VkMemoryDedicatedAllocateInfoTensorARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkMemoryDedicatedAllocateInfoTensorARM::~safe_VkMemoryDedicatedAllocateInfoTensorARM() { FreePnextChain(pNext); } + +void safe_VkMemoryDedicatedAllocateInfoTensorARM::initialize(const VkMemoryDedicatedAllocateInfoTensorARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensor = in_struct->tensor; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkMemoryDedicatedAllocateInfoTensorARM::initialize(const safe_VkMemoryDedicatedAllocateInfoTensorARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensor = copy_src->tensor; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceExternalTensorInfoARM::safe_VkPhysicalDeviceExternalTensorInfoARM( + const VkPhysicalDeviceExternalTensorInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), pDescription(nullptr), handleType(in_struct->handleType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDescription) pDescription = new safe_VkTensorDescriptionARM(in_struct->pDescription); +} + +safe_VkPhysicalDeviceExternalTensorInfoARM::safe_VkPhysicalDeviceExternalTensorInfoARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_TENSOR_INFO_ARM), + pNext(nullptr), + flags(), + pDescription(nullptr), + handleType() {} + +safe_VkPhysicalDeviceExternalTensorInfoARM::safe_VkPhysicalDeviceExternalTensorInfoARM( + const safe_VkPhysicalDeviceExternalTensorInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pDescription = nullptr; + handleType = copy_src.handleType; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pDescription) pDescription = new safe_VkTensorDescriptionARM(*copy_src.pDescription); +} + +safe_VkPhysicalDeviceExternalTensorInfoARM& safe_VkPhysicalDeviceExternalTensorInfoARM::operator=( + const safe_VkPhysicalDeviceExternalTensorInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pDescription) delete pDescription; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pDescription = nullptr; + handleType = copy_src.handleType; + pNext = SafePnextCopy(copy_src.pNext); + if (copy_src.pDescription) pDescription = new safe_VkTensorDescriptionARM(*copy_src.pDescription); + + return *this; +} + +safe_VkPhysicalDeviceExternalTensorInfoARM::~safe_VkPhysicalDeviceExternalTensorInfoARM() { + if (pDescription) delete pDescription; + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceExternalTensorInfoARM::initialize(const VkPhysicalDeviceExternalTensorInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDescription) delete pDescription; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pDescription = nullptr; + handleType = in_struct->handleType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (in_struct->pDescription) pDescription = new safe_VkTensorDescriptionARM(in_struct->pDescription); +} + +void safe_VkPhysicalDeviceExternalTensorInfoARM::initialize(const safe_VkPhysicalDeviceExternalTensorInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pDescription = nullptr; + handleType = copy_src->handleType; + pNext = SafePnextCopy(copy_src->pNext); + if (copy_src->pDescription) pDescription = new safe_VkTensorDescriptionARM(*copy_src->pDescription); +} + +safe_VkExternalTensorPropertiesARM::safe_VkExternalTensorPropertiesARM(const VkExternalTensorPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), externalMemoryProperties(in_struct->externalMemoryProperties) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkExternalTensorPropertiesARM::safe_VkExternalTensorPropertiesARM() + : sType(VK_STRUCTURE_TYPE_EXTERNAL_TENSOR_PROPERTIES_ARM), pNext(nullptr), externalMemoryProperties() {} + +safe_VkExternalTensorPropertiesARM::safe_VkExternalTensorPropertiesARM(const safe_VkExternalTensorPropertiesARM& copy_src) { + sType = copy_src.sType; + externalMemoryProperties = copy_src.externalMemoryProperties; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkExternalTensorPropertiesARM& safe_VkExternalTensorPropertiesARM::operator=( + const safe_VkExternalTensorPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + externalMemoryProperties = copy_src.externalMemoryProperties; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkExternalTensorPropertiesARM::~safe_VkExternalTensorPropertiesARM() { FreePnextChain(pNext); } + +void safe_VkExternalTensorPropertiesARM::initialize(const VkExternalTensorPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + externalMemoryProperties = in_struct->externalMemoryProperties; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkExternalTensorPropertiesARM::initialize(const safe_VkExternalTensorPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + externalMemoryProperties = copy_src->externalMemoryProperties; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkExternalMemoryTensorCreateInfoARM::safe_VkExternalMemoryTensorCreateInfoARM( + const VkExternalMemoryTensorCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), handleTypes(in_struct->handleTypes) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkExternalMemoryTensorCreateInfoARM::safe_VkExternalMemoryTensorCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_TENSOR_CREATE_INFO_ARM), pNext(nullptr), handleTypes() {} + +safe_VkExternalMemoryTensorCreateInfoARM::safe_VkExternalMemoryTensorCreateInfoARM( + const safe_VkExternalMemoryTensorCreateInfoARM& copy_src) { + sType = copy_src.sType; + handleTypes = copy_src.handleTypes; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkExternalMemoryTensorCreateInfoARM& safe_VkExternalMemoryTensorCreateInfoARM::operator=( + const safe_VkExternalMemoryTensorCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + handleTypes = copy_src.handleTypes; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkExternalMemoryTensorCreateInfoARM::~safe_VkExternalMemoryTensorCreateInfoARM() { FreePnextChain(pNext); } + +void safe_VkExternalMemoryTensorCreateInfoARM::initialize(const VkExternalMemoryTensorCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + handleTypes = in_struct->handleTypes; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkExternalMemoryTensorCreateInfoARM::initialize(const safe_VkExternalMemoryTensorCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + handleTypes = copy_src->handleTypes; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM( + const VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), descriptorBufferTensorDescriptors(in_struct->descriptorBufferTensorDescriptors) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_FEATURES_ARM), + pNext(nullptr), + descriptorBufferTensorDescriptors() {} + +safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM( + const safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM& copy_src) { + sType = copy_src.sType; + descriptorBufferTensorDescriptors = copy_src.descriptorBufferTensorDescriptors; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM& safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::operator=( + const safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + descriptorBufferTensorDescriptors = copy_src.descriptorBufferTensorDescriptors; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::~safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::initialize( + const VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + descriptorBufferTensorDescriptors = in_struct->descriptorBufferTensorDescriptors; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM::initialize( + const safe_VkPhysicalDeviceDescriptorBufferTensorFeaturesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + descriptorBufferTensorDescriptors = copy_src->descriptorBufferTensorDescriptors; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM( + const VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + tensorCaptureReplayDescriptorDataSize(in_struct->tensorCaptureReplayDescriptorDataSize), + tensorViewCaptureReplayDescriptorDataSize(in_struct->tensorViewCaptureReplayDescriptorDataSize), + tensorDescriptorSize(in_struct->tensorDescriptorSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_TENSOR_PROPERTIES_ARM), + pNext(nullptr), + tensorCaptureReplayDescriptorDataSize(), + tensorViewCaptureReplayDescriptorDataSize(), + tensorDescriptorSize() {} + +safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM( + const safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM& copy_src) { + sType = copy_src.sType; + tensorCaptureReplayDescriptorDataSize = copy_src.tensorCaptureReplayDescriptorDataSize; + tensorViewCaptureReplayDescriptorDataSize = copy_src.tensorViewCaptureReplayDescriptorDataSize; + tensorDescriptorSize = copy_src.tensorDescriptorSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM& safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::operator=( + const safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorCaptureReplayDescriptorDataSize = copy_src.tensorCaptureReplayDescriptorDataSize; + tensorViewCaptureReplayDescriptorDataSize = copy_src.tensorViewCaptureReplayDescriptorDataSize; + tensorDescriptorSize = copy_src.tensorDescriptorSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::~safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::initialize( + const VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensorCaptureReplayDescriptorDataSize = in_struct->tensorCaptureReplayDescriptorDataSize; + tensorViewCaptureReplayDescriptorDataSize = in_struct->tensorViewCaptureReplayDescriptorDataSize; + tensorDescriptorSize = in_struct->tensorDescriptorSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM::initialize( + const safe_VkPhysicalDeviceDescriptorBufferTensorPropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorCaptureReplayDescriptorDataSize = copy_src->tensorCaptureReplayDescriptorDataSize; + tensorViewCaptureReplayDescriptorDataSize = copy_src->tensorViewCaptureReplayDescriptorDataSize; + tensorDescriptorSize = copy_src->tensorDescriptorSize; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDescriptorGetTensorInfoARM::safe_VkDescriptorGetTensorInfoARM(const VkDescriptorGetTensorInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensorView(in_struct->tensorView) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDescriptorGetTensorInfoARM::safe_VkDescriptorGetTensorInfoARM() + : sType(VK_STRUCTURE_TYPE_DESCRIPTOR_GET_TENSOR_INFO_ARM), pNext(nullptr), tensorView() {} + +safe_VkDescriptorGetTensorInfoARM::safe_VkDescriptorGetTensorInfoARM(const safe_VkDescriptorGetTensorInfoARM& copy_src) { + sType = copy_src.sType; + tensorView = copy_src.tensorView; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDescriptorGetTensorInfoARM& safe_VkDescriptorGetTensorInfoARM::operator=(const safe_VkDescriptorGetTensorInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorView = copy_src.tensorView; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDescriptorGetTensorInfoARM::~safe_VkDescriptorGetTensorInfoARM() { FreePnextChain(pNext); } + +void safe_VkDescriptorGetTensorInfoARM::initialize(const VkDescriptorGetTensorInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensorView = in_struct->tensorView; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDescriptorGetTensorInfoARM::initialize(const safe_VkDescriptorGetTensorInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorView = copy_src->tensorView; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTensorCaptureDescriptorDataInfoARM::safe_VkTensorCaptureDescriptorDataInfoARM( + const VkTensorCaptureDescriptorDataInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensor(in_struct->tensor) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTensorCaptureDescriptorDataInfoARM::safe_VkTensorCaptureDescriptorDataInfoARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_CAPTURE_DESCRIPTOR_DATA_INFO_ARM), pNext(nullptr), tensor() {} + +safe_VkTensorCaptureDescriptorDataInfoARM::safe_VkTensorCaptureDescriptorDataInfoARM( + const safe_VkTensorCaptureDescriptorDataInfoARM& copy_src) { + sType = copy_src.sType; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTensorCaptureDescriptorDataInfoARM& safe_VkTensorCaptureDescriptorDataInfoARM::operator=( + const safe_VkTensorCaptureDescriptorDataInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensor = copy_src.tensor; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTensorCaptureDescriptorDataInfoARM::~safe_VkTensorCaptureDescriptorDataInfoARM() { FreePnextChain(pNext); } + +void safe_VkTensorCaptureDescriptorDataInfoARM::initialize(const VkTensorCaptureDescriptorDataInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensor = in_struct->tensor; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTensorCaptureDescriptorDataInfoARM::initialize(const safe_VkTensorCaptureDescriptorDataInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensor = copy_src->tensor; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTensorViewCaptureDescriptorDataInfoARM::safe_VkTensorViewCaptureDescriptorDataInfoARM( + const VkTensorViewCaptureDescriptorDataInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensorView(in_struct->tensorView) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTensorViewCaptureDescriptorDataInfoARM::safe_VkTensorViewCaptureDescriptorDataInfoARM() + : sType(VK_STRUCTURE_TYPE_TENSOR_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_ARM), pNext(nullptr), tensorView() {} + +safe_VkTensorViewCaptureDescriptorDataInfoARM::safe_VkTensorViewCaptureDescriptorDataInfoARM( + const safe_VkTensorViewCaptureDescriptorDataInfoARM& copy_src) { + sType = copy_src.sType; + tensorView = copy_src.tensorView; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTensorViewCaptureDescriptorDataInfoARM& safe_VkTensorViewCaptureDescriptorDataInfoARM::operator=( + const safe_VkTensorViewCaptureDescriptorDataInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorView = copy_src.tensorView; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTensorViewCaptureDescriptorDataInfoARM::~safe_VkTensorViewCaptureDescriptorDataInfoARM() { FreePnextChain(pNext); } + +void safe_VkTensorViewCaptureDescriptorDataInfoARM::initialize(const VkTensorViewCaptureDescriptorDataInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tensorView = in_struct->tensorView; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTensorViewCaptureDescriptorDataInfoARM::initialize(const safe_VkTensorViewCaptureDescriptorDataInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorView = copy_src->tensorView; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkFrameBoundaryTensorsARM::safe_VkFrameBoundaryTensorsARM(const VkFrameBoundaryTensorsARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tensorCount(in_struct->tensorCount), pTensors(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (tensorCount && in_struct->pTensors) { + pTensors = new VkTensorARM[tensorCount]; + for (uint32_t i = 0; i < tensorCount; ++i) { + pTensors[i] = in_struct->pTensors[i]; + } + } +} + +safe_VkFrameBoundaryTensorsARM::safe_VkFrameBoundaryTensorsARM() + : sType(VK_STRUCTURE_TYPE_FRAME_BOUNDARY_TENSORS_ARM), pNext(nullptr), tensorCount(), pTensors(nullptr) {} + +safe_VkFrameBoundaryTensorsARM::safe_VkFrameBoundaryTensorsARM(const safe_VkFrameBoundaryTensorsARM& copy_src) { + sType = copy_src.sType; + tensorCount = copy_src.tensorCount; + pTensors = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (tensorCount && copy_src.pTensors) { + pTensors = new VkTensorARM[tensorCount]; + for (uint32_t i = 0; i < tensorCount; ++i) { + pTensors[i] = copy_src.pTensors[i]; + } + } +} + +safe_VkFrameBoundaryTensorsARM& safe_VkFrameBoundaryTensorsARM::operator=(const safe_VkFrameBoundaryTensorsARM& copy_src) { + if (©_src == this) return *this; + + if (pTensors) delete[] pTensors; + FreePnextChain(pNext); + + sType = copy_src.sType; + tensorCount = copy_src.tensorCount; + pTensors = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (tensorCount && copy_src.pTensors) { + pTensors = new VkTensorARM[tensorCount]; + for (uint32_t i = 0; i < tensorCount; ++i) { + pTensors[i] = copy_src.pTensors[i]; + } + } + + return *this; +} + +safe_VkFrameBoundaryTensorsARM::~safe_VkFrameBoundaryTensorsARM() { + if (pTensors) delete[] pTensors; + FreePnextChain(pNext); +} + +void safe_VkFrameBoundaryTensorsARM::initialize(const VkFrameBoundaryTensorsARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pTensors) delete[] pTensors; + FreePnextChain(pNext); + sType = in_struct->sType; + tensorCount = in_struct->tensorCount; + pTensors = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (tensorCount && in_struct->pTensors) { + pTensors = new VkTensorARM[tensorCount]; + for (uint32_t i = 0; i < tensorCount; ++i) { + pTensors[i] = in_struct->pTensors[i]; + } + } +} + +void safe_VkFrameBoundaryTensorsARM::initialize(const safe_VkFrameBoundaryTensorsARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tensorCount = copy_src->tensorCount; + pTensors = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (tensorCount && copy_src->pTensors) { + pTensors = new VkTensorARM[tensorCount]; + for (uint32_t i = 0; i < tensorCount; ++i) { + pTensors[i] = copy_src->pTensors[i]; + } + } +} + safe_VkPhysicalDeviceOpticalFlowFeaturesNV::safe_VkPhysicalDeviceOpticalFlowFeaturesNV( const VkPhysicalDeviceOpticalFlowFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), opticalFlow(in_struct->opticalFlow) { @@ -12927,6 +16342,149 @@ pNext = SafePnextCopy(copy_src->pNext); if (copy_src->pPresentationInfo) pPresentationInfo = new safe_VkAntiLagPresentationInfoAMD(*copy_src->pPresentationInfo); } +#ifdef VK_ENABLE_BETA_EXTENSIONS + +safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX( + const VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), denseGeometryFormat(in_struct->denseGeometryFormat) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DENSE_GEOMETRY_FORMAT_FEATURES_AMDX), pNext(nullptr), denseGeometryFormat() {} + +safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX( + const safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX& copy_src) { + sType = copy_src.sType; + denseGeometryFormat = copy_src.denseGeometryFormat; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX& safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::operator=( + const safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + denseGeometryFormat = copy_src.denseGeometryFormat; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::~safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::initialize( + const VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + denseGeometryFormat = in_struct->denseGeometryFormat; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX::initialize( + const safe_VkPhysicalDeviceDenseGeometryFormatFeaturesAMDX* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + denseGeometryFormat = copy_src->denseGeometryFormat; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX::safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX( + const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + compressedData(&in_struct->compressedData), + dataSize(in_struct->dataSize), + numTriangles(in_struct->numTriangles), + numVertices(in_struct->numVertices), + maxPrimitiveIndex(in_struct->maxPrimitiveIndex), + maxGeometryIndex(in_struct->maxGeometryIndex), + format(in_struct->format) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX::safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX() + : sType(VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_DENSE_GEOMETRY_FORMAT_TRIANGLES_DATA_AMDX), + pNext(nullptr), + dataSize(), + numTriangles(), + numVertices(), + maxPrimitiveIndex(), + maxGeometryIndex(), + format() {} + +safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX::safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX( + const safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX& copy_src) { + sType = copy_src.sType; + compressedData.initialize(©_src.compressedData); + dataSize = copy_src.dataSize; + numTriangles = copy_src.numTriangles; + numVertices = copy_src.numVertices; + maxPrimitiveIndex = copy_src.maxPrimitiveIndex; + maxGeometryIndex = copy_src.maxGeometryIndex; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX& +safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX::operator=( + const safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + compressedData.initialize(©_src.compressedData); + dataSize = copy_src.dataSize; + numTriangles = copy_src.numTriangles; + numVertices = copy_src.numVertices; + maxPrimitiveIndex = copy_src.maxPrimitiveIndex; + maxGeometryIndex = copy_src.maxGeometryIndex; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX:: + ~safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX() { + FreePnextChain(pNext); +} + +void safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX::initialize( + const VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + compressedData.initialize(&in_struct->compressedData); + dataSize = in_struct->dataSize; + numTriangles = in_struct->numTriangles; + numVertices = in_struct->numVertices; + maxPrimitiveIndex = in_struct->maxPrimitiveIndex; + maxGeometryIndex = in_struct->maxGeometryIndex; + format = in_struct->format; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX::initialize( + const safe_VkAccelerationStructureDenseGeometryFormatTrianglesDataAMDX* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + compressedData.initialize(©_src->compressedData); + dataSize = copy_src->dataSize; + numTriangles = copy_src->numTriangles; + numVertices = copy_src->numVertices; + maxPrimitiveIndex = copy_src->maxPrimitiveIndex; + maxGeometryIndex = copy_src->maxGeometryIndex; + format = copy_src->format; + pNext = SafePnextCopy(copy_src->pNext); +} +#endif // VK_ENABLE_BETA_EXTENSIONS safe_VkPhysicalDeviceTilePropertiesFeaturesQCOM::safe_VkPhysicalDeviceTilePropertiesFeaturesQCOM( const VkPhysicalDeviceTilePropertiesFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -13289,6 +16847,352 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::safe_VkPhysicalDeviceCooperativeVectorPropertiesNV( + const VkPhysicalDeviceCooperativeVectorPropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + cooperativeVectorSupportedStages(in_struct->cooperativeVectorSupportedStages), + cooperativeVectorTrainingFloat16Accumulation(in_struct->cooperativeVectorTrainingFloat16Accumulation), + cooperativeVectorTrainingFloat32Accumulation(in_struct->cooperativeVectorTrainingFloat32Accumulation), + maxCooperativeVectorComponents(in_struct->maxCooperativeVectorComponents) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::safe_VkPhysicalDeviceCooperativeVectorPropertiesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV), + pNext(nullptr), + cooperativeVectorSupportedStages(), + cooperativeVectorTrainingFloat16Accumulation(), + cooperativeVectorTrainingFloat32Accumulation(), + maxCooperativeVectorComponents() {} + +safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::safe_VkPhysicalDeviceCooperativeVectorPropertiesNV( + const safe_VkPhysicalDeviceCooperativeVectorPropertiesNV& copy_src) { + sType = copy_src.sType; + cooperativeVectorSupportedStages = copy_src.cooperativeVectorSupportedStages; + cooperativeVectorTrainingFloat16Accumulation = copy_src.cooperativeVectorTrainingFloat16Accumulation; + cooperativeVectorTrainingFloat32Accumulation = copy_src.cooperativeVectorTrainingFloat32Accumulation; + maxCooperativeVectorComponents = copy_src.maxCooperativeVectorComponents; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceCooperativeVectorPropertiesNV& safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::operator=( + const safe_VkPhysicalDeviceCooperativeVectorPropertiesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + cooperativeVectorSupportedStages = copy_src.cooperativeVectorSupportedStages; + cooperativeVectorTrainingFloat16Accumulation = copy_src.cooperativeVectorTrainingFloat16Accumulation; + cooperativeVectorTrainingFloat32Accumulation = copy_src.cooperativeVectorTrainingFloat32Accumulation; + maxCooperativeVectorComponents = copy_src.maxCooperativeVectorComponents; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::~safe_VkPhysicalDeviceCooperativeVectorPropertiesNV() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::initialize(const VkPhysicalDeviceCooperativeVectorPropertiesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + cooperativeVectorSupportedStages = in_struct->cooperativeVectorSupportedStages; + cooperativeVectorTrainingFloat16Accumulation = in_struct->cooperativeVectorTrainingFloat16Accumulation; + cooperativeVectorTrainingFloat32Accumulation = in_struct->cooperativeVectorTrainingFloat32Accumulation; + maxCooperativeVectorComponents = in_struct->maxCooperativeVectorComponents; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceCooperativeVectorPropertiesNV::initialize( + const safe_VkPhysicalDeviceCooperativeVectorPropertiesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + cooperativeVectorSupportedStages = copy_src->cooperativeVectorSupportedStages; + cooperativeVectorTrainingFloat16Accumulation = copy_src->cooperativeVectorTrainingFloat16Accumulation; + cooperativeVectorTrainingFloat32Accumulation = copy_src->cooperativeVectorTrainingFloat32Accumulation; + maxCooperativeVectorComponents = copy_src->maxCooperativeVectorComponents; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::safe_VkPhysicalDeviceCooperativeVectorFeaturesNV( + const VkPhysicalDeviceCooperativeVectorFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + cooperativeVector(in_struct->cooperativeVector), + cooperativeVectorTraining(in_struct->cooperativeVectorTraining) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::safe_VkPhysicalDeviceCooperativeVectorFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV), + pNext(nullptr), + cooperativeVector(), + cooperativeVectorTraining() {} + +safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::safe_VkPhysicalDeviceCooperativeVectorFeaturesNV( + const safe_VkPhysicalDeviceCooperativeVectorFeaturesNV& copy_src) { + sType = copy_src.sType; + cooperativeVector = copy_src.cooperativeVector; + cooperativeVectorTraining = copy_src.cooperativeVectorTraining; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceCooperativeVectorFeaturesNV& safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::operator=( + const safe_VkPhysicalDeviceCooperativeVectorFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + cooperativeVector = copy_src.cooperativeVector; + cooperativeVectorTraining = copy_src.cooperativeVectorTraining; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::~safe_VkPhysicalDeviceCooperativeVectorFeaturesNV() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::initialize(const VkPhysicalDeviceCooperativeVectorFeaturesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + cooperativeVector = in_struct->cooperativeVector; + cooperativeVectorTraining = in_struct->cooperativeVectorTraining; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceCooperativeVectorFeaturesNV::initialize(const safe_VkPhysicalDeviceCooperativeVectorFeaturesNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + cooperativeVector = copy_src->cooperativeVector; + cooperativeVectorTraining = copy_src->cooperativeVectorTraining; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkCooperativeVectorPropertiesNV::safe_VkCooperativeVectorPropertiesNV(const VkCooperativeVectorPropertiesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + inputType(in_struct->inputType), + inputInterpretation(in_struct->inputInterpretation), + matrixInterpretation(in_struct->matrixInterpretation), + biasInterpretation(in_struct->biasInterpretation), + resultType(in_struct->resultType), + transpose(in_struct->transpose) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkCooperativeVectorPropertiesNV::safe_VkCooperativeVectorPropertiesNV() + : sType(VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV), + pNext(nullptr), + inputType(), + inputInterpretation(), + matrixInterpretation(), + biasInterpretation(), + resultType(), + transpose() {} + +safe_VkCooperativeVectorPropertiesNV::safe_VkCooperativeVectorPropertiesNV(const safe_VkCooperativeVectorPropertiesNV& copy_src) { + sType = copy_src.sType; + inputType = copy_src.inputType; + inputInterpretation = copy_src.inputInterpretation; + matrixInterpretation = copy_src.matrixInterpretation; + biasInterpretation = copy_src.biasInterpretation; + resultType = copy_src.resultType; + transpose = copy_src.transpose; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkCooperativeVectorPropertiesNV& safe_VkCooperativeVectorPropertiesNV::operator=( + const safe_VkCooperativeVectorPropertiesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + inputType = copy_src.inputType; + inputInterpretation = copy_src.inputInterpretation; + matrixInterpretation = copy_src.matrixInterpretation; + biasInterpretation = copy_src.biasInterpretation; + resultType = copy_src.resultType; + transpose = copy_src.transpose; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkCooperativeVectorPropertiesNV::~safe_VkCooperativeVectorPropertiesNV() { FreePnextChain(pNext); } + +void safe_VkCooperativeVectorPropertiesNV::initialize(const VkCooperativeVectorPropertiesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + inputType = in_struct->inputType; + inputInterpretation = in_struct->inputInterpretation; + matrixInterpretation = in_struct->matrixInterpretation; + biasInterpretation = in_struct->biasInterpretation; + resultType = in_struct->resultType; + transpose = in_struct->transpose; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkCooperativeVectorPropertiesNV::initialize(const safe_VkCooperativeVectorPropertiesNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + inputType = copy_src->inputType; + inputInterpretation = copy_src->inputInterpretation; + matrixInterpretation = copy_src->matrixInterpretation; + biasInterpretation = copy_src->biasInterpretation; + resultType = copy_src->resultType; + transpose = copy_src->transpose; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkConvertCooperativeVectorMatrixInfoNV::safe_VkConvertCooperativeVectorMatrixInfoNV( + const VkConvertCooperativeVectorMatrixInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + srcSize(in_struct->srcSize), + srcData(&in_struct->srcData), + pDstSize(nullptr), + dstData(&in_struct->dstData), + srcComponentType(in_struct->srcComponentType), + dstComponentType(in_struct->dstComponentType), + numRows(in_struct->numRows), + numColumns(in_struct->numColumns), + srcLayout(in_struct->srcLayout), + srcStride(in_struct->srcStride), + dstLayout(in_struct->dstLayout), + dstStride(in_struct->dstStride) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pDstSize) { + pDstSize = new size_t(*in_struct->pDstSize); + } +} + +safe_VkConvertCooperativeVectorMatrixInfoNV::safe_VkConvertCooperativeVectorMatrixInfoNV() + : sType(VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV), + pNext(nullptr), + srcSize(), + pDstSize(nullptr), + srcComponentType(), + dstComponentType(), + numRows(), + numColumns(), + srcLayout(), + srcStride(), + dstLayout(), + dstStride() {} + +safe_VkConvertCooperativeVectorMatrixInfoNV::safe_VkConvertCooperativeVectorMatrixInfoNV( + const safe_VkConvertCooperativeVectorMatrixInfoNV& copy_src) { + sType = copy_src.sType; + srcSize = copy_src.srcSize; + srcData.initialize(©_src.srcData); + pDstSize = nullptr; + dstData.initialize(©_src.dstData); + srcComponentType = copy_src.srcComponentType; + dstComponentType = copy_src.dstComponentType; + numRows = copy_src.numRows; + numColumns = copy_src.numColumns; + srcLayout = copy_src.srcLayout; + srcStride = copy_src.srcStride; + dstLayout = copy_src.dstLayout; + dstStride = copy_src.dstStride; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDstSize) { + pDstSize = new size_t(*copy_src.pDstSize); + } +} + +safe_VkConvertCooperativeVectorMatrixInfoNV& safe_VkConvertCooperativeVectorMatrixInfoNV::operator=( + const safe_VkConvertCooperativeVectorMatrixInfoNV& copy_src) { + if (©_src == this) return *this; + + if (pDstSize) delete pDstSize; + FreePnextChain(pNext); + + sType = copy_src.sType; + srcSize = copy_src.srcSize; + srcData.initialize(©_src.srcData); + pDstSize = nullptr; + dstData.initialize(©_src.dstData); + srcComponentType = copy_src.srcComponentType; + dstComponentType = copy_src.dstComponentType; + numRows = copy_src.numRows; + numColumns = copy_src.numColumns; + srcLayout = copy_src.srcLayout; + srcStride = copy_src.srcStride; + dstLayout = copy_src.dstLayout; + dstStride = copy_src.dstStride; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pDstSize) { + pDstSize = new size_t(*copy_src.pDstSize); + } + + return *this; +} + +safe_VkConvertCooperativeVectorMatrixInfoNV::~safe_VkConvertCooperativeVectorMatrixInfoNV() { + if (pDstSize) delete pDstSize; + FreePnextChain(pNext); +} + +void safe_VkConvertCooperativeVectorMatrixInfoNV::initialize(const VkConvertCooperativeVectorMatrixInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pDstSize) delete pDstSize; + FreePnextChain(pNext); + sType = in_struct->sType; + srcSize = in_struct->srcSize; + srcData.initialize(&in_struct->srcData); + pDstSize = nullptr; + dstData.initialize(&in_struct->dstData); + srcComponentType = in_struct->srcComponentType; + dstComponentType = in_struct->dstComponentType; + numRows = in_struct->numRows; + numColumns = in_struct->numColumns; + srcLayout = in_struct->srcLayout; + srcStride = in_struct->srcStride; + dstLayout = in_struct->dstLayout; + dstStride = in_struct->dstStride; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pDstSize) { + pDstSize = new size_t(*in_struct->pDstSize); + } +} + +void safe_VkConvertCooperativeVectorMatrixInfoNV::initialize(const safe_VkConvertCooperativeVectorMatrixInfoNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + srcSize = copy_src->srcSize; + srcData.initialize(©_src->srcData); + pDstSize = nullptr; + dstData.initialize(©_src->dstData); + srcComponentType = copy_src->srcComponentType; + dstComponentType = copy_src->dstComponentType; + numRows = copy_src->numRows; + numColumns = copy_src->numColumns; + srcLayout = copy_src->srcLayout; + srcStride = copy_src->srcStride; + dstLayout = copy_src->dstLayout; + dstStride = copy_src->dstStride; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pDstSize) { + pDstSize = new size_t(*copy_src->pDstSize); + } +} + safe_VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV::safe_VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV( const VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -14116,6 +18020,1529 @@ } } +safe_VkPhysicalDeviceDataGraphFeaturesARM::safe_VkPhysicalDeviceDataGraphFeaturesARM( + const VkPhysicalDeviceDataGraphFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + dataGraph(in_struct->dataGraph), + dataGraphUpdateAfterBind(in_struct->dataGraphUpdateAfterBind), + dataGraphSpecializationConstants(in_struct->dataGraphSpecializationConstants), + dataGraphDescriptorBuffer(in_struct->dataGraphDescriptorBuffer), + dataGraphShaderModule(in_struct->dataGraphShaderModule) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDataGraphFeaturesARM::safe_VkPhysicalDeviceDataGraphFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_FEATURES_ARM), + pNext(nullptr), + dataGraph(), + dataGraphUpdateAfterBind(), + dataGraphSpecializationConstants(), + dataGraphDescriptorBuffer(), + dataGraphShaderModule() {} + +safe_VkPhysicalDeviceDataGraphFeaturesARM::safe_VkPhysicalDeviceDataGraphFeaturesARM( + const safe_VkPhysicalDeviceDataGraphFeaturesARM& copy_src) { + sType = copy_src.sType; + dataGraph = copy_src.dataGraph; + dataGraphUpdateAfterBind = copy_src.dataGraphUpdateAfterBind; + dataGraphSpecializationConstants = copy_src.dataGraphSpecializationConstants; + dataGraphDescriptorBuffer = copy_src.dataGraphDescriptorBuffer; + dataGraphShaderModule = copy_src.dataGraphShaderModule; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDataGraphFeaturesARM& safe_VkPhysicalDeviceDataGraphFeaturesARM::operator=( + const safe_VkPhysicalDeviceDataGraphFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dataGraph = copy_src.dataGraph; + dataGraphUpdateAfterBind = copy_src.dataGraphUpdateAfterBind; + dataGraphSpecializationConstants = copy_src.dataGraphSpecializationConstants; + dataGraphDescriptorBuffer = copy_src.dataGraphDescriptorBuffer; + dataGraphShaderModule = copy_src.dataGraphShaderModule; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDataGraphFeaturesARM::~safe_VkPhysicalDeviceDataGraphFeaturesARM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceDataGraphFeaturesARM::initialize(const VkPhysicalDeviceDataGraphFeaturesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dataGraph = in_struct->dataGraph; + dataGraphUpdateAfterBind = in_struct->dataGraphUpdateAfterBind; + dataGraphSpecializationConstants = in_struct->dataGraphSpecializationConstants; + dataGraphDescriptorBuffer = in_struct->dataGraphDescriptorBuffer; + dataGraphShaderModule = in_struct->dataGraphShaderModule; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDataGraphFeaturesARM::initialize(const safe_VkPhysicalDeviceDataGraphFeaturesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dataGraph = copy_src->dataGraph; + dataGraphUpdateAfterBind = copy_src->dataGraphUpdateAfterBind; + dataGraphSpecializationConstants = copy_src->dataGraphSpecializationConstants; + dataGraphDescriptorBuffer = copy_src->dataGraphDescriptorBuffer; + dataGraphShaderModule = copy_src->dataGraphShaderModule; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineConstantARM::safe_VkDataGraphPipelineConstantARM(const VkDataGraphPipelineConstantARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), id(in_struct->id), pConstantData(in_struct->pConstantData) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineConstantARM::safe_VkDataGraphPipelineConstantARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_ARM), pNext(nullptr), id(), pConstantData(nullptr) {} + +safe_VkDataGraphPipelineConstantARM::safe_VkDataGraphPipelineConstantARM(const safe_VkDataGraphPipelineConstantARM& copy_src) { + sType = copy_src.sType; + id = copy_src.id; + pConstantData = copy_src.pConstantData; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineConstantARM& safe_VkDataGraphPipelineConstantARM::operator=( + const safe_VkDataGraphPipelineConstantARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + id = copy_src.id; + pConstantData = copy_src.pConstantData; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineConstantARM::~safe_VkDataGraphPipelineConstantARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineConstantARM::initialize(const VkDataGraphPipelineConstantARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + id = in_struct->id; + pConstantData = in_struct->pConstantData; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineConstantARM::initialize(const safe_VkDataGraphPipelineConstantARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + id = copy_src->id; + pConstantData = copy_src->pConstantData; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineResourceInfoARM::safe_VkDataGraphPipelineResourceInfoARM( + const VkDataGraphPipelineResourceInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + descriptorSet(in_struct->descriptorSet), + binding(in_struct->binding), + arrayElement(in_struct->arrayElement) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineResourceInfoARM::safe_VkDataGraphPipelineResourceInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_ARM), pNext(nullptr), descriptorSet(), binding(), arrayElement() {} + +safe_VkDataGraphPipelineResourceInfoARM::safe_VkDataGraphPipelineResourceInfoARM( + const safe_VkDataGraphPipelineResourceInfoARM& copy_src) { + sType = copy_src.sType; + descriptorSet = copy_src.descriptorSet; + binding = copy_src.binding; + arrayElement = copy_src.arrayElement; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineResourceInfoARM& safe_VkDataGraphPipelineResourceInfoARM::operator=( + const safe_VkDataGraphPipelineResourceInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + descriptorSet = copy_src.descriptorSet; + binding = copy_src.binding; + arrayElement = copy_src.arrayElement; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineResourceInfoARM::~safe_VkDataGraphPipelineResourceInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineResourceInfoARM::initialize(const VkDataGraphPipelineResourceInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + descriptorSet = in_struct->descriptorSet; + binding = in_struct->binding; + arrayElement = in_struct->arrayElement; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineResourceInfoARM::initialize(const safe_VkDataGraphPipelineResourceInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + descriptorSet = copy_src->descriptorSet; + binding = copy_src->binding; + arrayElement = copy_src->arrayElement; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineCompilerControlCreateInfoARM::safe_VkDataGraphPipelineCompilerControlCreateInfoARM( + const VkDataGraphPipelineCompilerControlCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + pVendorOptions = SafeStringCopy(in_struct->pVendorOptions); +} + +safe_VkDataGraphPipelineCompilerControlCreateInfoARM::safe_VkDataGraphPipelineCompilerControlCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_COMPILER_CONTROL_CREATE_INFO_ARM), pNext(nullptr), pVendorOptions(nullptr) {} + +safe_VkDataGraphPipelineCompilerControlCreateInfoARM::safe_VkDataGraphPipelineCompilerControlCreateInfoARM( + const safe_VkDataGraphPipelineCompilerControlCreateInfoARM& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + pVendorOptions = SafeStringCopy(copy_src.pVendorOptions); +} + +safe_VkDataGraphPipelineCompilerControlCreateInfoARM& safe_VkDataGraphPipelineCompilerControlCreateInfoARM::operator=( + const safe_VkDataGraphPipelineCompilerControlCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pVendorOptions) delete[] pVendorOptions; + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + pVendorOptions = SafeStringCopy(copy_src.pVendorOptions); + + return *this; +} + +safe_VkDataGraphPipelineCompilerControlCreateInfoARM::~safe_VkDataGraphPipelineCompilerControlCreateInfoARM() { + if (pVendorOptions) delete[] pVendorOptions; + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineCompilerControlCreateInfoARM::initialize( + const VkDataGraphPipelineCompilerControlCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pVendorOptions) delete[] pVendorOptions; + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + pVendorOptions = SafeStringCopy(in_struct->pVendorOptions); +} + +void safe_VkDataGraphPipelineCompilerControlCreateInfoARM::initialize( + const safe_VkDataGraphPipelineCompilerControlCreateInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); + pVendorOptions = SafeStringCopy(copy_src->pVendorOptions); +} + +safe_VkDataGraphPipelineCreateInfoARM::safe_VkDataGraphPipelineCreateInfoARM(const VkDataGraphPipelineCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + layout(in_struct->layout), + resourceInfoCount(in_struct->resourceInfoCount), + pResourceInfos(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (resourceInfoCount && in_struct->pResourceInfos) { + pResourceInfos = new safe_VkDataGraphPipelineResourceInfoARM[resourceInfoCount]; + for (uint32_t i = 0; i < resourceInfoCount; ++i) { + pResourceInfos[i].initialize(&in_struct->pResourceInfos[i]); + } + } +} + +safe_VkDataGraphPipelineCreateInfoARM::safe_VkDataGraphPipelineCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CREATE_INFO_ARM), + pNext(nullptr), + flags(), + layout(), + resourceInfoCount(), + pResourceInfos(nullptr) {} + +safe_VkDataGraphPipelineCreateInfoARM::safe_VkDataGraphPipelineCreateInfoARM( + const safe_VkDataGraphPipelineCreateInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + layout = copy_src.layout; + resourceInfoCount = copy_src.resourceInfoCount; + pResourceInfos = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (resourceInfoCount && copy_src.pResourceInfos) { + pResourceInfos = new safe_VkDataGraphPipelineResourceInfoARM[resourceInfoCount]; + for (uint32_t i = 0; i < resourceInfoCount; ++i) { + pResourceInfos[i].initialize(©_src.pResourceInfos[i]); + } + } +} + +safe_VkDataGraphPipelineCreateInfoARM& safe_VkDataGraphPipelineCreateInfoARM::operator=( + const safe_VkDataGraphPipelineCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pResourceInfos) delete[] pResourceInfos; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + layout = copy_src.layout; + resourceInfoCount = copy_src.resourceInfoCount; + pResourceInfos = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (resourceInfoCount && copy_src.pResourceInfos) { + pResourceInfos = new safe_VkDataGraphPipelineResourceInfoARM[resourceInfoCount]; + for (uint32_t i = 0; i < resourceInfoCount; ++i) { + pResourceInfos[i].initialize(©_src.pResourceInfos[i]); + } + } + + return *this; +} + +safe_VkDataGraphPipelineCreateInfoARM::~safe_VkDataGraphPipelineCreateInfoARM() { + if (pResourceInfos) delete[] pResourceInfos; + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineCreateInfoARM::initialize(const VkDataGraphPipelineCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pResourceInfos) delete[] pResourceInfos; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + layout = in_struct->layout; + resourceInfoCount = in_struct->resourceInfoCount; + pResourceInfos = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (resourceInfoCount && in_struct->pResourceInfos) { + pResourceInfos = new safe_VkDataGraphPipelineResourceInfoARM[resourceInfoCount]; + for (uint32_t i = 0; i < resourceInfoCount; ++i) { + pResourceInfos[i].initialize(&in_struct->pResourceInfos[i]); + } + } +} + +void safe_VkDataGraphPipelineCreateInfoARM::initialize(const safe_VkDataGraphPipelineCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + layout = copy_src->layout; + resourceInfoCount = copy_src->resourceInfoCount; + pResourceInfos = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (resourceInfoCount && copy_src->pResourceInfos) { + pResourceInfos = new safe_VkDataGraphPipelineResourceInfoARM[resourceInfoCount]; + for (uint32_t i = 0; i < resourceInfoCount; ++i) { + pResourceInfos[i].initialize(©_src->pResourceInfos[i]); + } + } +} + +safe_VkDataGraphPipelineShaderModuleCreateInfoARM::safe_VkDataGraphPipelineShaderModuleCreateInfoARM( + const VkDataGraphPipelineShaderModuleCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + module(in_struct->module), + pSpecializationInfo(nullptr), + constantCount(in_struct->constantCount), + pConstants(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + pName = SafeStringCopy(in_struct->pName); + if (in_struct->pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo); + if (constantCount && in_struct->pConstants) { + pConstants = new safe_VkDataGraphPipelineConstantARM[constantCount]; + for (uint32_t i = 0; i < constantCount; ++i) { + pConstants[i].initialize(&in_struct->pConstants[i]); + } + } +} + +safe_VkDataGraphPipelineShaderModuleCreateInfoARM::safe_VkDataGraphPipelineShaderModuleCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SHADER_MODULE_CREATE_INFO_ARM), + pNext(nullptr), + module(), + pName(nullptr), + pSpecializationInfo(nullptr), + constantCount(), + pConstants(nullptr) {} + +safe_VkDataGraphPipelineShaderModuleCreateInfoARM::safe_VkDataGraphPipelineShaderModuleCreateInfoARM( + const safe_VkDataGraphPipelineShaderModuleCreateInfoARM& copy_src) { + sType = copy_src.sType; + module = copy_src.module; + pSpecializationInfo = nullptr; + constantCount = copy_src.constantCount; + pConstants = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + pName = SafeStringCopy(copy_src.pName); + if (copy_src.pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(*copy_src.pSpecializationInfo); + if (constantCount && copy_src.pConstants) { + pConstants = new safe_VkDataGraphPipelineConstantARM[constantCount]; + for (uint32_t i = 0; i < constantCount; ++i) { + pConstants[i].initialize(©_src.pConstants[i]); + } + } +} + +safe_VkDataGraphPipelineShaderModuleCreateInfoARM& safe_VkDataGraphPipelineShaderModuleCreateInfoARM::operator=( + const safe_VkDataGraphPipelineShaderModuleCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pName) delete[] pName; + if (pSpecializationInfo) delete pSpecializationInfo; + if (pConstants) delete[] pConstants; + FreePnextChain(pNext); + + sType = copy_src.sType; + module = copy_src.module; + pSpecializationInfo = nullptr; + constantCount = copy_src.constantCount; + pConstants = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + pName = SafeStringCopy(copy_src.pName); + if (copy_src.pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(*copy_src.pSpecializationInfo); + if (constantCount && copy_src.pConstants) { + pConstants = new safe_VkDataGraphPipelineConstantARM[constantCount]; + for (uint32_t i = 0; i < constantCount; ++i) { + pConstants[i].initialize(©_src.pConstants[i]); + } + } + + return *this; +} + +safe_VkDataGraphPipelineShaderModuleCreateInfoARM::~safe_VkDataGraphPipelineShaderModuleCreateInfoARM() { + if (pName) delete[] pName; + if (pSpecializationInfo) delete pSpecializationInfo; + if (pConstants) delete[] pConstants; + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineShaderModuleCreateInfoARM::initialize(const VkDataGraphPipelineShaderModuleCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pName) delete[] pName; + if (pSpecializationInfo) delete pSpecializationInfo; + if (pConstants) delete[] pConstants; + FreePnextChain(pNext); + sType = in_struct->sType; + module = in_struct->module; + pSpecializationInfo = nullptr; + constantCount = in_struct->constantCount; + pConstants = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + pName = SafeStringCopy(in_struct->pName); + if (in_struct->pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(in_struct->pSpecializationInfo); + if (constantCount && in_struct->pConstants) { + pConstants = new safe_VkDataGraphPipelineConstantARM[constantCount]; + for (uint32_t i = 0; i < constantCount; ++i) { + pConstants[i].initialize(&in_struct->pConstants[i]); + } + } +} + +void safe_VkDataGraphPipelineShaderModuleCreateInfoARM::initialize( + const safe_VkDataGraphPipelineShaderModuleCreateInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + module = copy_src->module; + pSpecializationInfo = nullptr; + constantCount = copy_src->constantCount; + pConstants = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + pName = SafeStringCopy(copy_src->pName); + if (copy_src->pSpecializationInfo) pSpecializationInfo = new safe_VkSpecializationInfo(*copy_src->pSpecializationInfo); + if (constantCount && copy_src->pConstants) { + pConstants = new safe_VkDataGraphPipelineConstantARM[constantCount]; + for (uint32_t i = 0; i < constantCount; ++i) { + pConstants[i].initialize(©_src->pConstants[i]); + } + } +} + +safe_VkDataGraphPipelineSessionCreateInfoARM::safe_VkDataGraphPipelineSessionCreateInfoARM( + const VkDataGraphPipelineSessionCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), dataGraphPipeline(in_struct->dataGraphPipeline) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineSessionCreateInfoARM::safe_VkDataGraphPipelineSessionCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_CREATE_INFO_ARM), pNext(nullptr), flags(), dataGraphPipeline() {} + +safe_VkDataGraphPipelineSessionCreateInfoARM::safe_VkDataGraphPipelineSessionCreateInfoARM( + const safe_VkDataGraphPipelineSessionCreateInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + dataGraphPipeline = copy_src.dataGraphPipeline; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineSessionCreateInfoARM& safe_VkDataGraphPipelineSessionCreateInfoARM::operator=( + const safe_VkDataGraphPipelineSessionCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + dataGraphPipeline = copy_src.dataGraphPipeline; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineSessionCreateInfoARM::~safe_VkDataGraphPipelineSessionCreateInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineSessionCreateInfoARM::initialize(const VkDataGraphPipelineSessionCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + dataGraphPipeline = in_struct->dataGraphPipeline; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineSessionCreateInfoARM::initialize(const safe_VkDataGraphPipelineSessionCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + dataGraphPipeline = copy_src->dataGraphPipeline; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM( + const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), session(in_struct->session) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENTS_INFO_ARM), pNext(nullptr), session() {} + +safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM( + const safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM& copy_src) { + sType = copy_src.sType; + session = copy_src.session; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM& safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::operator=( + const safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + session = copy_src.session; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::~safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::initialize( + const VkDataGraphPipelineSessionBindPointRequirementsInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + session = in_struct->session; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM::initialize( + const safe_VkDataGraphPipelineSessionBindPointRequirementsInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + session = copy_src->session; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineSessionBindPointRequirementARM::safe_VkDataGraphPipelineSessionBindPointRequirementARM( + const VkDataGraphPipelineSessionBindPointRequirementARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + bindPoint(in_struct->bindPoint), + bindPointType(in_struct->bindPointType), + numObjects(in_struct->numObjects) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineSessionBindPointRequirementARM::safe_VkDataGraphPipelineSessionBindPointRequirementARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_BIND_POINT_REQUIREMENT_ARM), + pNext(nullptr), + bindPoint(), + bindPointType(), + numObjects() {} + +safe_VkDataGraphPipelineSessionBindPointRequirementARM::safe_VkDataGraphPipelineSessionBindPointRequirementARM( + const safe_VkDataGraphPipelineSessionBindPointRequirementARM& copy_src) { + sType = copy_src.sType; + bindPoint = copy_src.bindPoint; + bindPointType = copy_src.bindPointType; + numObjects = copy_src.numObjects; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineSessionBindPointRequirementARM& safe_VkDataGraphPipelineSessionBindPointRequirementARM::operator=( + const safe_VkDataGraphPipelineSessionBindPointRequirementARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + bindPoint = copy_src.bindPoint; + bindPointType = copy_src.bindPointType; + numObjects = copy_src.numObjects; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineSessionBindPointRequirementARM::~safe_VkDataGraphPipelineSessionBindPointRequirementARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineSessionBindPointRequirementARM::initialize( + const VkDataGraphPipelineSessionBindPointRequirementARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + bindPoint = in_struct->bindPoint; + bindPointType = in_struct->bindPointType; + numObjects = in_struct->numObjects; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineSessionBindPointRequirementARM::initialize( + const safe_VkDataGraphPipelineSessionBindPointRequirementARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + bindPoint = copy_src->bindPoint; + bindPointType = copy_src->bindPointType; + numObjects = copy_src->numObjects; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM( + const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), session(in_struct->session), bindPoint(in_struct->bindPoint), objectIndex(in_struct->objectIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_MEMORY_REQUIREMENTS_INFO_ARM), + pNext(nullptr), + session(), + bindPoint(), + objectIndex() {} + +safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM( + const safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM& copy_src) { + sType = copy_src.sType; + session = copy_src.session; + bindPoint = copy_src.bindPoint; + objectIndex = copy_src.objectIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM& safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::operator=( + const safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + session = copy_src.session; + bindPoint = copy_src.bindPoint; + objectIndex = copy_src.objectIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::~safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::initialize( + const VkDataGraphPipelineSessionMemoryRequirementsInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + session = in_struct->session; + bindPoint = in_struct->bindPoint; + objectIndex = in_struct->objectIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM::initialize( + const safe_VkDataGraphPipelineSessionMemoryRequirementsInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + session = copy_src->session; + bindPoint = copy_src->bindPoint; + objectIndex = copy_src->objectIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBindDataGraphPipelineSessionMemoryInfoARM::safe_VkBindDataGraphPipelineSessionMemoryInfoARM( + const VkBindDataGraphPipelineSessionMemoryInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + session(in_struct->session), + bindPoint(in_struct->bindPoint), + objectIndex(in_struct->objectIndex), + memory(in_struct->memory), + memoryOffset(in_struct->memoryOffset) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBindDataGraphPipelineSessionMemoryInfoARM::safe_VkBindDataGraphPipelineSessionMemoryInfoARM() + : sType(VK_STRUCTURE_TYPE_BIND_DATA_GRAPH_PIPELINE_SESSION_MEMORY_INFO_ARM), + pNext(nullptr), + session(), + bindPoint(), + objectIndex(), + memory(), + memoryOffset() {} + +safe_VkBindDataGraphPipelineSessionMemoryInfoARM::safe_VkBindDataGraphPipelineSessionMemoryInfoARM( + const safe_VkBindDataGraphPipelineSessionMemoryInfoARM& copy_src) { + sType = copy_src.sType; + session = copy_src.session; + bindPoint = copy_src.bindPoint; + objectIndex = copy_src.objectIndex; + memory = copy_src.memory; + memoryOffset = copy_src.memoryOffset; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBindDataGraphPipelineSessionMemoryInfoARM& safe_VkBindDataGraphPipelineSessionMemoryInfoARM::operator=( + const safe_VkBindDataGraphPipelineSessionMemoryInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + session = copy_src.session; + bindPoint = copy_src.bindPoint; + objectIndex = copy_src.objectIndex; + memory = copy_src.memory; + memoryOffset = copy_src.memoryOffset; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBindDataGraphPipelineSessionMemoryInfoARM::~safe_VkBindDataGraphPipelineSessionMemoryInfoARM() { FreePnextChain(pNext); } + +void safe_VkBindDataGraphPipelineSessionMemoryInfoARM::initialize(const VkBindDataGraphPipelineSessionMemoryInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + session = in_struct->session; + bindPoint = in_struct->bindPoint; + objectIndex = in_struct->objectIndex; + memory = in_struct->memory; + memoryOffset = in_struct->memoryOffset; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBindDataGraphPipelineSessionMemoryInfoARM::initialize(const safe_VkBindDataGraphPipelineSessionMemoryInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + session = copy_src->session; + bindPoint = copy_src->bindPoint; + objectIndex = copy_src->objectIndex; + memory = copy_src->memory; + memoryOffset = copy_src->memoryOffset; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineInfoARM::safe_VkDataGraphPipelineInfoARM(const VkDataGraphPipelineInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), dataGraphPipeline(in_struct->dataGraphPipeline) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineInfoARM::safe_VkDataGraphPipelineInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_INFO_ARM), pNext(nullptr), dataGraphPipeline() {} + +safe_VkDataGraphPipelineInfoARM::safe_VkDataGraphPipelineInfoARM(const safe_VkDataGraphPipelineInfoARM& copy_src) { + sType = copy_src.sType; + dataGraphPipeline = copy_src.dataGraphPipeline; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineInfoARM& safe_VkDataGraphPipelineInfoARM::operator=(const safe_VkDataGraphPipelineInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dataGraphPipeline = copy_src.dataGraphPipeline; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineInfoARM::~safe_VkDataGraphPipelineInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineInfoARM::initialize(const VkDataGraphPipelineInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dataGraphPipeline = in_struct->dataGraphPipeline; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineInfoARM::initialize(const safe_VkDataGraphPipelineInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dataGraphPipeline = copy_src->dataGraphPipeline; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelinePropertyQueryResultARM::safe_VkDataGraphPipelinePropertyQueryResultARM( + const VkDataGraphPipelinePropertyQueryResultARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + property(in_struct->property), + isText(in_struct->isText), + dataSize(in_struct->dataSize), + pData(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pData != nullptr) { + auto temp = new std::byte[in_struct->dataSize]; + std::memcpy(temp, in_struct->pData, in_struct->dataSize); + pData = temp; + } +} + +safe_VkDataGraphPipelinePropertyQueryResultARM::safe_VkDataGraphPipelinePropertyQueryResultARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_PROPERTY_QUERY_RESULT_ARM), + pNext(nullptr), + property(), + isText(), + dataSize(), + pData(nullptr) {} + +safe_VkDataGraphPipelinePropertyQueryResultARM::safe_VkDataGraphPipelinePropertyQueryResultARM( + const safe_VkDataGraphPipelinePropertyQueryResultARM& copy_src) { + sType = copy_src.sType; + property = copy_src.property; + isText = copy_src.isText; + dataSize = copy_src.dataSize; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pData != nullptr) { + auto temp = new std::byte[copy_src.dataSize]; + std::memcpy(temp, copy_src.pData, copy_src.dataSize); + pData = temp; + } +} + +safe_VkDataGraphPipelinePropertyQueryResultARM& safe_VkDataGraphPipelinePropertyQueryResultARM::operator=( + const safe_VkDataGraphPipelinePropertyQueryResultARM& copy_src) { + if (©_src == this) return *this; + + if (pData != nullptr) { + auto temp = reinterpret_cast<const std::byte*>(pData); + delete[] temp; + } + FreePnextChain(pNext); + + sType = copy_src.sType; + property = copy_src.property; + isText = copy_src.isText; + dataSize = copy_src.dataSize; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pData != nullptr) { + auto temp = new std::byte[copy_src.dataSize]; + std::memcpy(temp, copy_src.pData, copy_src.dataSize); + pData = temp; + } + + return *this; +} + +safe_VkDataGraphPipelinePropertyQueryResultARM::~safe_VkDataGraphPipelinePropertyQueryResultARM() { + if (pData != nullptr) { + auto temp = reinterpret_cast<const std::byte*>(pData); + delete[] temp; + } + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelinePropertyQueryResultARM::initialize(const VkDataGraphPipelinePropertyQueryResultARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pData != nullptr) { + auto temp = reinterpret_cast<const std::byte*>(pData); + delete[] temp; + } + FreePnextChain(pNext); + sType = in_struct->sType; + property = in_struct->property; + isText = in_struct->isText; + dataSize = in_struct->dataSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pData != nullptr) { + auto temp = new std::byte[in_struct->dataSize]; + std::memcpy(temp, in_struct->pData, in_struct->dataSize); + pData = temp; + } +} + +void safe_VkDataGraphPipelinePropertyQueryResultARM::initialize(const safe_VkDataGraphPipelinePropertyQueryResultARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + property = copy_src->property; + isText = copy_src->isText; + dataSize = copy_src->dataSize; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pData != nullptr) { + auto temp = new std::byte[copy_src->dataSize]; + std::memcpy(temp, copy_src->pData, copy_src->dataSize); + pData = temp; + } +} + +safe_VkDataGraphPipelineIdentifierCreateInfoARM::safe_VkDataGraphPipelineIdentifierCreateInfoARM( + const VkDataGraphPipelineIdentifierCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), identifierSize(in_struct->identifierSize), pIdentifier(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pIdentifier) { + pIdentifier = new uint8_t[in_struct->identifierSize]; + memcpy((void*)pIdentifier, (void*)in_struct->pIdentifier, sizeof(uint8_t) * in_struct->identifierSize); + } +} + +safe_VkDataGraphPipelineIdentifierCreateInfoARM::safe_VkDataGraphPipelineIdentifierCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_IDENTIFIER_CREATE_INFO_ARM), + pNext(nullptr), + identifierSize(), + pIdentifier(nullptr) {} + +safe_VkDataGraphPipelineIdentifierCreateInfoARM::safe_VkDataGraphPipelineIdentifierCreateInfoARM( + const safe_VkDataGraphPipelineIdentifierCreateInfoARM& copy_src) { + sType = copy_src.sType; + identifierSize = copy_src.identifierSize; + pIdentifier = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pIdentifier) { + pIdentifier = new uint8_t[copy_src.identifierSize]; + memcpy((void*)pIdentifier, (void*)copy_src.pIdentifier, sizeof(uint8_t) * copy_src.identifierSize); + } +} + +safe_VkDataGraphPipelineIdentifierCreateInfoARM& safe_VkDataGraphPipelineIdentifierCreateInfoARM::operator=( + const safe_VkDataGraphPipelineIdentifierCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pIdentifier) delete[] pIdentifier; + FreePnextChain(pNext); + + sType = copy_src.sType; + identifierSize = copy_src.identifierSize; + pIdentifier = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pIdentifier) { + pIdentifier = new uint8_t[copy_src.identifierSize]; + memcpy((void*)pIdentifier, (void*)copy_src.pIdentifier, sizeof(uint8_t) * copy_src.identifierSize); + } + + return *this; +} + +safe_VkDataGraphPipelineIdentifierCreateInfoARM::~safe_VkDataGraphPipelineIdentifierCreateInfoARM() { + if (pIdentifier) delete[] pIdentifier; + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineIdentifierCreateInfoARM::initialize(const VkDataGraphPipelineIdentifierCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pIdentifier) delete[] pIdentifier; + FreePnextChain(pNext); + sType = in_struct->sType; + identifierSize = in_struct->identifierSize; + pIdentifier = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pIdentifier) { + pIdentifier = new uint8_t[in_struct->identifierSize]; + memcpy((void*)pIdentifier, (void*)in_struct->pIdentifier, sizeof(uint8_t) * in_struct->identifierSize); + } +} + +void safe_VkDataGraphPipelineIdentifierCreateInfoARM::initialize(const safe_VkDataGraphPipelineIdentifierCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + identifierSize = copy_src->identifierSize; + pIdentifier = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pIdentifier) { + pIdentifier = new uint8_t[copy_src->identifierSize]; + memcpy((void*)pIdentifier, (void*)copy_src->pIdentifier, sizeof(uint8_t) * copy_src->identifierSize); + } +} + +safe_VkDataGraphPipelineDispatchInfoARM::safe_VkDataGraphPipelineDispatchInfoARM( + const VkDataGraphPipelineDispatchInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineDispatchInfoARM::safe_VkDataGraphPipelineDispatchInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_DISPATCH_INFO_ARM), pNext(nullptr), flags() {} + +safe_VkDataGraphPipelineDispatchInfoARM::safe_VkDataGraphPipelineDispatchInfoARM( + const safe_VkDataGraphPipelineDispatchInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineDispatchInfoARM& safe_VkDataGraphPipelineDispatchInfoARM::operator=( + const safe_VkDataGraphPipelineDispatchInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineDispatchInfoARM::~safe_VkDataGraphPipelineDispatchInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineDispatchInfoARM::initialize(const VkDataGraphPipelineDispatchInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineDispatchInfoARM::initialize(const safe_VkDataGraphPipelineDispatchInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkQueueFamilyDataGraphPropertiesARM::safe_VkQueueFamilyDataGraphPropertiesARM( + const VkQueueFamilyDataGraphPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), engine(in_struct->engine), operation(in_struct->operation) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkQueueFamilyDataGraphPropertiesARM::safe_VkQueueFamilyDataGraphPropertiesARM() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROPERTIES_ARM), pNext(nullptr), engine(), operation() {} + +safe_VkQueueFamilyDataGraphPropertiesARM::safe_VkQueueFamilyDataGraphPropertiesARM( + const safe_VkQueueFamilyDataGraphPropertiesARM& copy_src) { + sType = copy_src.sType; + engine = copy_src.engine; + operation = copy_src.operation; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkQueueFamilyDataGraphPropertiesARM& safe_VkQueueFamilyDataGraphPropertiesARM::operator=( + const safe_VkQueueFamilyDataGraphPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + engine = copy_src.engine; + operation = copy_src.operation; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkQueueFamilyDataGraphPropertiesARM::~safe_VkQueueFamilyDataGraphPropertiesARM() { FreePnextChain(pNext); } + +void safe_VkQueueFamilyDataGraphPropertiesARM::initialize(const VkQueueFamilyDataGraphPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + engine = in_struct->engine; + operation = in_struct->operation; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkQueueFamilyDataGraphPropertiesARM::initialize(const safe_VkQueueFamilyDataGraphPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + engine = copy_src->engine; + operation = copy_src->operation; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphProcessingEngineCreateInfoARM::safe_VkDataGraphProcessingEngineCreateInfoARM( + const VkDataGraphProcessingEngineCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), processingEngineCount(in_struct->processingEngineCount), pProcessingEngines(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pProcessingEngines) { + pProcessingEngines = new VkPhysicalDeviceDataGraphProcessingEngineARM[in_struct->processingEngineCount]; + memcpy((void*)pProcessingEngines, (void*)in_struct->pProcessingEngines, + sizeof(VkPhysicalDeviceDataGraphProcessingEngineARM) * in_struct->processingEngineCount); + } +} + +safe_VkDataGraphProcessingEngineCreateInfoARM::safe_VkDataGraphProcessingEngineCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PROCESSING_ENGINE_CREATE_INFO_ARM), + pNext(nullptr), + processingEngineCount(), + pProcessingEngines(nullptr) {} + +safe_VkDataGraphProcessingEngineCreateInfoARM::safe_VkDataGraphProcessingEngineCreateInfoARM( + const safe_VkDataGraphProcessingEngineCreateInfoARM& copy_src) { + sType = copy_src.sType; + processingEngineCount = copy_src.processingEngineCount; + pProcessingEngines = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pProcessingEngines) { + pProcessingEngines = new VkPhysicalDeviceDataGraphProcessingEngineARM[copy_src.processingEngineCount]; + memcpy((void*)pProcessingEngines, (void*)copy_src.pProcessingEngines, + sizeof(VkPhysicalDeviceDataGraphProcessingEngineARM) * copy_src.processingEngineCount); + } +} + +safe_VkDataGraphProcessingEngineCreateInfoARM& safe_VkDataGraphProcessingEngineCreateInfoARM::operator=( + const safe_VkDataGraphProcessingEngineCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pProcessingEngines) delete[] pProcessingEngines; + FreePnextChain(pNext); + + sType = copy_src.sType; + processingEngineCount = copy_src.processingEngineCount; + pProcessingEngines = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pProcessingEngines) { + pProcessingEngines = new VkPhysicalDeviceDataGraphProcessingEngineARM[copy_src.processingEngineCount]; + memcpy((void*)pProcessingEngines, (void*)copy_src.pProcessingEngines, + sizeof(VkPhysicalDeviceDataGraphProcessingEngineARM) * copy_src.processingEngineCount); + } + + return *this; +} + +safe_VkDataGraphProcessingEngineCreateInfoARM::~safe_VkDataGraphProcessingEngineCreateInfoARM() { + if (pProcessingEngines) delete[] pProcessingEngines; + FreePnextChain(pNext); +} + +void safe_VkDataGraphProcessingEngineCreateInfoARM::initialize(const VkDataGraphProcessingEngineCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pProcessingEngines) delete[] pProcessingEngines; + FreePnextChain(pNext); + sType = in_struct->sType; + processingEngineCount = in_struct->processingEngineCount; + pProcessingEngines = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pProcessingEngines) { + pProcessingEngines = new VkPhysicalDeviceDataGraphProcessingEngineARM[in_struct->processingEngineCount]; + memcpy((void*)pProcessingEngines, (void*)in_struct->pProcessingEngines, + sizeof(VkPhysicalDeviceDataGraphProcessingEngineARM) * in_struct->processingEngineCount); + } +} + +void safe_VkDataGraphProcessingEngineCreateInfoARM::initialize(const safe_VkDataGraphProcessingEngineCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + processingEngineCount = copy_src->processingEngineCount; + pProcessingEngines = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pProcessingEngines) { + pProcessingEngines = new VkPhysicalDeviceDataGraphProcessingEngineARM[copy_src->processingEngineCount]; + memcpy((void*)pProcessingEngines, (void*)copy_src->pProcessingEngines, + sizeof(VkPhysicalDeviceDataGraphProcessingEngineARM) * copy_src->processingEngineCount); + } +} + +safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM::safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM( + const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), queueFamilyIndex(in_struct->queueFamilyIndex), engineType(in_struct->engineType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM::safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_INFO_ARM), + pNext(nullptr), + queueFamilyIndex(), + engineType() {} + +safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM::safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM( + const safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM& copy_src) { + sType = copy_src.sType; + queueFamilyIndex = copy_src.queueFamilyIndex; + engineType = copy_src.engineType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM& +safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM::operator=( + const safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + queueFamilyIndex = copy_src.queueFamilyIndex; + engineType = copy_src.engineType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM:: + ~safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM::initialize( + const VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + queueFamilyIndex = in_struct->queueFamilyIndex; + engineType = in_struct->engineType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM::initialize( + const safe_VkPhysicalDeviceQueueFamilyDataGraphProcessingEngineInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + queueFamilyIndex = copy_src->queueFamilyIndex; + engineType = copy_src->engineType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM( + const VkQueueFamilyDataGraphProcessingEnginePropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + foreignSemaphoreHandleTypes(in_struct->foreignSemaphoreHandleTypes), + foreignMemoryHandleTypes(in_struct->foreignMemoryHandleTypes) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_PROCESSING_ENGINE_PROPERTIES_ARM), + pNext(nullptr), + foreignSemaphoreHandleTypes(), + foreignMemoryHandleTypes() {} + +safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM( + const safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM& copy_src) { + sType = copy_src.sType; + foreignSemaphoreHandleTypes = copy_src.foreignSemaphoreHandleTypes; + foreignMemoryHandleTypes = copy_src.foreignMemoryHandleTypes; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM& safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::operator=( + const safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + foreignSemaphoreHandleTypes = copy_src.foreignSemaphoreHandleTypes; + foreignMemoryHandleTypes = copy_src.foreignMemoryHandleTypes; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::~safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::initialize( + const VkQueueFamilyDataGraphProcessingEnginePropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + foreignSemaphoreHandleTypes = in_struct->foreignSemaphoreHandleTypes; + foreignMemoryHandleTypes = in_struct->foreignMemoryHandleTypes; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM::initialize( + const safe_VkQueueFamilyDataGraphProcessingEnginePropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + foreignSemaphoreHandleTypes = copy_src->foreignSemaphoreHandleTypes; + foreignMemoryHandleTypes = copy_src->foreignMemoryHandleTypes; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM:: + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( + const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), dimension(in_struct->dimension), zeroCount(in_struct->zeroCount), groupSize(in_struct->groupSize) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM:: + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_CONSTANT_TENSOR_SEMI_STRUCTURED_SPARSITY_INFO_ARM), + pNext(nullptr), + dimension(), + zeroCount(), + groupSize() {} + +safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM:: + safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM( + const safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM& copy_src) { + sType = copy_src.sType; + dimension = copy_src.dimension; + zeroCount = copy_src.zeroCount; + groupSize = copy_src.groupSize; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM& +safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM::operator=( + const safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dimension = copy_src.dimension; + zeroCount = copy_src.zeroCount; + groupSize = copy_src.groupSize; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM:: + ~safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM::initialize( + const VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dimension = in_struct->dimension; + zeroCount = in_struct->zeroCount; + groupSize = in_struct->groupSize; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM::initialize( + const safe_VkDataGraphPipelineConstantTensorSemiStructuredSparsityInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dimension = copy_src->dimension; + zeroCount = copy_src->zeroCount; + groupSize = copy_src->groupSize; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::safe_VkQueueFamilyDataGraphTOSAPropertiesARM( + const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + profileCount(in_struct->profileCount), + pProfiles(nullptr), + extensionCount(in_struct->extensionCount), + pExtensions(nullptr), + level(in_struct->level) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[in_struct->profileCount]; + memcpy((void*)pProfiles, (void*)in_struct->pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * in_struct->profileCount); + } + + if (in_struct->pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[in_struct->extensionCount]; + memcpy((void*)pExtensions, (void*)in_struct->pExtensions, + sizeof(VkDataGraphTOSANameQualityARM) * in_struct->extensionCount); + } +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::safe_VkQueueFamilyDataGraphTOSAPropertiesARM() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_TOSA_PROPERTIES_ARM), + pNext(nullptr), + profileCount(), + pProfiles(nullptr), + extensionCount(), + pExtensions(nullptr), + level() {} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::safe_VkQueueFamilyDataGraphTOSAPropertiesARM( + const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src) { + sType = copy_src.sType; + profileCount = copy_src.profileCount; + pProfiles = nullptr; + extensionCount = copy_src.extensionCount; + pExtensions = nullptr; + level = copy_src.level; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[copy_src.profileCount]; + memcpy((void*)pProfiles, (void*)copy_src.pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.profileCount); + } + + if (copy_src.pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[copy_src.extensionCount]; + memcpy((void*)pExtensions, (void*)copy_src.pExtensions, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.extensionCount); + } +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM& safe_VkQueueFamilyDataGraphTOSAPropertiesARM::operator=( + const safe_VkQueueFamilyDataGraphTOSAPropertiesARM& copy_src) { + if (©_src == this) return *this; + + if (pProfiles) delete[] pProfiles; + if (pExtensions) delete[] pExtensions; + FreePnextChain(pNext); + + sType = copy_src.sType; + profileCount = copy_src.profileCount; + pProfiles = nullptr; + extensionCount = copy_src.extensionCount; + pExtensions = nullptr; + level = copy_src.level; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[copy_src.profileCount]; + memcpy((void*)pProfiles, (void*)copy_src.pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.profileCount); + } + + if (copy_src.pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[copy_src.extensionCount]; + memcpy((void*)pExtensions, (void*)copy_src.pExtensions, sizeof(VkDataGraphTOSANameQualityARM) * copy_src.extensionCount); + } + + return *this; +} + +safe_VkQueueFamilyDataGraphTOSAPropertiesARM::~safe_VkQueueFamilyDataGraphTOSAPropertiesARM() { + if (pProfiles) delete[] pProfiles; + if (pExtensions) delete[] pExtensions; + FreePnextChain(pNext); +} + +void safe_VkQueueFamilyDataGraphTOSAPropertiesARM::initialize(const VkQueueFamilyDataGraphTOSAPropertiesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pProfiles) delete[] pProfiles; + if (pExtensions) delete[] pExtensions; + FreePnextChain(pNext); + sType = in_struct->sType; + profileCount = in_struct->profileCount; + pProfiles = nullptr; + extensionCount = in_struct->extensionCount; + pExtensions = nullptr; + level = in_struct->level; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[in_struct->profileCount]; + memcpy((void*)pProfiles, (void*)in_struct->pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * in_struct->profileCount); + } + + if (in_struct->pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[in_struct->extensionCount]; + memcpy((void*)pExtensions, (void*)in_struct->pExtensions, + sizeof(VkDataGraphTOSANameQualityARM) * in_struct->extensionCount); + } +} + +void safe_VkQueueFamilyDataGraphTOSAPropertiesARM::initialize(const safe_VkQueueFamilyDataGraphTOSAPropertiesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + profileCount = copy_src->profileCount; + pProfiles = nullptr; + extensionCount = copy_src->extensionCount; + pExtensions = nullptr; + level = copy_src->level; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pProfiles) { + pProfiles = new VkDataGraphTOSANameQualityARM[copy_src->profileCount]; + memcpy((void*)pProfiles, (void*)copy_src->pProfiles, sizeof(VkDataGraphTOSANameQualityARM) * copy_src->profileCount); + } + + if (copy_src->pExtensions) { + pExtensions = new VkDataGraphTOSANameQualityARM[copy_src->extensionCount]; + memcpy((void*)pExtensions, (void*)copy_src->pExtensions, sizeof(VkDataGraphTOSANameQualityARM) * copy_src->extensionCount); + } +} + safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM::safe_VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM( const VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -15160,6 +20587,253 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM( + const VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), tileMemoryHeap(in_struct->tileMemoryHeap) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_FEATURES_QCOM), pNext(nullptr), tileMemoryHeap() {} + +safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM( + const safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM& copy_src) { + sType = copy_src.sType; + tileMemoryHeap = copy_src.tileMemoryHeap; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM& safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::operator=( + const safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + tileMemoryHeap = copy_src.tileMemoryHeap; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::~safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::initialize(const VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + tileMemoryHeap = in_struct->tileMemoryHeap; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM::initialize(const safe_VkPhysicalDeviceTileMemoryHeapFeaturesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + tileMemoryHeap = copy_src->tileMemoryHeap; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM( + const VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + queueSubmitBoundary(in_struct->queueSubmitBoundary), + tileBufferTransfers(in_struct->tileBufferTransfers) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_MEMORY_HEAP_PROPERTIES_QCOM), + pNext(nullptr), + queueSubmitBoundary(), + tileBufferTransfers() {} + +safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM( + const safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM& copy_src) { + sType = copy_src.sType; + queueSubmitBoundary = copy_src.queueSubmitBoundary; + tileBufferTransfers = copy_src.tileBufferTransfers; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM& safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::operator=( + const safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + queueSubmitBoundary = copy_src.queueSubmitBoundary; + tileBufferTransfers = copy_src.tileBufferTransfers; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::~safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::initialize(const VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + queueSubmitBoundary = in_struct->queueSubmitBoundary; + tileBufferTransfers = in_struct->tileBufferTransfers; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM::initialize( + const safe_VkPhysicalDeviceTileMemoryHeapPropertiesQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + queueSubmitBoundary = copy_src->queueSubmitBoundary; + tileBufferTransfers = copy_src->tileBufferTransfers; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTileMemoryRequirementsQCOM::safe_VkTileMemoryRequirementsQCOM(const VkTileMemoryRequirementsQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), size(in_struct->size), alignment(in_struct->alignment) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTileMemoryRequirementsQCOM::safe_VkTileMemoryRequirementsQCOM() + : sType(VK_STRUCTURE_TYPE_TILE_MEMORY_REQUIREMENTS_QCOM), pNext(nullptr), size(), alignment() {} + +safe_VkTileMemoryRequirementsQCOM::safe_VkTileMemoryRequirementsQCOM(const safe_VkTileMemoryRequirementsQCOM& copy_src) { + sType = copy_src.sType; + size = copy_src.size; + alignment = copy_src.alignment; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTileMemoryRequirementsQCOM& safe_VkTileMemoryRequirementsQCOM::operator=(const safe_VkTileMemoryRequirementsQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + size = copy_src.size; + alignment = copy_src.alignment; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTileMemoryRequirementsQCOM::~safe_VkTileMemoryRequirementsQCOM() { FreePnextChain(pNext); } + +void safe_VkTileMemoryRequirementsQCOM::initialize(const VkTileMemoryRequirementsQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + size = in_struct->size; + alignment = in_struct->alignment; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTileMemoryRequirementsQCOM::initialize(const safe_VkTileMemoryRequirementsQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + size = copy_src->size; + alignment = copy_src->alignment; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTileMemoryBindInfoQCOM::safe_VkTileMemoryBindInfoQCOM(const VkTileMemoryBindInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), memory(in_struct->memory) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTileMemoryBindInfoQCOM::safe_VkTileMemoryBindInfoQCOM() + : sType(VK_STRUCTURE_TYPE_TILE_MEMORY_BIND_INFO_QCOM), pNext(nullptr), memory() {} + +safe_VkTileMemoryBindInfoQCOM::safe_VkTileMemoryBindInfoQCOM(const safe_VkTileMemoryBindInfoQCOM& copy_src) { + sType = copy_src.sType; + memory = copy_src.memory; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTileMemoryBindInfoQCOM& safe_VkTileMemoryBindInfoQCOM::operator=(const safe_VkTileMemoryBindInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + memory = copy_src.memory; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTileMemoryBindInfoQCOM::~safe_VkTileMemoryBindInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkTileMemoryBindInfoQCOM::initialize(const VkTileMemoryBindInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + memory = in_struct->memory; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTileMemoryBindInfoQCOM::initialize(const safe_VkTileMemoryBindInfoQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + memory = copy_src->memory; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkTileMemorySizeInfoQCOM::safe_VkTileMemorySizeInfoQCOM(const VkTileMemorySizeInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), size(in_struct->size) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkTileMemorySizeInfoQCOM::safe_VkTileMemorySizeInfoQCOM() + : sType(VK_STRUCTURE_TYPE_TILE_MEMORY_SIZE_INFO_QCOM), pNext(nullptr), size() {} + +safe_VkTileMemorySizeInfoQCOM::safe_VkTileMemorySizeInfoQCOM(const safe_VkTileMemorySizeInfoQCOM& copy_src) { + sType = copy_src.sType; + size = copy_src.size; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkTileMemorySizeInfoQCOM& safe_VkTileMemorySizeInfoQCOM::operator=(const safe_VkTileMemorySizeInfoQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + size = copy_src.size; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkTileMemorySizeInfoQCOM::~safe_VkTileMemorySizeInfoQCOM() { FreePnextChain(pNext); } + +void safe_VkTileMemorySizeInfoQCOM::initialize(const VkTileMemorySizeInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + size = in_struct->size; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkTileMemorySizeInfoQCOM::initialize(const safe_VkTileMemorySizeInfoQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + size = copy_src->size; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkDisplaySurfaceStereoCreateInfoNV::safe_VkDisplaySurfaceStereoCreateInfoNV( const VkDisplaySurfaceStereoCreateInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), stereoType(in_struct->stereoType) { @@ -15304,6 +20978,207 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkExternalComputeQueueDeviceCreateInfoNV::safe_VkExternalComputeQueueDeviceCreateInfoNV( + const VkExternalComputeQueueDeviceCreateInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), reservedExternalQueues(in_struct->reservedExternalQueues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkExternalComputeQueueDeviceCreateInfoNV::safe_VkExternalComputeQueueDeviceCreateInfoNV() + : sType(VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DEVICE_CREATE_INFO_NV), pNext(nullptr), reservedExternalQueues() {} + +safe_VkExternalComputeQueueDeviceCreateInfoNV::safe_VkExternalComputeQueueDeviceCreateInfoNV( + const safe_VkExternalComputeQueueDeviceCreateInfoNV& copy_src) { + sType = copy_src.sType; + reservedExternalQueues = copy_src.reservedExternalQueues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkExternalComputeQueueDeviceCreateInfoNV& safe_VkExternalComputeQueueDeviceCreateInfoNV::operator=( + const safe_VkExternalComputeQueueDeviceCreateInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + reservedExternalQueues = copy_src.reservedExternalQueues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkExternalComputeQueueDeviceCreateInfoNV::~safe_VkExternalComputeQueueDeviceCreateInfoNV() { FreePnextChain(pNext); } + +void safe_VkExternalComputeQueueDeviceCreateInfoNV::initialize(const VkExternalComputeQueueDeviceCreateInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + reservedExternalQueues = in_struct->reservedExternalQueues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkExternalComputeQueueDeviceCreateInfoNV::initialize(const safe_VkExternalComputeQueueDeviceCreateInfoNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + reservedExternalQueues = copy_src->reservedExternalQueues; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkExternalComputeQueueCreateInfoNV::safe_VkExternalComputeQueueCreateInfoNV( + const VkExternalComputeQueueCreateInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), preferredQueue(in_struct->preferredQueue) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkExternalComputeQueueCreateInfoNV::safe_VkExternalComputeQueueCreateInfoNV() + : sType(VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_CREATE_INFO_NV), pNext(nullptr), preferredQueue() {} + +safe_VkExternalComputeQueueCreateInfoNV::safe_VkExternalComputeQueueCreateInfoNV( + const safe_VkExternalComputeQueueCreateInfoNV& copy_src) { + sType = copy_src.sType; + preferredQueue = copy_src.preferredQueue; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkExternalComputeQueueCreateInfoNV& safe_VkExternalComputeQueueCreateInfoNV::operator=( + const safe_VkExternalComputeQueueCreateInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + preferredQueue = copy_src.preferredQueue; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkExternalComputeQueueCreateInfoNV::~safe_VkExternalComputeQueueCreateInfoNV() { FreePnextChain(pNext); } + +void safe_VkExternalComputeQueueCreateInfoNV::initialize(const VkExternalComputeQueueCreateInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + preferredQueue = in_struct->preferredQueue; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkExternalComputeQueueCreateInfoNV::initialize(const safe_VkExternalComputeQueueCreateInfoNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + preferredQueue = copy_src->preferredQueue; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkExternalComputeQueueDataParamsNV::safe_VkExternalComputeQueueDataParamsNV( + const VkExternalComputeQueueDataParamsNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), deviceIndex(in_struct->deviceIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkExternalComputeQueueDataParamsNV::safe_VkExternalComputeQueueDataParamsNV() + : sType(VK_STRUCTURE_TYPE_EXTERNAL_COMPUTE_QUEUE_DATA_PARAMS_NV), pNext(nullptr), deviceIndex() {} + +safe_VkExternalComputeQueueDataParamsNV::safe_VkExternalComputeQueueDataParamsNV( + const safe_VkExternalComputeQueueDataParamsNV& copy_src) { + sType = copy_src.sType; + deviceIndex = copy_src.deviceIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkExternalComputeQueueDataParamsNV& safe_VkExternalComputeQueueDataParamsNV::operator=( + const safe_VkExternalComputeQueueDataParamsNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + deviceIndex = copy_src.deviceIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkExternalComputeQueueDataParamsNV::~safe_VkExternalComputeQueueDataParamsNV() { FreePnextChain(pNext); } + +void safe_VkExternalComputeQueueDataParamsNV::initialize(const VkExternalComputeQueueDataParamsNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + deviceIndex = in_struct->deviceIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkExternalComputeQueueDataParamsNV::initialize(const safe_VkExternalComputeQueueDataParamsNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + deviceIndex = copy_src->deviceIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV( + const VkPhysicalDeviceExternalComputeQueuePropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), externalDataSize(in_struct->externalDataSize), maxExternalQueues(in_struct->maxExternalQueues) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_COMPUTE_QUEUE_PROPERTIES_NV), + pNext(nullptr), + externalDataSize(), + maxExternalQueues() {} + +safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV( + const safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV& copy_src) { + sType = copy_src.sType; + externalDataSize = copy_src.externalDataSize; + maxExternalQueues = copy_src.maxExternalQueues; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV& safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::operator=( + const safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + externalDataSize = copy_src.externalDataSize; + maxExternalQueues = copy_src.maxExternalQueues; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::~safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::initialize( + const VkPhysicalDeviceExternalComputeQueuePropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + externalDataSize = in_struct->externalDataSize; + maxExternalQueues = in_struct->maxExternalQueues; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV::initialize( + const safe_VkPhysicalDeviceExternalComputeQueuePropertiesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + externalDataSize = copy_src->externalDataSize; + maxExternalQueues = copy_src->maxExternalQueues; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceCommandBufferInheritanceFeaturesNV::safe_VkPhysicalDeviceCommandBufferInheritanceFeaturesNV( const VkPhysicalDeviceCommandBufferInheritanceFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -15458,6 +21333,1085 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV( + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), clusterAccelerationStructure(in_struct->clusterAccelerationStructure) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV), + pNext(nullptr), + clusterAccelerationStructure() {} + +safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV( + const safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV& copy_src) { + sType = copy_src.sType; + clusterAccelerationStructure = copy_src.clusterAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV& safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::operator=( + const safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + clusterAccelerationStructure = copy_src.clusterAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::~safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::initialize( + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + clusterAccelerationStructure = in_struct->clusterAccelerationStructure; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV::initialize( + const safe_VkPhysicalDeviceClusterAccelerationStructureFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + clusterAccelerationStructure = copy_src->clusterAccelerationStructure; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV( + const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + maxVerticesPerCluster(in_struct->maxVerticesPerCluster), + maxTrianglesPerCluster(in_struct->maxTrianglesPerCluster), + clusterScratchByteAlignment(in_struct->clusterScratchByteAlignment), + clusterByteAlignment(in_struct->clusterByteAlignment), + clusterTemplateByteAlignment(in_struct->clusterTemplateByteAlignment), + clusterBottomLevelByteAlignment(in_struct->clusterBottomLevelByteAlignment), + clusterTemplateBoundsByteAlignment(in_struct->clusterTemplateBoundsByteAlignment), + maxClusterGeometryIndex(in_struct->maxClusterGeometryIndex) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV), + pNext(nullptr), + maxVerticesPerCluster(), + maxTrianglesPerCluster(), + clusterScratchByteAlignment(), + clusterByteAlignment(), + clusterTemplateByteAlignment(), + clusterBottomLevelByteAlignment(), + clusterTemplateBoundsByteAlignment(), + maxClusterGeometryIndex() {} + +safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV( + const safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV& copy_src) { + sType = copy_src.sType; + maxVerticesPerCluster = copy_src.maxVerticesPerCluster; + maxTrianglesPerCluster = copy_src.maxTrianglesPerCluster; + clusterScratchByteAlignment = copy_src.clusterScratchByteAlignment; + clusterByteAlignment = copy_src.clusterByteAlignment; + clusterTemplateByteAlignment = copy_src.clusterTemplateByteAlignment; + clusterBottomLevelByteAlignment = copy_src.clusterBottomLevelByteAlignment; + clusterTemplateBoundsByteAlignment = copy_src.clusterTemplateBoundsByteAlignment; + maxClusterGeometryIndex = copy_src.maxClusterGeometryIndex; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV& +safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::operator=( + const safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxVerticesPerCluster = copy_src.maxVerticesPerCluster; + maxTrianglesPerCluster = copy_src.maxTrianglesPerCluster; + clusterScratchByteAlignment = copy_src.clusterScratchByteAlignment; + clusterByteAlignment = copy_src.clusterByteAlignment; + clusterTemplateByteAlignment = copy_src.clusterTemplateByteAlignment; + clusterBottomLevelByteAlignment = copy_src.clusterBottomLevelByteAlignment; + clusterTemplateBoundsByteAlignment = copy_src.clusterTemplateBoundsByteAlignment; + maxClusterGeometryIndex = copy_src.maxClusterGeometryIndex; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::~safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::initialize( + const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxVerticesPerCluster = in_struct->maxVerticesPerCluster; + maxTrianglesPerCluster = in_struct->maxTrianglesPerCluster; + clusterScratchByteAlignment = in_struct->clusterScratchByteAlignment; + clusterByteAlignment = in_struct->clusterByteAlignment; + clusterTemplateByteAlignment = in_struct->clusterTemplateByteAlignment; + clusterBottomLevelByteAlignment = in_struct->clusterBottomLevelByteAlignment; + clusterTemplateBoundsByteAlignment = in_struct->clusterTemplateBoundsByteAlignment; + maxClusterGeometryIndex = in_struct->maxClusterGeometryIndex; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV::initialize( + const safe_VkPhysicalDeviceClusterAccelerationStructurePropertiesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxVerticesPerCluster = copy_src->maxVerticesPerCluster; + maxTrianglesPerCluster = copy_src->maxTrianglesPerCluster; + clusterScratchByteAlignment = copy_src->clusterScratchByteAlignment; + clusterByteAlignment = copy_src->clusterByteAlignment; + clusterTemplateByteAlignment = copy_src->clusterTemplateByteAlignment; + clusterBottomLevelByteAlignment = copy_src->clusterBottomLevelByteAlignment; + clusterTemplateBoundsByteAlignment = copy_src->clusterTemplateBoundsByteAlignment; + maxClusterGeometryIndex = copy_src->maxClusterGeometryIndex; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::safe_VkClusterAccelerationStructureClustersBottomLevelInputNV( + const VkClusterAccelerationStructureClustersBottomLevelInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + maxTotalClusterCount(in_struct->maxTotalClusterCount), + maxClusterCountPerAccelerationStructure(in_struct->maxClusterCountPerAccelerationStructure) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::safe_VkClusterAccelerationStructureClustersBottomLevelInputNV() + : sType(VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV), + pNext(nullptr), + maxTotalClusterCount(), + maxClusterCountPerAccelerationStructure() {} + +safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::safe_VkClusterAccelerationStructureClustersBottomLevelInputNV( + const safe_VkClusterAccelerationStructureClustersBottomLevelInputNV& copy_src) { + sType = copy_src.sType; + maxTotalClusterCount = copy_src.maxTotalClusterCount; + maxClusterCountPerAccelerationStructure = copy_src.maxClusterCountPerAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkClusterAccelerationStructureClustersBottomLevelInputNV& +safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::operator=( + const safe_VkClusterAccelerationStructureClustersBottomLevelInputNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxTotalClusterCount = copy_src.maxTotalClusterCount; + maxClusterCountPerAccelerationStructure = copy_src.maxClusterCountPerAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::~safe_VkClusterAccelerationStructureClustersBottomLevelInputNV() { + FreePnextChain(pNext); +} + +void safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::initialize( + const VkClusterAccelerationStructureClustersBottomLevelInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxTotalClusterCount = in_struct->maxTotalClusterCount; + maxClusterCountPerAccelerationStructure = in_struct->maxClusterCountPerAccelerationStructure; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkClusterAccelerationStructureClustersBottomLevelInputNV::initialize( + const safe_VkClusterAccelerationStructureClustersBottomLevelInputNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxTotalClusterCount = copy_src->maxTotalClusterCount; + maxClusterCountPerAccelerationStructure = copy_src->maxClusterCountPerAccelerationStructure; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkClusterAccelerationStructureTriangleClusterInputNV::safe_VkClusterAccelerationStructureTriangleClusterInputNV( + const VkClusterAccelerationStructureTriangleClusterInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + vertexFormat(in_struct->vertexFormat), + maxGeometryIndexValue(in_struct->maxGeometryIndexValue), + maxClusterUniqueGeometryCount(in_struct->maxClusterUniqueGeometryCount), + maxClusterTriangleCount(in_struct->maxClusterTriangleCount), + maxClusterVertexCount(in_struct->maxClusterVertexCount), + maxTotalTriangleCount(in_struct->maxTotalTriangleCount), + maxTotalVertexCount(in_struct->maxTotalVertexCount), + minPositionTruncateBitCount(in_struct->minPositionTruncateBitCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkClusterAccelerationStructureTriangleClusterInputNV::safe_VkClusterAccelerationStructureTriangleClusterInputNV() + : sType(VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV), + pNext(nullptr), + vertexFormat(), + maxGeometryIndexValue(), + maxClusterUniqueGeometryCount(), + maxClusterTriangleCount(), + maxClusterVertexCount(), + maxTotalTriangleCount(), + maxTotalVertexCount(), + minPositionTruncateBitCount() {} + +safe_VkClusterAccelerationStructureTriangleClusterInputNV::safe_VkClusterAccelerationStructureTriangleClusterInputNV( + const safe_VkClusterAccelerationStructureTriangleClusterInputNV& copy_src) { + sType = copy_src.sType; + vertexFormat = copy_src.vertexFormat; + maxGeometryIndexValue = copy_src.maxGeometryIndexValue; + maxClusterUniqueGeometryCount = copy_src.maxClusterUniqueGeometryCount; + maxClusterTriangleCount = copy_src.maxClusterTriangleCount; + maxClusterVertexCount = copy_src.maxClusterVertexCount; + maxTotalTriangleCount = copy_src.maxTotalTriangleCount; + maxTotalVertexCount = copy_src.maxTotalVertexCount; + minPositionTruncateBitCount = copy_src.minPositionTruncateBitCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkClusterAccelerationStructureTriangleClusterInputNV& safe_VkClusterAccelerationStructureTriangleClusterInputNV::operator=( + const safe_VkClusterAccelerationStructureTriangleClusterInputNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + vertexFormat = copy_src.vertexFormat; + maxGeometryIndexValue = copy_src.maxGeometryIndexValue; + maxClusterUniqueGeometryCount = copy_src.maxClusterUniqueGeometryCount; + maxClusterTriangleCount = copy_src.maxClusterTriangleCount; + maxClusterVertexCount = copy_src.maxClusterVertexCount; + maxTotalTriangleCount = copy_src.maxTotalTriangleCount; + maxTotalVertexCount = copy_src.maxTotalVertexCount; + minPositionTruncateBitCount = copy_src.minPositionTruncateBitCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkClusterAccelerationStructureTriangleClusterInputNV::~safe_VkClusterAccelerationStructureTriangleClusterInputNV() { + FreePnextChain(pNext); +} + +void safe_VkClusterAccelerationStructureTriangleClusterInputNV::initialize( + const VkClusterAccelerationStructureTriangleClusterInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + vertexFormat = in_struct->vertexFormat; + maxGeometryIndexValue = in_struct->maxGeometryIndexValue; + maxClusterUniqueGeometryCount = in_struct->maxClusterUniqueGeometryCount; + maxClusterTriangleCount = in_struct->maxClusterTriangleCount; + maxClusterVertexCount = in_struct->maxClusterVertexCount; + maxTotalTriangleCount = in_struct->maxTotalTriangleCount; + maxTotalVertexCount = in_struct->maxTotalVertexCount; + minPositionTruncateBitCount = in_struct->minPositionTruncateBitCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkClusterAccelerationStructureTriangleClusterInputNV::initialize( + const safe_VkClusterAccelerationStructureTriangleClusterInputNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + vertexFormat = copy_src->vertexFormat; + maxGeometryIndexValue = copy_src->maxGeometryIndexValue; + maxClusterUniqueGeometryCount = copy_src->maxClusterUniqueGeometryCount; + maxClusterTriangleCount = copy_src->maxClusterTriangleCount; + maxClusterVertexCount = copy_src->maxClusterVertexCount; + maxTotalTriangleCount = copy_src->maxTotalTriangleCount; + maxTotalVertexCount = copy_src->maxTotalVertexCount; + minPositionTruncateBitCount = copy_src->minPositionTruncateBitCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkClusterAccelerationStructureMoveObjectsInputNV::safe_VkClusterAccelerationStructureMoveObjectsInputNV( + const VkClusterAccelerationStructureMoveObjectsInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + type(in_struct->type), + noMoveOverlap(in_struct->noMoveOverlap), + maxMovedBytes(in_struct->maxMovedBytes) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkClusterAccelerationStructureMoveObjectsInputNV::safe_VkClusterAccelerationStructureMoveObjectsInputNV() + : sType(VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV), + pNext(nullptr), + type(), + noMoveOverlap(), + maxMovedBytes() {} + +safe_VkClusterAccelerationStructureMoveObjectsInputNV::safe_VkClusterAccelerationStructureMoveObjectsInputNV( + const safe_VkClusterAccelerationStructureMoveObjectsInputNV& copy_src) { + sType = copy_src.sType; + type = copy_src.type; + noMoveOverlap = copy_src.noMoveOverlap; + maxMovedBytes = copy_src.maxMovedBytes; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkClusterAccelerationStructureMoveObjectsInputNV& safe_VkClusterAccelerationStructureMoveObjectsInputNV::operator=( + const safe_VkClusterAccelerationStructureMoveObjectsInputNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + type = copy_src.type; + noMoveOverlap = copy_src.noMoveOverlap; + maxMovedBytes = copy_src.maxMovedBytes; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkClusterAccelerationStructureMoveObjectsInputNV::~safe_VkClusterAccelerationStructureMoveObjectsInputNV() { + FreePnextChain(pNext); +} + +void safe_VkClusterAccelerationStructureMoveObjectsInputNV::initialize( + const VkClusterAccelerationStructureMoveObjectsInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + type = in_struct->type; + noMoveOverlap = in_struct->noMoveOverlap; + maxMovedBytes = in_struct->maxMovedBytes; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkClusterAccelerationStructureMoveObjectsInputNV::initialize( + const safe_VkClusterAccelerationStructureMoveObjectsInputNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + type = copy_src->type; + noMoveOverlap = copy_src->noMoveOverlap; + maxMovedBytes = copy_src->maxMovedBytes; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkClusterAccelerationStructureOpInputNV::safe_VkClusterAccelerationStructureOpInputNV( + const VkClusterAccelerationStructureOpInputNV* in_struct, PNextCopyState*) { + initialize(in_struct); +} + +safe_VkClusterAccelerationStructureOpInputNV::safe_VkClusterAccelerationStructureOpInputNV() : pClustersBottomLevel(nullptr) {} + +safe_VkClusterAccelerationStructureOpInputNV::safe_VkClusterAccelerationStructureOpInputNV( + const safe_VkClusterAccelerationStructureOpInputNV& copy_src) { + pClustersBottomLevel = nullptr; + pTriangleClusters = nullptr; + pMoveObjects = nullptr; + if (copy_src.pClustersBottomLevel) + pClustersBottomLevel = new safe_VkClusterAccelerationStructureClustersBottomLevelInputNV(*copy_src.pClustersBottomLevel); + if (copy_src.pTriangleClusters) + pTriangleClusters = new safe_VkClusterAccelerationStructureTriangleClusterInputNV(*copy_src.pTriangleClusters); + if (copy_src.pMoveObjects) pMoveObjects = new safe_VkClusterAccelerationStructureMoveObjectsInputNV(*copy_src.pMoveObjects); +} + +safe_VkClusterAccelerationStructureOpInputNV& safe_VkClusterAccelerationStructureOpInputNV::operator=( + const safe_VkClusterAccelerationStructureOpInputNV& copy_src) { + if (©_src == this) return *this; + + if (pClustersBottomLevel) delete pClustersBottomLevel; + if (pTriangleClusters) delete pTriangleClusters; + if (pMoveObjects) delete pMoveObjects; + + pClustersBottomLevel = nullptr; + pTriangleClusters = nullptr; + pMoveObjects = nullptr; + if (copy_src.pClustersBottomLevel) + pClustersBottomLevel = new safe_VkClusterAccelerationStructureClustersBottomLevelInputNV(*copy_src.pClustersBottomLevel); + if (copy_src.pTriangleClusters) + pTriangleClusters = new safe_VkClusterAccelerationStructureTriangleClusterInputNV(*copy_src.pTriangleClusters); + if (copy_src.pMoveObjects) pMoveObjects = new safe_VkClusterAccelerationStructureMoveObjectsInputNV(*copy_src.pMoveObjects); + + return *this; +} + +safe_VkClusterAccelerationStructureOpInputNV::~safe_VkClusterAccelerationStructureOpInputNV() { + if (pClustersBottomLevel) delete pClustersBottomLevel; + if (pTriangleClusters) delete pTriangleClusters; + if (pMoveObjects) delete pMoveObjects; +} + +void safe_VkClusterAccelerationStructureOpInputNV::initialize(const VkClusterAccelerationStructureOpInputNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pClustersBottomLevel) delete pClustersBottomLevel; + if (pTriangleClusters) delete pTriangleClusters; + if (pMoveObjects) delete pMoveObjects; + pClustersBottomLevel = nullptr; + pTriangleClusters = nullptr; + pMoveObjects = nullptr; + if (in_struct->pClustersBottomLevel) + pClustersBottomLevel = new safe_VkClusterAccelerationStructureClustersBottomLevelInputNV(in_struct->pClustersBottomLevel); + if (in_struct->pTriangleClusters) + pTriangleClusters = new safe_VkClusterAccelerationStructureTriangleClusterInputNV(in_struct->pTriangleClusters); + if (in_struct->pMoveObjects) pMoveObjects = new safe_VkClusterAccelerationStructureMoveObjectsInputNV(in_struct->pMoveObjects); +} + +void safe_VkClusterAccelerationStructureOpInputNV::initialize(const safe_VkClusterAccelerationStructureOpInputNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + pClustersBottomLevel = nullptr; + pTriangleClusters = nullptr; + pMoveObjects = nullptr; + if (copy_src->pClustersBottomLevel) + pClustersBottomLevel = new safe_VkClusterAccelerationStructureClustersBottomLevelInputNV(*copy_src->pClustersBottomLevel); + if (copy_src->pTriangleClusters) + pTriangleClusters = new safe_VkClusterAccelerationStructureTriangleClusterInputNV(*copy_src->pTriangleClusters); + if (copy_src->pMoveObjects) pMoveObjects = new safe_VkClusterAccelerationStructureMoveObjectsInputNV(*copy_src->pMoveObjects); +} + +safe_VkClusterAccelerationStructureInputInfoNV::safe_VkClusterAccelerationStructureInputInfoNV( + const VkClusterAccelerationStructureInputInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + maxAccelerationStructureCount(in_struct->maxAccelerationStructureCount), + flags(in_struct->flags), + opType(in_struct->opType), + opMode(in_struct->opMode), + opInput(&in_struct->opInput) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkClusterAccelerationStructureInputInfoNV::safe_VkClusterAccelerationStructureInputInfoNV() + : sType(VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV), + pNext(nullptr), + maxAccelerationStructureCount(), + flags(), + opType(), + opMode() {} + +safe_VkClusterAccelerationStructureInputInfoNV::safe_VkClusterAccelerationStructureInputInfoNV( + const safe_VkClusterAccelerationStructureInputInfoNV& copy_src) { + sType = copy_src.sType; + maxAccelerationStructureCount = copy_src.maxAccelerationStructureCount; + flags = copy_src.flags; + opType = copy_src.opType; + opMode = copy_src.opMode; + opInput.initialize(©_src.opInput); + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkClusterAccelerationStructureInputInfoNV& safe_VkClusterAccelerationStructureInputInfoNV::operator=( + const safe_VkClusterAccelerationStructureInputInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxAccelerationStructureCount = copy_src.maxAccelerationStructureCount; + flags = copy_src.flags; + opType = copy_src.opType; + opMode = copy_src.opMode; + opInput.initialize(©_src.opInput); + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkClusterAccelerationStructureInputInfoNV::~safe_VkClusterAccelerationStructureInputInfoNV() { FreePnextChain(pNext); } + +void safe_VkClusterAccelerationStructureInputInfoNV::initialize(const VkClusterAccelerationStructureInputInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxAccelerationStructureCount = in_struct->maxAccelerationStructureCount; + flags = in_struct->flags; + opType = in_struct->opType; + opMode = in_struct->opMode; + opInput.initialize(&in_struct->opInput); + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkClusterAccelerationStructureInputInfoNV::initialize(const safe_VkClusterAccelerationStructureInputInfoNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxAccelerationStructureCount = copy_src->maxAccelerationStructureCount; + flags = copy_src->flags; + opType = copy_src->opType; + opMode = copy_src->opMode; + opInput.initialize(©_src->opInput); + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkClusterAccelerationStructureCommandsInfoNV::safe_VkClusterAccelerationStructureCommandsInfoNV( + const VkClusterAccelerationStructureCommandsInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + input(&in_struct->input), + dstImplicitData(in_struct->dstImplicitData), + scratchData(in_struct->scratchData), + dstAddressesArray(in_struct->dstAddressesArray), + dstSizesArray(in_struct->dstSizesArray), + srcInfosArray(in_struct->srcInfosArray), + srcInfosCount(in_struct->srcInfosCount), + addressResolutionFlags(in_struct->addressResolutionFlags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkClusterAccelerationStructureCommandsInfoNV::safe_VkClusterAccelerationStructureCommandsInfoNV() + : sType(VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV), + pNext(nullptr), + dstImplicitData(), + scratchData(), + dstAddressesArray(), + dstSizesArray(), + srcInfosArray(), + srcInfosCount(), + addressResolutionFlags() {} + +safe_VkClusterAccelerationStructureCommandsInfoNV::safe_VkClusterAccelerationStructureCommandsInfoNV( + const safe_VkClusterAccelerationStructureCommandsInfoNV& copy_src) { + sType = copy_src.sType; + input.initialize(©_src.input); + dstImplicitData = copy_src.dstImplicitData; + scratchData = copy_src.scratchData; + dstAddressesArray = copy_src.dstAddressesArray; + dstSizesArray = copy_src.dstSizesArray; + srcInfosArray = copy_src.srcInfosArray; + srcInfosCount = copy_src.srcInfosCount; + addressResolutionFlags = copy_src.addressResolutionFlags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkClusterAccelerationStructureCommandsInfoNV& safe_VkClusterAccelerationStructureCommandsInfoNV::operator=( + const safe_VkClusterAccelerationStructureCommandsInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + input.initialize(©_src.input); + dstImplicitData = copy_src.dstImplicitData; + scratchData = copy_src.scratchData; + dstAddressesArray = copy_src.dstAddressesArray; + dstSizesArray = copy_src.dstSizesArray; + srcInfosArray = copy_src.srcInfosArray; + srcInfosCount = copy_src.srcInfosCount; + addressResolutionFlags = copy_src.addressResolutionFlags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkClusterAccelerationStructureCommandsInfoNV::~safe_VkClusterAccelerationStructureCommandsInfoNV() { FreePnextChain(pNext); } + +void safe_VkClusterAccelerationStructureCommandsInfoNV::initialize(const VkClusterAccelerationStructureCommandsInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + input.initialize(&in_struct->input); + dstImplicitData = in_struct->dstImplicitData; + scratchData = in_struct->scratchData; + dstAddressesArray = in_struct->dstAddressesArray; + dstSizesArray = in_struct->dstSizesArray; + srcInfosArray = in_struct->srcInfosArray; + srcInfosCount = in_struct->srcInfosCount; + addressResolutionFlags = in_struct->addressResolutionFlags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkClusterAccelerationStructureCommandsInfoNV::initialize( + const safe_VkClusterAccelerationStructureCommandsInfoNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + input.initialize(©_src->input); + dstImplicitData = copy_src->dstImplicitData; + scratchData = copy_src->scratchData; + dstAddressesArray = copy_src->dstAddressesArray; + dstSizesArray = copy_src->dstSizesArray; + srcInfosArray = copy_src->srcInfosArray; + srcInfosCount = copy_src->srcInfosCount; + addressResolutionFlags = copy_src->addressResolutionFlags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV:: + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV( + const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), allowClusterAccelerationStructure(in_struct->allowClusterAccelerationStructure) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV:: + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV() + : sType(VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV), + pNext(nullptr), + allowClusterAccelerationStructure() {} + +safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV:: + safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV( + const safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV& copy_src) { + sType = copy_src.sType; + allowClusterAccelerationStructure = copy_src.allowClusterAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV& +safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV::operator=( + const safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + allowClusterAccelerationStructure = copy_src.allowClusterAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV:: + ~safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV() { + FreePnextChain(pNext); +} + +void safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV::initialize( + const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + allowClusterAccelerationStructure = in_struct->allowClusterAccelerationStructure; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV::initialize( + const safe_VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + allowClusterAccelerationStructure = copy_src->allowClusterAccelerationStructure; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV::safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV( + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), partitionedAccelerationStructure(in_struct->partitionedAccelerationStructure) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV::safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV), + pNext(nullptr), + partitionedAccelerationStructure() {} + +safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV::safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV( + const safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV& copy_src) { + sType = copy_src.sType; + partitionedAccelerationStructure = copy_src.partitionedAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV& +safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV::operator=( + const safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + partitionedAccelerationStructure = copy_src.partitionedAccelerationStructure; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV:: + ~safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV::initialize( + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + partitionedAccelerationStructure = in_struct->partitionedAccelerationStructure; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV::initialize( + const safe_VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + partitionedAccelerationStructure = copy_src->partitionedAccelerationStructure; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV:: + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV( + const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), maxPartitionCount(in_struct->maxPartitionCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV:: + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV), + pNext(nullptr), + maxPartitionCount() {} + +safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV:: + safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV( + const safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV& copy_src) { + sType = copy_src.sType; + maxPartitionCount = copy_src.maxPartitionCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV& +safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV::operator=( + const safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxPartitionCount = copy_src.maxPartitionCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV:: + ~safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV::initialize( + const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxPartitionCount = in_struct->maxPartitionCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV::initialize( + const safe_VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxPartitionCount = copy_src->maxPartitionCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPartitionedAccelerationStructureFlagsNV::safe_VkPartitionedAccelerationStructureFlagsNV( + const VkPartitionedAccelerationStructureFlagsNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), enablePartitionTranslation(in_struct->enablePartitionTranslation) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPartitionedAccelerationStructureFlagsNV::safe_VkPartitionedAccelerationStructureFlagsNV() + : sType(VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV), pNext(nullptr), enablePartitionTranslation() {} + +safe_VkPartitionedAccelerationStructureFlagsNV::safe_VkPartitionedAccelerationStructureFlagsNV( + const safe_VkPartitionedAccelerationStructureFlagsNV& copy_src) { + sType = copy_src.sType; + enablePartitionTranslation = copy_src.enablePartitionTranslation; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPartitionedAccelerationStructureFlagsNV& safe_VkPartitionedAccelerationStructureFlagsNV::operator=( + const safe_VkPartitionedAccelerationStructureFlagsNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + enablePartitionTranslation = copy_src.enablePartitionTranslation; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPartitionedAccelerationStructureFlagsNV::~safe_VkPartitionedAccelerationStructureFlagsNV() { FreePnextChain(pNext); } + +void safe_VkPartitionedAccelerationStructureFlagsNV::initialize(const VkPartitionedAccelerationStructureFlagsNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + enablePartitionTranslation = in_struct->enablePartitionTranslation; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPartitionedAccelerationStructureFlagsNV::initialize(const safe_VkPartitionedAccelerationStructureFlagsNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + enablePartitionTranslation = copy_src->enablePartitionTranslation; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV( + const VkWriteDescriptorSetPartitionedAccelerationStructureNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), accelerationStructureCount(in_struct->accelerationStructureCount), pAccelerationStructures(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pAccelerationStructures) { + pAccelerationStructures = new VkDeviceAddress[in_struct->accelerationStructureCount]; + memcpy((void*)pAccelerationStructures, (void*)in_struct->pAccelerationStructures, + sizeof(VkDeviceAddress) * in_struct->accelerationStructureCount); + } +} + +safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV() + : sType(VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV), + pNext(nullptr), + accelerationStructureCount(), + pAccelerationStructures(nullptr) {} + +safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV( + const safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV& copy_src) { + sType = copy_src.sType; + accelerationStructureCount = copy_src.accelerationStructureCount; + pAccelerationStructures = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pAccelerationStructures) { + pAccelerationStructures = new VkDeviceAddress[copy_src.accelerationStructureCount]; + memcpy((void*)pAccelerationStructures, (void*)copy_src.pAccelerationStructures, + sizeof(VkDeviceAddress) * copy_src.accelerationStructureCount); + } +} + +safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV& safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::operator=( + const safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV& copy_src) { + if (©_src == this) return *this; + + if (pAccelerationStructures) delete[] pAccelerationStructures; + FreePnextChain(pNext); + + sType = copy_src.sType; + accelerationStructureCount = copy_src.accelerationStructureCount; + pAccelerationStructures = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pAccelerationStructures) { + pAccelerationStructures = new VkDeviceAddress[copy_src.accelerationStructureCount]; + memcpy((void*)pAccelerationStructures, (void*)copy_src.pAccelerationStructures, + sizeof(VkDeviceAddress) * copy_src.accelerationStructureCount); + } + + return *this; +} + +safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::~safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV() { + if (pAccelerationStructures) delete[] pAccelerationStructures; + FreePnextChain(pNext); +} + +void safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::initialize( + const VkWriteDescriptorSetPartitionedAccelerationStructureNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pAccelerationStructures) delete[] pAccelerationStructures; + FreePnextChain(pNext); + sType = in_struct->sType; + accelerationStructureCount = in_struct->accelerationStructureCount; + pAccelerationStructures = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pAccelerationStructures) { + pAccelerationStructures = new VkDeviceAddress[in_struct->accelerationStructureCount]; + memcpy((void*)pAccelerationStructures, (void*)in_struct->pAccelerationStructures, + sizeof(VkDeviceAddress) * in_struct->accelerationStructureCount); + } +} + +void safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV::initialize( + const safe_VkWriteDescriptorSetPartitionedAccelerationStructureNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + accelerationStructureCount = copy_src->accelerationStructureCount; + pAccelerationStructures = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pAccelerationStructures) { + pAccelerationStructures = new VkDeviceAddress[copy_src->accelerationStructureCount]; + memcpy((void*)pAccelerationStructures, (void*)copy_src->pAccelerationStructures, + sizeof(VkDeviceAddress) * copy_src->accelerationStructureCount); + } +} + +safe_VkPartitionedAccelerationStructureInstancesInputNV::safe_VkPartitionedAccelerationStructureInstancesInputNV( + const VkPartitionedAccelerationStructureInstancesInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + flags(in_struct->flags), + instanceCount(in_struct->instanceCount), + maxInstancePerPartitionCount(in_struct->maxInstancePerPartitionCount), + partitionCount(in_struct->partitionCount), + maxInstanceInGlobalPartitionCount(in_struct->maxInstanceInGlobalPartitionCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPartitionedAccelerationStructureInstancesInputNV::safe_VkPartitionedAccelerationStructureInstancesInputNV() + : sType(VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV), + pNext(nullptr), + flags(), + instanceCount(), + maxInstancePerPartitionCount(), + partitionCount(), + maxInstanceInGlobalPartitionCount() {} + +safe_VkPartitionedAccelerationStructureInstancesInputNV::safe_VkPartitionedAccelerationStructureInstancesInputNV( + const safe_VkPartitionedAccelerationStructureInstancesInputNV& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + instanceCount = copy_src.instanceCount; + maxInstancePerPartitionCount = copy_src.maxInstancePerPartitionCount; + partitionCount = copy_src.partitionCount; + maxInstanceInGlobalPartitionCount = copy_src.maxInstanceInGlobalPartitionCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPartitionedAccelerationStructureInstancesInputNV& safe_VkPartitionedAccelerationStructureInstancesInputNV::operator=( + const safe_VkPartitionedAccelerationStructureInstancesInputNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + instanceCount = copy_src.instanceCount; + maxInstancePerPartitionCount = copy_src.maxInstancePerPartitionCount; + partitionCount = copy_src.partitionCount; + maxInstanceInGlobalPartitionCount = copy_src.maxInstanceInGlobalPartitionCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPartitionedAccelerationStructureInstancesInputNV::~safe_VkPartitionedAccelerationStructureInstancesInputNV() { + FreePnextChain(pNext); +} + +void safe_VkPartitionedAccelerationStructureInstancesInputNV::initialize( + const VkPartitionedAccelerationStructureInstancesInputNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + instanceCount = in_struct->instanceCount; + maxInstancePerPartitionCount = in_struct->maxInstancePerPartitionCount; + partitionCount = in_struct->partitionCount; + maxInstanceInGlobalPartitionCount = in_struct->maxInstanceInGlobalPartitionCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPartitionedAccelerationStructureInstancesInputNV::initialize( + const safe_VkPartitionedAccelerationStructureInstancesInputNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + instanceCount = copy_src->instanceCount; + maxInstancePerPartitionCount = copy_src->maxInstancePerPartitionCount; + partitionCount = copy_src->partitionCount; + maxInstanceInGlobalPartitionCount = copy_src->maxInstanceInGlobalPartitionCount; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkBuildPartitionedAccelerationStructureInfoNV::safe_VkBuildPartitionedAccelerationStructureInfoNV( + const VkBuildPartitionedAccelerationStructureInfoNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + input(&in_struct->input), + srcAccelerationStructureData(in_struct->srcAccelerationStructureData), + dstAccelerationStructureData(in_struct->dstAccelerationStructureData), + scratchData(in_struct->scratchData), + srcInfos(in_struct->srcInfos), + srcInfosCount(in_struct->srcInfosCount) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkBuildPartitionedAccelerationStructureInfoNV::safe_VkBuildPartitionedAccelerationStructureInfoNV() + : sType(VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV), + pNext(nullptr), + srcAccelerationStructureData(), + dstAccelerationStructureData(), + scratchData(), + srcInfos(), + srcInfosCount() {} + +safe_VkBuildPartitionedAccelerationStructureInfoNV::safe_VkBuildPartitionedAccelerationStructureInfoNV( + const safe_VkBuildPartitionedAccelerationStructureInfoNV& copy_src) { + sType = copy_src.sType; + input.initialize(©_src.input); + srcAccelerationStructureData = copy_src.srcAccelerationStructureData; + dstAccelerationStructureData = copy_src.dstAccelerationStructureData; + scratchData = copy_src.scratchData; + srcInfos = copy_src.srcInfos; + srcInfosCount = copy_src.srcInfosCount; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkBuildPartitionedAccelerationStructureInfoNV& safe_VkBuildPartitionedAccelerationStructureInfoNV::operator=( + const safe_VkBuildPartitionedAccelerationStructureInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + input.initialize(©_src.input); + srcAccelerationStructureData = copy_src.srcAccelerationStructureData; + dstAccelerationStructureData = copy_src.dstAccelerationStructureData; + scratchData = copy_src.scratchData; + srcInfos = copy_src.srcInfos; + srcInfosCount = copy_src.srcInfosCount; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkBuildPartitionedAccelerationStructureInfoNV::~safe_VkBuildPartitionedAccelerationStructureInfoNV() { FreePnextChain(pNext); } + +void safe_VkBuildPartitionedAccelerationStructureInfoNV::initialize(const VkBuildPartitionedAccelerationStructureInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + input.initialize(&in_struct->input); + srcAccelerationStructureData = in_struct->srcAccelerationStructureData; + dstAccelerationStructureData = in_struct->dstAccelerationStructureData; + scratchData = in_struct->scratchData; + srcInfos = in_struct->srcInfos; + srcInfosCount = in_struct->srcInfosCount; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkBuildPartitionedAccelerationStructureInfoNV::initialize( + const safe_VkBuildPartitionedAccelerationStructureInfoNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + input.initialize(©_src->input); + srcAccelerationStructureData = copy_src->srcAccelerationStructureData; + dstAccelerationStructureData = copy_src->dstAccelerationStructureData; + scratchData = copy_src->scratchData; + srcInfos = copy_src->srcInfos; + srcInfosCount = copy_src->srcInfosCount; + pNext = SafePnextCopy(copy_src->pNext); +} + safe_VkPhysicalDeviceImageAlignmentControlFeaturesMESA::safe_VkPhysicalDeviceImageAlignmentControlFeaturesMESA( const VkPhysicalDeviceImageAlignmentControlFeaturesMESA* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) @@ -15610,6 +22564,245 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPushConstantBankInfoNV::safe_VkPushConstantBankInfoNV(const VkPushConstantBankInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), bank(in_struct->bank) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPushConstantBankInfoNV::safe_VkPushConstantBankInfoNV() + : sType(VK_STRUCTURE_TYPE_PUSH_CONSTANT_BANK_INFO_NV), pNext(nullptr), bank() {} + +safe_VkPushConstantBankInfoNV::safe_VkPushConstantBankInfoNV(const safe_VkPushConstantBankInfoNV& copy_src) { + sType = copy_src.sType; + bank = copy_src.bank; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPushConstantBankInfoNV& safe_VkPushConstantBankInfoNV::operator=(const safe_VkPushConstantBankInfoNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + bank = copy_src.bank; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPushConstantBankInfoNV::~safe_VkPushConstantBankInfoNV() { FreePnextChain(pNext); } + +void safe_VkPushConstantBankInfoNV::initialize(const VkPushConstantBankInfoNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + bank = in_struct->bank; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPushConstantBankInfoNV::initialize(const safe_VkPushConstantBankInfoNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + bank = copy_src->bank; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePushConstantBankFeaturesNV::safe_VkPhysicalDevicePushConstantBankFeaturesNV( + const VkPhysicalDevicePushConstantBankFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pushConstantBank(in_struct->pushConstantBank) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePushConstantBankFeaturesNV::safe_VkPhysicalDevicePushConstantBankFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_FEATURES_NV), pNext(nullptr), pushConstantBank() {} + +safe_VkPhysicalDevicePushConstantBankFeaturesNV::safe_VkPhysicalDevicePushConstantBankFeaturesNV( + const safe_VkPhysicalDevicePushConstantBankFeaturesNV& copy_src) { + sType = copy_src.sType; + pushConstantBank = copy_src.pushConstantBank; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePushConstantBankFeaturesNV& safe_VkPhysicalDevicePushConstantBankFeaturesNV::operator=( + const safe_VkPhysicalDevicePushConstantBankFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pushConstantBank = copy_src.pushConstantBank; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePushConstantBankFeaturesNV::~safe_VkPhysicalDevicePushConstantBankFeaturesNV() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePushConstantBankFeaturesNV::initialize(const VkPhysicalDevicePushConstantBankFeaturesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pushConstantBank = in_struct->pushConstantBank; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePushConstantBankFeaturesNV::initialize(const safe_VkPhysicalDevicePushConstantBankFeaturesNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pushConstantBank = copy_src->pushConstantBank; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePushConstantBankPropertiesNV::safe_VkPhysicalDevicePushConstantBankPropertiesNV( + const VkPhysicalDevicePushConstantBankPropertiesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + maxGraphicsPushConstantBanks(in_struct->maxGraphicsPushConstantBanks), + maxComputePushConstantBanks(in_struct->maxComputePushConstantBanks), + maxGraphicsPushDataBanks(in_struct->maxGraphicsPushDataBanks), + maxComputePushDataBanks(in_struct->maxComputePushDataBanks) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePushConstantBankPropertiesNV::safe_VkPhysicalDevicePushConstantBankPropertiesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_CONSTANT_BANK_PROPERTIES_NV), + pNext(nullptr), + maxGraphicsPushConstantBanks(), + maxComputePushConstantBanks(), + maxGraphicsPushDataBanks(), + maxComputePushDataBanks() {} + +safe_VkPhysicalDevicePushConstantBankPropertiesNV::safe_VkPhysicalDevicePushConstantBankPropertiesNV( + const safe_VkPhysicalDevicePushConstantBankPropertiesNV& copy_src) { + sType = copy_src.sType; + maxGraphicsPushConstantBanks = copy_src.maxGraphicsPushConstantBanks; + maxComputePushConstantBanks = copy_src.maxComputePushConstantBanks; + maxGraphicsPushDataBanks = copy_src.maxGraphicsPushDataBanks; + maxComputePushDataBanks = copy_src.maxComputePushDataBanks; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePushConstantBankPropertiesNV& safe_VkPhysicalDevicePushConstantBankPropertiesNV::operator=( + const safe_VkPhysicalDevicePushConstantBankPropertiesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxGraphicsPushConstantBanks = copy_src.maxGraphicsPushConstantBanks; + maxComputePushConstantBanks = copy_src.maxComputePushConstantBanks; + maxGraphicsPushDataBanks = copy_src.maxGraphicsPushDataBanks; + maxComputePushDataBanks = copy_src.maxComputePushDataBanks; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePushConstantBankPropertiesNV::~safe_VkPhysicalDevicePushConstantBankPropertiesNV() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePushConstantBankPropertiesNV::initialize(const VkPhysicalDevicePushConstantBankPropertiesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxGraphicsPushConstantBanks = in_struct->maxGraphicsPushConstantBanks; + maxComputePushConstantBanks = in_struct->maxComputePushConstantBanks; + maxGraphicsPushDataBanks = in_struct->maxGraphicsPushDataBanks; + maxComputePushDataBanks = in_struct->maxComputePushDataBanks; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePushConstantBankPropertiesNV::initialize( + const safe_VkPhysicalDevicePushConstantBankPropertiesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxGraphicsPushConstantBanks = copy_src->maxGraphicsPushConstantBanks; + maxComputePushConstantBanks = copy_src->maxComputePushConstantBanks; + maxGraphicsPushDataBanks = copy_src->maxGraphicsPushDataBanks; + maxComputePushDataBanks = copy_src->maxComputePushDataBanks; + pNext = SafePnextCopy(copy_src->pNext); +} +#ifdef VK_USE_PLATFORM_OHOS + +safe_VkSurfaceCreateInfoOHOS::safe_VkSurfaceCreateInfoOHOS(const VkSurfaceCreateInfoOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), window(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->window) { + window = new OHNativeWindow(*in_struct->window); + } +} + +safe_VkSurfaceCreateInfoOHOS::safe_VkSurfaceCreateInfoOHOS() + : sType(VK_STRUCTURE_TYPE_SURFACE_CREATE_INFO_OHOS), pNext(nullptr), flags(), window(nullptr) {} + +safe_VkSurfaceCreateInfoOHOS::safe_VkSurfaceCreateInfoOHOS(const safe_VkSurfaceCreateInfoOHOS& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + window = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.window) { + window = new OHNativeWindow(*copy_src.window); + } +} + +safe_VkSurfaceCreateInfoOHOS& safe_VkSurfaceCreateInfoOHOS::operator=(const safe_VkSurfaceCreateInfoOHOS& copy_src) { + if (©_src == this) return *this; + + if (window) delete window; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + window = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.window) { + window = new OHNativeWindow(*copy_src.window); + } + + return *this; +} + +safe_VkSurfaceCreateInfoOHOS::~safe_VkSurfaceCreateInfoOHOS() { + if (window) delete window; + FreePnextChain(pNext); +} + +void safe_VkSurfaceCreateInfoOHOS::initialize(const VkSurfaceCreateInfoOHOS* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (window) delete window; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + window = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->window) { + window = new OHNativeWindow(*in_struct->window); + } +} + +void safe_VkSurfaceCreateInfoOHOS::initialize(const safe_VkSurfaceCreateInfoOHOS* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + window = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->window) { + window = new OHNativeWindow(*copy_src->window); + } +} +#endif // VK_USE_PLATFORM_OHOS + safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI::safe_VkPhysicalDeviceHdrVividFeaturesHUAWEI( const VkPhysicalDeviceHdrVividFeaturesHUAWEI* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) : sType(in_struct->sType), hdrVivid(in_struct->hdrVivid) { @@ -15973,6 +23166,2287 @@ pNext = SafePnextCopy(copy_src->pNext); } +safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM( + const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), pipelineOpacityMicromap(in_struct->pipelineOpacityMicromap) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM), pNext(nullptr), pipelineOpacityMicromap() {} + +safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM( + const safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM& copy_src) { + sType = copy_src.sType; + pipelineOpacityMicromap = copy_src.pipelineOpacityMicromap; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM& safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::operator=( + const safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pipelineOpacityMicromap = copy_src.pipelineOpacityMicromap; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::~safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::initialize( + const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pipelineOpacityMicromap = in_struct->pipelineOpacityMicromap; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM::initialize( + const safe_VkPhysicalDevicePipelineOpacityMicromapFeaturesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pipelineOpacityMicromap = copy_src->pipelineOpacityMicromap; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM( + const VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), performanceCountersByRegion(in_struct->performanceCountersByRegion) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_FEATURES_ARM), + pNext(nullptr), + performanceCountersByRegion() {} + +safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM( + const safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM& copy_src) { + sType = copy_src.sType; + performanceCountersByRegion = copy_src.performanceCountersByRegion; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM& safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::operator=( + const safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + performanceCountersByRegion = copy_src.performanceCountersByRegion; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::~safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::initialize( + const VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + performanceCountersByRegion = in_struct->performanceCountersByRegion; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM::initialize( + const safe_VkPhysicalDevicePerformanceCountersByRegionFeaturesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + performanceCountersByRegion = copy_src->performanceCountersByRegion; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM( + const VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + maxPerRegionPerformanceCounters(in_struct->maxPerRegionPerformanceCounters), + performanceCounterRegionSize(in_struct->performanceCounterRegionSize), + rowStrideAlignment(in_struct->rowStrideAlignment), + regionAlignment(in_struct->regionAlignment), + identityTransformOrder(in_struct->identityTransformOrder) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_COUNTERS_BY_REGION_PROPERTIES_ARM), + pNext(nullptr), + maxPerRegionPerformanceCounters(), + performanceCounterRegionSize(), + rowStrideAlignment(), + regionAlignment(), + identityTransformOrder() {} + +safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM( + const safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM& copy_src) { + sType = copy_src.sType; + maxPerRegionPerformanceCounters = copy_src.maxPerRegionPerformanceCounters; + performanceCounterRegionSize = copy_src.performanceCounterRegionSize; + rowStrideAlignment = copy_src.rowStrideAlignment; + regionAlignment = copy_src.regionAlignment; + identityTransformOrder = copy_src.identityTransformOrder; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM& +safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::operator=( + const safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxPerRegionPerformanceCounters = copy_src.maxPerRegionPerformanceCounters; + performanceCounterRegionSize = copy_src.performanceCounterRegionSize; + rowStrideAlignment = copy_src.rowStrideAlignment; + regionAlignment = copy_src.regionAlignment; + identityTransformOrder = copy_src.identityTransformOrder; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::~safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::initialize( + const VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxPerRegionPerformanceCounters = in_struct->maxPerRegionPerformanceCounters; + performanceCounterRegionSize = in_struct->performanceCounterRegionSize; + rowStrideAlignment = in_struct->rowStrideAlignment; + regionAlignment = in_struct->regionAlignment; + identityTransformOrder = in_struct->identityTransformOrder; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM::initialize( + const safe_VkPhysicalDevicePerformanceCountersByRegionPropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxPerRegionPerformanceCounters = copy_src->maxPerRegionPerformanceCounters; + performanceCounterRegionSize = copy_src->performanceCounterRegionSize; + rowStrideAlignment = copy_src->rowStrideAlignment; + regionAlignment = copy_src->regionAlignment; + identityTransformOrder = copy_src->identityTransformOrder; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPerformanceCounterARM::safe_VkPerformanceCounterARM(const VkPerformanceCounterARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), counterID(in_struct->counterID) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPerformanceCounterARM::safe_VkPerformanceCounterARM() + : sType(VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_ARM), pNext(nullptr), counterID() {} + +safe_VkPerformanceCounterARM::safe_VkPerformanceCounterARM(const safe_VkPerformanceCounterARM& copy_src) { + sType = copy_src.sType; + counterID = copy_src.counterID; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPerformanceCounterARM& safe_VkPerformanceCounterARM::operator=(const safe_VkPerformanceCounterARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + counterID = copy_src.counterID; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPerformanceCounterARM::~safe_VkPerformanceCounterARM() { FreePnextChain(pNext); } + +void safe_VkPerformanceCounterARM::initialize(const VkPerformanceCounterARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + counterID = in_struct->counterID; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPerformanceCounterARM::initialize(const safe_VkPerformanceCounterARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + counterID = copy_src->counterID; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPerformanceCounterDescriptionARM::safe_VkPerformanceCounterDescriptionARM( + const VkPerformanceCounterDescriptionARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } +} + +safe_VkPerformanceCounterDescriptionARM::safe_VkPerformanceCounterDescriptionARM() + : sType(VK_STRUCTURE_TYPE_PERFORMANCE_COUNTER_DESCRIPTION_ARM), pNext(nullptr), flags() {} + +safe_VkPerformanceCounterDescriptionARM::safe_VkPerformanceCounterDescriptionARM( + const safe_VkPerformanceCounterDescriptionARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = copy_src.name[i]; + } +} + +safe_VkPerformanceCounterDescriptionARM& safe_VkPerformanceCounterDescriptionARM::operator=( + const safe_VkPerformanceCounterDescriptionARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = copy_src.name[i]; + } + + return *this; +} + +safe_VkPerformanceCounterDescriptionARM::~safe_VkPerformanceCounterDescriptionARM() { FreePnextChain(pNext); } + +void safe_VkPerformanceCounterDescriptionARM::initialize(const VkPerformanceCounterDescriptionARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } +} + +void safe_VkPerformanceCounterDescriptionARM::initialize(const safe_VkPerformanceCounterDescriptionARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = copy_src->name[i]; + } +} + +safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM( + const VkRenderPassPerformanceCountersByRegionBeginInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + counterAddressCount(in_struct->counterAddressCount), + pCounterAddresses(nullptr), + serializeRegions(in_struct->serializeRegions), + counterIndexCount(in_struct->counterIndexCount), + pCounterIndices(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pCounterAddresses) { + pCounterAddresses = new VkDeviceAddress[in_struct->counterAddressCount]; + memcpy((void*)pCounterAddresses, (void*)in_struct->pCounterAddresses, + sizeof(VkDeviceAddress) * in_struct->counterAddressCount); + } + + if (in_struct->pCounterIndices) { + pCounterIndices = new uint32_t[in_struct->counterIndexCount]; + memcpy((void*)pCounterIndices, (void*)in_struct->pCounterIndices, sizeof(uint32_t) * in_struct->counterIndexCount); + } +} + +safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM() + : sType(VK_STRUCTURE_TYPE_RENDER_PASS_PERFORMANCE_COUNTERS_BY_REGION_BEGIN_INFO_ARM), + pNext(nullptr), + counterAddressCount(), + pCounterAddresses(nullptr), + serializeRegions(), + counterIndexCount(), + pCounterIndices(nullptr) {} + +safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM( + const safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM& copy_src) { + sType = copy_src.sType; + counterAddressCount = copy_src.counterAddressCount; + pCounterAddresses = nullptr; + serializeRegions = copy_src.serializeRegions; + counterIndexCount = copy_src.counterIndexCount; + pCounterIndices = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pCounterAddresses) { + pCounterAddresses = new VkDeviceAddress[copy_src.counterAddressCount]; + memcpy((void*)pCounterAddresses, (void*)copy_src.pCounterAddresses, sizeof(VkDeviceAddress) * copy_src.counterAddressCount); + } + + if (copy_src.pCounterIndices) { + pCounterIndices = new uint32_t[copy_src.counterIndexCount]; + memcpy((void*)pCounterIndices, (void*)copy_src.pCounterIndices, sizeof(uint32_t) * copy_src.counterIndexCount); + } +} + +safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM& safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::operator=( + const safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pCounterAddresses) delete[] pCounterAddresses; + if (pCounterIndices) delete[] pCounterIndices; + FreePnextChain(pNext); + + sType = copy_src.sType; + counterAddressCount = copy_src.counterAddressCount; + pCounterAddresses = nullptr; + serializeRegions = copy_src.serializeRegions; + counterIndexCount = copy_src.counterIndexCount; + pCounterIndices = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pCounterAddresses) { + pCounterAddresses = new VkDeviceAddress[copy_src.counterAddressCount]; + memcpy((void*)pCounterAddresses, (void*)copy_src.pCounterAddresses, sizeof(VkDeviceAddress) * copy_src.counterAddressCount); + } + + if (copy_src.pCounterIndices) { + pCounterIndices = new uint32_t[copy_src.counterIndexCount]; + memcpy((void*)pCounterIndices, (void*)copy_src.pCounterIndices, sizeof(uint32_t) * copy_src.counterIndexCount); + } + + return *this; +} + +safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::~safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM() { + if (pCounterAddresses) delete[] pCounterAddresses; + if (pCounterIndices) delete[] pCounterIndices; + FreePnextChain(pNext); +} + +void safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::initialize( + const VkRenderPassPerformanceCountersByRegionBeginInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + if (pCounterAddresses) delete[] pCounterAddresses; + if (pCounterIndices) delete[] pCounterIndices; + FreePnextChain(pNext); + sType = in_struct->sType; + counterAddressCount = in_struct->counterAddressCount; + pCounterAddresses = nullptr; + serializeRegions = in_struct->serializeRegions; + counterIndexCount = in_struct->counterIndexCount; + pCounterIndices = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pCounterAddresses) { + pCounterAddresses = new VkDeviceAddress[in_struct->counterAddressCount]; + memcpy((void*)pCounterAddresses, (void*)in_struct->pCounterAddresses, + sizeof(VkDeviceAddress) * in_struct->counterAddressCount); + } + + if (in_struct->pCounterIndices) { + pCounterIndices = new uint32_t[in_struct->counterIndexCount]; + memcpy((void*)pCounterIndices, (void*)in_struct->pCounterIndices, sizeof(uint32_t) * in_struct->counterIndexCount); + } +} + +void safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM::initialize( + const safe_VkRenderPassPerformanceCountersByRegionBeginInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + counterAddressCount = copy_src->counterAddressCount; + pCounterAddresses = nullptr; + serializeRegions = copy_src->serializeRegions; + counterIndexCount = copy_src->counterIndexCount; + pCounterIndices = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pCounterAddresses) { + pCounterAddresses = new VkDeviceAddress[copy_src->counterAddressCount]; + memcpy((void*)pCounterAddresses, (void*)copy_src->pCounterAddresses, + sizeof(VkDeviceAddress) * copy_src->counterAddressCount); + } + + if (copy_src->pCounterIndices) { + pCounterIndices = new uint32_t[copy_src->counterIndexCount]; + memcpy((void*)pCounterIndices, (void*)copy_src->pCounterIndices, sizeof(uint32_t) * copy_src->counterIndexCount); + } +} + +safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM( + const VkPhysicalDeviceShaderInstrumentationFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), shaderInstrumentation(in_struct->shaderInstrumentation) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_FEATURES_ARM), pNext(nullptr), shaderInstrumentation() {} + +safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM( + const safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM& copy_src) { + sType = copy_src.sType; + shaderInstrumentation = copy_src.shaderInstrumentation; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM& safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::operator=( + const safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderInstrumentation = copy_src.shaderInstrumentation; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::~safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::initialize( + const VkPhysicalDeviceShaderInstrumentationFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderInstrumentation = in_struct->shaderInstrumentation; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM::initialize( + const safe_VkPhysicalDeviceShaderInstrumentationFeaturesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderInstrumentation = copy_src->shaderInstrumentation; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM( + const VkPhysicalDeviceShaderInstrumentationPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), numMetrics(in_struct->numMetrics), perBasicBlockGranularity(in_struct->perBasicBlockGranularity) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INSTRUMENTATION_PROPERTIES_ARM), + pNext(nullptr), + numMetrics(), + perBasicBlockGranularity() {} + +safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM( + const safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM& copy_src) { + sType = copy_src.sType; + numMetrics = copy_src.numMetrics; + perBasicBlockGranularity = copy_src.perBasicBlockGranularity; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM& safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::operator=( + const safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + numMetrics = copy_src.numMetrics; + perBasicBlockGranularity = copy_src.perBasicBlockGranularity; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::~safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::initialize( + const VkPhysicalDeviceShaderInstrumentationPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + numMetrics = in_struct->numMetrics; + perBasicBlockGranularity = in_struct->perBasicBlockGranularity; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM::initialize( + const safe_VkPhysicalDeviceShaderInstrumentationPropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + numMetrics = copy_src->numMetrics; + perBasicBlockGranularity = copy_src->perBasicBlockGranularity; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkShaderInstrumentationCreateInfoARM::safe_VkShaderInstrumentationCreateInfoARM( + const VkShaderInstrumentationCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkShaderInstrumentationCreateInfoARM::safe_VkShaderInstrumentationCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_CREATE_INFO_ARM), pNext(nullptr) {} + +safe_VkShaderInstrumentationCreateInfoARM::safe_VkShaderInstrumentationCreateInfoARM( + const safe_VkShaderInstrumentationCreateInfoARM& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkShaderInstrumentationCreateInfoARM& safe_VkShaderInstrumentationCreateInfoARM::operator=( + const safe_VkShaderInstrumentationCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkShaderInstrumentationCreateInfoARM::~safe_VkShaderInstrumentationCreateInfoARM() { FreePnextChain(pNext); } + +void safe_VkShaderInstrumentationCreateInfoARM::initialize(const VkShaderInstrumentationCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkShaderInstrumentationCreateInfoARM::initialize(const safe_VkShaderInstrumentationCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkShaderInstrumentationMetricDescriptionARM::safe_VkShaderInstrumentationMetricDescriptionARM( + const VkShaderInstrumentationMetricDescriptionARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +safe_VkShaderInstrumentationMetricDescriptionARM::safe_VkShaderInstrumentationMetricDescriptionARM() + : sType(VK_STRUCTURE_TYPE_SHADER_INSTRUMENTATION_METRIC_DESCRIPTION_ARM), pNext(nullptr) {} + +safe_VkShaderInstrumentationMetricDescriptionARM::safe_VkShaderInstrumentationMetricDescriptionARM( + const safe_VkShaderInstrumentationMetricDescriptionARM& copy_src) { + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = copy_src.name[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = copy_src.description[i]; + } +} + +safe_VkShaderInstrumentationMetricDescriptionARM& safe_VkShaderInstrumentationMetricDescriptionARM::operator=( + const safe_VkShaderInstrumentationMetricDescriptionARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pNext = SafePnextCopy(copy_src.pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = copy_src.name[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = copy_src.description[i]; + } + + return *this; +} + +safe_VkShaderInstrumentationMetricDescriptionARM::~safe_VkShaderInstrumentationMetricDescriptionARM() { FreePnextChain(pNext); } + +void safe_VkShaderInstrumentationMetricDescriptionARM::initialize(const VkShaderInstrumentationMetricDescriptionARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = in_struct->name[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = in_struct->description[i]; + } +} + +void safe_VkShaderInstrumentationMetricDescriptionARM::initialize(const safe_VkShaderInstrumentationMetricDescriptionARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pNext = SafePnextCopy(copy_src->pNext); + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + name[i] = copy_src->name[i]; + } + + for (uint32_t i = 0; i < VK_MAX_DESCRIPTION_SIZE; ++i) { + description[i] = copy_src->description[i]; + } +} + +safe_VkPhysicalDeviceFormatPackFeaturesARM::safe_VkPhysicalDeviceFormatPackFeaturesARM( + const VkPhysicalDeviceFormatPackFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), formatPack(in_struct->formatPack) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFormatPackFeaturesARM::safe_VkPhysicalDeviceFormatPackFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FORMAT_PACK_FEATURES_ARM), pNext(nullptr), formatPack() {} + +safe_VkPhysicalDeviceFormatPackFeaturesARM::safe_VkPhysicalDeviceFormatPackFeaturesARM( + const safe_VkPhysicalDeviceFormatPackFeaturesARM& copy_src) { + sType = copy_src.sType; + formatPack = copy_src.formatPack; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFormatPackFeaturesARM& safe_VkPhysicalDeviceFormatPackFeaturesARM::operator=( + const safe_VkPhysicalDeviceFormatPackFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + formatPack = copy_src.formatPack; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFormatPackFeaturesARM::~safe_VkPhysicalDeviceFormatPackFeaturesARM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceFormatPackFeaturesARM::initialize(const VkPhysicalDeviceFormatPackFeaturesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + formatPack = in_struct->formatPack; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFormatPackFeaturesARM::initialize(const safe_VkPhysicalDeviceFormatPackFeaturesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + formatPack = copy_src->formatPack; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE( + const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), fragmentDensityMapLayered(in_struct->fragmentDensityMapLayered) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_FEATURES_VALVE), + pNext(nullptr), + fragmentDensityMapLayered() {} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE& copy_src) { + sType = copy_src.sType; + fragmentDensityMapLayered = copy_src.fragmentDensityMapLayered; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE& safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::operator=( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + fragmentDensityMapLayered = copy_src.fragmentDensityMapLayered; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::~safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::initialize( + const VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + fragmentDensityMapLayered = in_struct->fragmentDensityMapLayered; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE::initialize( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredFeaturesVALVE* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + fragmentDensityMapLayered = copy_src->fragmentDensityMapLayered; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE( + const VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), maxFragmentDensityMapLayers(in_struct->maxFragmentDensityMapLayers) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_LAYERED_PROPERTIES_VALVE), + pNext(nullptr), + maxFragmentDensityMapLayers() {} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE& copy_src) { + sType = copy_src.sType; + maxFragmentDensityMapLayers = copy_src.maxFragmentDensityMapLayers; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE& +safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::operator=( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxFragmentDensityMapLayers = copy_src.maxFragmentDensityMapLayers; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::~safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::initialize( + const VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxFragmentDensityMapLayers = in_struct->maxFragmentDensityMapLayers; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE::initialize( + const safe_VkPhysicalDeviceFragmentDensityMapLayeredPropertiesVALVE* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxFragmentDensityMapLayers = copy_src->maxFragmentDensityMapLayers; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE( + const VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), maxFragmentDensityMapLayers(in_struct->maxFragmentDensityMapLayers) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE() + : sType(VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_DENSITY_MAP_LAYERED_CREATE_INFO_VALVE), + pNext(nullptr), + maxFragmentDensityMapLayers() {} + +safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE( + const safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE& copy_src) { + sType = copy_src.sType; + maxFragmentDensityMapLayers = copy_src.maxFragmentDensityMapLayers; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE& safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::operator=( + const safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + maxFragmentDensityMapLayers = copy_src.maxFragmentDensityMapLayers; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::~safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE() { + FreePnextChain(pNext); +} + +void safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::initialize( + const VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + maxFragmentDensityMapLayers = in_struct->maxFragmentDensityMapLayers; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE::initialize( + const safe_VkPipelineFragmentDensityMapLayeredCreateInfoVALVE* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + maxFragmentDensityMapLayers = copy_src->maxFragmentDensityMapLayers; + pNext = SafePnextCopy(copy_src->pNext); +} +#ifdef VK_ENABLE_BETA_EXTENSIONS + +safe_VkSetPresentConfigNV::safe_VkSetPresentConfigNV(const VkSetPresentConfigNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + numFramesPerBatch(in_struct->numFramesPerBatch), + presentConfigFeedback(in_struct->presentConfigFeedback) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkSetPresentConfigNV::safe_VkSetPresentConfigNV() + : sType(VK_STRUCTURE_TYPE_SET_PRESENT_CONFIG_NV), pNext(nullptr), numFramesPerBatch(), presentConfigFeedback() {} + +safe_VkSetPresentConfigNV::safe_VkSetPresentConfigNV(const safe_VkSetPresentConfigNV& copy_src) { + sType = copy_src.sType; + numFramesPerBatch = copy_src.numFramesPerBatch; + presentConfigFeedback = copy_src.presentConfigFeedback; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkSetPresentConfigNV& safe_VkSetPresentConfigNV::operator=(const safe_VkSetPresentConfigNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + numFramesPerBatch = copy_src.numFramesPerBatch; + presentConfigFeedback = copy_src.presentConfigFeedback; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkSetPresentConfigNV::~safe_VkSetPresentConfigNV() { FreePnextChain(pNext); } + +void safe_VkSetPresentConfigNV::initialize(const VkSetPresentConfigNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + numFramesPerBatch = in_struct->numFramesPerBatch; + presentConfigFeedback = in_struct->presentConfigFeedback; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkSetPresentConfigNV::initialize(const safe_VkSetPresentConfigNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + numFramesPerBatch = copy_src->numFramesPerBatch; + presentConfigFeedback = copy_src->presentConfigFeedback; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDevicePresentMeteringFeaturesNV::safe_VkPhysicalDevicePresentMeteringFeaturesNV( + const VkPhysicalDevicePresentMeteringFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), presentMetering(in_struct->presentMetering) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePresentMeteringFeaturesNV::safe_VkPhysicalDevicePresentMeteringFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_METERING_FEATURES_NV), pNext(nullptr), presentMetering() {} + +safe_VkPhysicalDevicePresentMeteringFeaturesNV::safe_VkPhysicalDevicePresentMeteringFeaturesNV( + const safe_VkPhysicalDevicePresentMeteringFeaturesNV& copy_src) { + sType = copy_src.sType; + presentMetering = copy_src.presentMetering; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePresentMeteringFeaturesNV& safe_VkPhysicalDevicePresentMeteringFeaturesNV::operator=( + const safe_VkPhysicalDevicePresentMeteringFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + presentMetering = copy_src.presentMetering; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePresentMeteringFeaturesNV::~safe_VkPhysicalDevicePresentMeteringFeaturesNV() { FreePnextChain(pNext); } + +void safe_VkPhysicalDevicePresentMeteringFeaturesNV::initialize(const VkPhysicalDevicePresentMeteringFeaturesNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + presentMetering = in_struct->presentMetering; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePresentMeteringFeaturesNV::initialize(const safe_VkPhysicalDevicePresentMeteringFeaturesNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + presentMetering = copy_src->presentMetering; + pNext = SafePnextCopy(copy_src->pNext); +} +#endif // VK_ENABLE_BETA_EXTENSIONS + +safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM( + const VkDataGraphPipelineBuiltinModelCreateInfoQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), pOperation(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->pOperation) { + pOperation = new VkPhysicalDeviceDataGraphOperationSupportARM(*in_struct->pOperation); + } +} + +safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_BUILTIN_MODEL_CREATE_INFO_QCOM), pNext(nullptr), pOperation(nullptr) {} + +safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM( + const safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM& copy_src) { + sType = copy_src.sType; + pOperation = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pOperation) { + pOperation = new VkPhysicalDeviceDataGraphOperationSupportARM(*copy_src.pOperation); + } +} + +safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM& safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::operator=( + const safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM& copy_src) { + if (©_src == this) return *this; + + if (pOperation) delete pOperation; + FreePnextChain(pNext); + + sType = copy_src.sType; + pOperation = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.pOperation) { + pOperation = new VkPhysicalDeviceDataGraphOperationSupportARM(*copy_src.pOperation); + } + + return *this; +} + +safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::~safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM() { + if (pOperation) delete pOperation; + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::initialize(const VkDataGraphPipelineBuiltinModelCreateInfoQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pOperation) delete pOperation; + FreePnextChain(pNext); + sType = in_struct->sType; + pOperation = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->pOperation) { + pOperation = new VkPhysicalDeviceDataGraphOperationSupportARM(*in_struct->pOperation); + } +} + +void safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM::initialize( + const safe_VkDataGraphPipelineBuiltinModelCreateInfoQCOM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pOperation = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->pOperation) { + pOperation = new VkPhysicalDeviceDataGraphOperationSupportARM(*copy_src->pOperation); + } +} + +safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM( + const VkPhysicalDeviceDataGraphModelFeaturesQCOM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), dataGraphModel(in_struct->dataGraphModel) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_MODEL_FEATURES_QCOM), pNext(nullptr), dataGraphModel() {} + +safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM( + const safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM& copy_src) { + sType = copy_src.sType; + dataGraphModel = copy_src.dataGraphModel; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM& safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::operator=( + const safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dataGraphModel = copy_src.dataGraphModel; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::~safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::initialize(const VkPhysicalDeviceDataGraphModelFeaturesQCOM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dataGraphModel = in_struct->dataGraphModel; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM::initialize(const safe_VkPhysicalDeviceDataGraphModelFeaturesQCOM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dataGraphModel = copy_src->dataGraphModel; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM( + const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), dataGraphOpticalFlow(in_struct->dataGraphOpticalFlow) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_OPTICAL_FLOW_FEATURES_ARM), pNext(nullptr), dataGraphOpticalFlow() {} + +safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM( + const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& copy_src) { + sType = copy_src.sType; + dataGraphOpticalFlow = copy_src.dataGraphOpticalFlow; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::operator=( + const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dataGraphOpticalFlow = copy_src.dataGraphOpticalFlow; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::~safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::initialize( + const VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dataGraphOpticalFlow = in_struct->dataGraphOpticalFlow; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM::initialize( + const safe_VkPhysicalDeviceDataGraphOpticalFlowFeaturesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dataGraphOpticalFlow = copy_src->dataGraphOpticalFlow; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM( + const VkQueueFamilyDataGraphOpticalFlowPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + supportedOutputGridSizes(in_struct->supportedOutputGridSizes), + supportedHintGridSizes(in_struct->supportedHintGridSizes), + hintSupported(in_struct->hintSupported), + costSupported(in_struct->costSupported), + minWidth(in_struct->minWidth), + minHeight(in_struct->minHeight), + maxWidth(in_struct->maxWidth), + maxHeight(in_struct->maxHeight) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM() + : sType(VK_STRUCTURE_TYPE_QUEUE_FAMILY_DATA_GRAPH_OPTICAL_FLOW_PROPERTIES_ARM), + pNext(nullptr), + supportedOutputGridSizes(), + supportedHintGridSizes(), + hintSupported(), + costSupported(), + minWidth(), + minHeight(), + maxWidth(), + maxHeight() {} + +safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM( + const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& copy_src) { + sType = copy_src.sType; + supportedOutputGridSizes = copy_src.supportedOutputGridSizes; + supportedHintGridSizes = copy_src.supportedHintGridSizes; + hintSupported = copy_src.hintSupported; + costSupported = copy_src.costSupported; + minWidth = copy_src.minWidth; + minHeight = copy_src.minHeight; + maxWidth = copy_src.maxWidth; + maxHeight = copy_src.maxHeight; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::operator=( + const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + supportedOutputGridSizes = copy_src.supportedOutputGridSizes; + supportedHintGridSizes = copy_src.supportedHintGridSizes; + hintSupported = copy_src.hintSupported; + costSupported = copy_src.costSupported; + minWidth = copy_src.minWidth; + minHeight = copy_src.minHeight; + maxWidth = copy_src.maxWidth; + maxHeight = copy_src.maxHeight; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::~safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::initialize( + const VkQueueFamilyDataGraphOpticalFlowPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + supportedOutputGridSizes = in_struct->supportedOutputGridSizes; + supportedHintGridSizes = in_struct->supportedHintGridSizes; + hintSupported = in_struct->hintSupported; + costSupported = in_struct->costSupported; + minWidth = in_struct->minWidth; + minHeight = in_struct->minHeight; + maxWidth = in_struct->maxWidth; + maxHeight = in_struct->maxHeight; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM::initialize( + const safe_VkQueueFamilyDataGraphOpticalFlowPropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + supportedOutputGridSizes = copy_src->supportedOutputGridSizes; + supportedHintGridSizes = copy_src->supportedHintGridSizes; + hintSupported = copy_src->hintSupported; + costSupported = copy_src->costSupported; + minWidth = copy_src->minWidth; + minHeight = copy_src->minHeight; + maxWidth = copy_src->maxWidth; + maxHeight = copy_src->maxHeight; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::safe_VkDataGraphPipelineOpticalFlowCreateInfoARM( + const VkDataGraphPipelineOpticalFlowCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + width(in_struct->width), + height(in_struct->height), + imageFormat(in_struct->imageFormat), + flowVectorFormat(in_struct->flowVectorFormat), + costFormat(in_struct->costFormat), + outputGridSize(in_struct->outputGridSize), + hintGridSize(in_struct->hintGridSize), + performanceLevel(in_struct->performanceLevel), + flags(in_struct->flags) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::safe_VkDataGraphPipelineOpticalFlowCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_CREATE_INFO_ARM), + pNext(nullptr), + width(), + height(), + imageFormat(), + flowVectorFormat(), + costFormat(), + outputGridSize(), + hintGridSize(), + performanceLevel(), + flags() {} + +safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::safe_VkDataGraphPipelineOpticalFlowCreateInfoARM( + const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& copy_src) { + sType = copy_src.sType; + width = copy_src.width; + height = copy_src.height; + imageFormat = copy_src.imageFormat; + flowVectorFormat = copy_src.flowVectorFormat; + costFormat = copy_src.costFormat; + outputGridSize = copy_src.outputGridSize; + hintGridSize = copy_src.hintGridSize; + performanceLevel = copy_src.performanceLevel; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::operator=( + const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + width = copy_src.width; + height = copy_src.height; + imageFormat = copy_src.imageFormat; + flowVectorFormat = copy_src.flowVectorFormat; + costFormat = copy_src.costFormat; + outputGridSize = copy_src.outputGridSize; + hintGridSize = copy_src.hintGridSize; + performanceLevel = copy_src.performanceLevel; + flags = copy_src.flags; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::~safe_VkDataGraphPipelineOpticalFlowCreateInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::initialize(const VkDataGraphPipelineOpticalFlowCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + width = in_struct->width; + height = in_struct->height; + imageFormat = in_struct->imageFormat; + flowVectorFormat = in_struct->flowVectorFormat; + costFormat = in_struct->costFormat; + outputGridSize = in_struct->outputGridSize; + hintGridSize = in_struct->hintGridSize; + performanceLevel = in_struct->performanceLevel; + flags = in_struct->flags; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineOpticalFlowCreateInfoARM::initialize(const safe_VkDataGraphPipelineOpticalFlowCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + width = copy_src->width; + height = copy_src->height; + imageFormat = copy_src->imageFormat; + flowVectorFormat = copy_src->flowVectorFormat; + costFormat = copy_src->costFormat; + outputGridSize = copy_src->outputGridSize; + hintGridSize = copy_src->hintGridSize; + performanceLevel = copy_src->performanceLevel; + flags = copy_src->flags; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::safe_VkDataGraphOpticalFlowImageFormatPropertiesARM( + const VkDataGraphOpticalFlowImageFormatPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), format(in_struct->format) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::safe_VkDataGraphOpticalFlowImageFormatPropertiesARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_ARM), pNext(nullptr), format() {} + +safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::safe_VkDataGraphOpticalFlowImageFormatPropertiesARM( + const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& copy_src) { + sType = copy_src.sType; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::operator=( + const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + format = copy_src.format; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::~safe_VkDataGraphOpticalFlowImageFormatPropertiesARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::initialize( + const VkDataGraphOpticalFlowImageFormatPropertiesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + format = in_struct->format; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphOpticalFlowImageFormatPropertiesARM::initialize( + const safe_VkDataGraphOpticalFlowImageFormatPropertiesARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + format = copy_src->format; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphOpticalFlowImageFormatInfoARM::safe_VkDataGraphOpticalFlowImageFormatInfoARM( + const VkDataGraphOpticalFlowImageFormatInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), usage(in_struct->usage) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphOpticalFlowImageFormatInfoARM::safe_VkDataGraphOpticalFlowImageFormatInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_OPTICAL_FLOW_IMAGE_FORMAT_INFO_ARM), pNext(nullptr), usage() {} + +safe_VkDataGraphOpticalFlowImageFormatInfoARM::safe_VkDataGraphOpticalFlowImageFormatInfoARM( + const safe_VkDataGraphOpticalFlowImageFormatInfoARM& copy_src) { + sType = copy_src.sType; + usage = copy_src.usage; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphOpticalFlowImageFormatInfoARM& safe_VkDataGraphOpticalFlowImageFormatInfoARM::operator=( + const safe_VkDataGraphOpticalFlowImageFormatInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + usage = copy_src.usage; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphOpticalFlowImageFormatInfoARM::~safe_VkDataGraphOpticalFlowImageFormatInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphOpticalFlowImageFormatInfoARM::initialize(const VkDataGraphOpticalFlowImageFormatInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + usage = in_struct->usage; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphOpticalFlowImageFormatInfoARM::initialize(const safe_VkDataGraphOpticalFlowImageFormatInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + usage = copy_src->usage; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM( + const VkDataGraphPipelineOpticalFlowDispatchInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), meanFlowL1NormHint(in_struct->meanFlowL1NormHint) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_OPTICAL_FLOW_DISPATCH_INFO_ARM), pNext(nullptr), flags(), meanFlowL1NormHint() {} + +safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM( + const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + meanFlowL1NormHint = copy_src.meanFlowL1NormHint; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::operator=( + const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + meanFlowL1NormHint = copy_src.meanFlowL1NormHint; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::~safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::initialize(const VkDataGraphPipelineOpticalFlowDispatchInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + meanFlowL1NormHint = in_struct->meanFlowL1NormHint; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM::initialize( + const safe_VkDataGraphPipelineOpticalFlowDispatchInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + meanFlowL1NormHint = copy_src->meanFlowL1NormHint; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineResourceInfoImageLayoutARM::safe_VkDataGraphPipelineResourceInfoImageLayoutARM( + const VkDataGraphPipelineResourceInfoImageLayoutARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), layout(in_struct->layout) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineResourceInfoImageLayoutARM::safe_VkDataGraphPipelineResourceInfoImageLayoutARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_RESOURCE_INFO_IMAGE_LAYOUT_ARM), pNext(nullptr), layout() {} + +safe_VkDataGraphPipelineResourceInfoImageLayoutARM::safe_VkDataGraphPipelineResourceInfoImageLayoutARM( + const safe_VkDataGraphPipelineResourceInfoImageLayoutARM& copy_src) { + sType = copy_src.sType; + layout = copy_src.layout; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineResourceInfoImageLayoutARM& safe_VkDataGraphPipelineResourceInfoImageLayoutARM::operator=( + const safe_VkDataGraphPipelineResourceInfoImageLayoutARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + layout = copy_src.layout; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineResourceInfoImageLayoutARM::~safe_VkDataGraphPipelineResourceInfoImageLayoutARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineResourceInfoImageLayoutARM::initialize(const VkDataGraphPipelineResourceInfoImageLayoutARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + layout = in_struct->layout; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineResourceInfoImageLayoutARM::initialize( + const safe_VkDataGraphPipelineResourceInfoImageLayoutARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + layout = copy_src->layout; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineSingleNodeConnectionARM::safe_VkDataGraphPipelineSingleNodeConnectionARM( + const VkDataGraphPipelineSingleNodeConnectionARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), set(in_struct->set), binding(in_struct->binding), connection(in_struct->connection) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineSingleNodeConnectionARM::safe_VkDataGraphPipelineSingleNodeConnectionARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CONNECTION_ARM), pNext(nullptr), set(), binding(), connection() {} + +safe_VkDataGraphPipelineSingleNodeConnectionARM::safe_VkDataGraphPipelineSingleNodeConnectionARM( + const safe_VkDataGraphPipelineSingleNodeConnectionARM& copy_src) { + sType = copy_src.sType; + set = copy_src.set; + binding = copy_src.binding; + connection = copy_src.connection; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineSingleNodeConnectionARM& safe_VkDataGraphPipelineSingleNodeConnectionARM::operator=( + const safe_VkDataGraphPipelineSingleNodeConnectionARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + set = copy_src.set; + binding = copy_src.binding; + connection = copy_src.connection; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineSingleNodeConnectionARM::~safe_VkDataGraphPipelineSingleNodeConnectionARM() { FreePnextChain(pNext); } + +void safe_VkDataGraphPipelineSingleNodeConnectionARM::initialize(const VkDataGraphPipelineSingleNodeConnectionARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + set = in_struct->set; + binding = in_struct->binding; + connection = in_struct->connection; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineSingleNodeConnectionARM::initialize(const safe_VkDataGraphPipelineSingleNodeConnectionARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + set = copy_src->set; + binding = copy_src->binding; + connection = copy_src->connection; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineSingleNodeCreateInfoARM::safe_VkDataGraphPipelineSingleNodeCreateInfoARM( + const VkDataGraphPipelineSingleNodeCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), nodeType(in_struct->nodeType), connectionCount(in_struct->connectionCount), pConnections(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (connectionCount && in_struct->pConnections) { + pConnections = new safe_VkDataGraphPipelineSingleNodeConnectionARM[connectionCount]; + for (uint32_t i = 0; i < connectionCount; ++i) { + pConnections[i].initialize(&in_struct->pConnections[i]); + } + } +} + +safe_VkDataGraphPipelineSingleNodeCreateInfoARM::safe_VkDataGraphPipelineSingleNodeCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SINGLE_NODE_CREATE_INFO_ARM), + pNext(nullptr), + nodeType(), + connectionCount(), + pConnections(nullptr) {} + +safe_VkDataGraphPipelineSingleNodeCreateInfoARM::safe_VkDataGraphPipelineSingleNodeCreateInfoARM( + const safe_VkDataGraphPipelineSingleNodeCreateInfoARM& copy_src) { + sType = copy_src.sType; + nodeType = copy_src.nodeType; + connectionCount = copy_src.connectionCount; + pConnections = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (connectionCount && copy_src.pConnections) { + pConnections = new safe_VkDataGraphPipelineSingleNodeConnectionARM[connectionCount]; + for (uint32_t i = 0; i < connectionCount; ++i) { + pConnections[i].initialize(©_src.pConnections[i]); + } + } +} + +safe_VkDataGraphPipelineSingleNodeCreateInfoARM& safe_VkDataGraphPipelineSingleNodeCreateInfoARM::operator=( + const safe_VkDataGraphPipelineSingleNodeCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + if (pConnections) delete[] pConnections; + FreePnextChain(pNext); + + sType = copy_src.sType; + nodeType = copy_src.nodeType; + connectionCount = copy_src.connectionCount; + pConnections = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + if (connectionCount && copy_src.pConnections) { + pConnections = new safe_VkDataGraphPipelineSingleNodeConnectionARM[connectionCount]; + for (uint32_t i = 0; i < connectionCount; ++i) { + pConnections[i].initialize(©_src.pConnections[i]); + } + } + + return *this; +} + +safe_VkDataGraphPipelineSingleNodeCreateInfoARM::~safe_VkDataGraphPipelineSingleNodeCreateInfoARM() { + if (pConnections) delete[] pConnections; + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineSingleNodeCreateInfoARM::initialize(const VkDataGraphPipelineSingleNodeCreateInfoARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (pConnections) delete[] pConnections; + FreePnextChain(pNext); + sType = in_struct->sType; + nodeType = in_struct->nodeType; + connectionCount = in_struct->connectionCount; + pConnections = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + if (connectionCount && in_struct->pConnections) { + pConnections = new safe_VkDataGraphPipelineSingleNodeConnectionARM[connectionCount]; + for (uint32_t i = 0; i < connectionCount; ++i) { + pConnections[i].initialize(&in_struct->pConnections[i]); + } + } +} + +void safe_VkDataGraphPipelineSingleNodeCreateInfoARM::initialize(const safe_VkDataGraphPipelineSingleNodeCreateInfoARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + nodeType = copy_src->nodeType; + connectionCount = copy_src->connectionCount; + pConnections = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + if (connectionCount && copy_src->pConnections) { + pConnections = new safe_VkDataGraphPipelineSingleNodeConnectionARM[connectionCount]; + for (uint32_t i = 0; i < connectionCount; ++i) { + pConnections[i].initialize(©_src->pConnections[i]); + } + } +} + +safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC( + const VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), pipelineCacheIncrementalMode(in_struct->pipelineCacheIncrementalMode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CACHE_INCREMENTAL_MODE_FEATURES_SEC), + pNext(nullptr), + pipelineCacheIncrementalMode() {} + +safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC( + const safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC& copy_src) { + sType = copy_src.sType; + pipelineCacheIncrementalMode = copy_src.pipelineCacheIncrementalMode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC& +safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::operator=( + const safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + pipelineCacheIncrementalMode = copy_src.pipelineCacheIncrementalMode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::~safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::initialize( + const VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + pipelineCacheIncrementalMode = in_struct->pipelineCacheIncrementalMode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC::initialize( + const safe_VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + pipelineCacheIncrementalMode = copy_src->pipelineCacheIncrementalMode; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV( + const VkComputeOccupancyPriorityParametersNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), + occupancyPriority(in_struct->occupancyPriority), + occupancyThrottling(in_struct->occupancyThrottling) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV() + : sType(VK_STRUCTURE_TYPE_COMPUTE_OCCUPANCY_PRIORITY_PARAMETERS_NV), + pNext(nullptr), + occupancyPriority(), + occupancyThrottling() {} + +safe_VkComputeOccupancyPriorityParametersNV::safe_VkComputeOccupancyPriorityParametersNV( + const safe_VkComputeOccupancyPriorityParametersNV& copy_src) { + sType = copy_src.sType; + occupancyPriority = copy_src.occupancyPriority; + occupancyThrottling = copy_src.occupancyThrottling; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkComputeOccupancyPriorityParametersNV& safe_VkComputeOccupancyPriorityParametersNV::operator=( + const safe_VkComputeOccupancyPriorityParametersNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + occupancyPriority = copy_src.occupancyPriority; + occupancyThrottling = copy_src.occupancyThrottling; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkComputeOccupancyPriorityParametersNV::~safe_VkComputeOccupancyPriorityParametersNV() { FreePnextChain(pNext); } + +void safe_VkComputeOccupancyPriorityParametersNV::initialize(const VkComputeOccupancyPriorityParametersNV* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + occupancyPriority = in_struct->occupancyPriority; + occupancyThrottling = in_struct->occupancyThrottling; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkComputeOccupancyPriorityParametersNV::initialize(const safe_VkComputeOccupancyPriorityParametersNV* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + occupancyPriority = copy_src->occupancyPriority; + occupancyThrottling = copy_src->occupancyThrottling; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV( + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), computeOccupancyPriority(in_struct->computeOccupancyPriority) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_OCCUPANCY_PRIORITY_FEATURES_NV), pNext(nullptr), computeOccupancyPriority() {} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src) { + sType = copy_src.sType; + computeOccupancyPriority = copy_src.computeOccupancyPriority; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::operator=( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + computeOccupancyPriority = copy_src.computeOccupancyPriority; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::~safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize( + const VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + computeOccupancyPriority = in_struct->computeOccupancyPriority; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV::initialize( + const safe_VkPhysicalDeviceComputeOccupancyPriorityFeaturesNV* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + computeOccupancyPriority = copy_src->computeOccupancyPriority; + pNext = SafePnextCopy(copy_src->pNext); +} +#ifdef VK_USE_PLATFORM_UBM_SEC + +safe_VkUbmSurfaceCreateInfoSEC::safe_VkUbmSurfaceCreateInfoSEC(const VkUbmSurfaceCreateInfoSEC* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), flags(in_struct->flags), device(nullptr), surface(nullptr) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } + if (in_struct->device) { + device = new ubm_device(*in_struct->device); + } + + if (in_struct->surface) { + surface = new ubm_surface(*in_struct->surface); + } +} + +safe_VkUbmSurfaceCreateInfoSEC::safe_VkUbmSurfaceCreateInfoSEC() + : sType(VK_STRUCTURE_TYPE_UBM_SURFACE_CREATE_INFO_SEC), pNext(nullptr), flags(), device(nullptr), surface(nullptr) {} + +safe_VkUbmSurfaceCreateInfoSEC::safe_VkUbmSurfaceCreateInfoSEC(const safe_VkUbmSurfaceCreateInfoSEC& copy_src) { + sType = copy_src.sType; + flags = copy_src.flags; + device = nullptr; + surface = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.device) { + device = new ubm_device(*copy_src.device); + } + + if (copy_src.surface) { + surface = new ubm_surface(*copy_src.surface); + } +} + +safe_VkUbmSurfaceCreateInfoSEC& safe_VkUbmSurfaceCreateInfoSEC::operator=(const safe_VkUbmSurfaceCreateInfoSEC& copy_src) { + if (©_src == this) return *this; + + if (device) delete device; + if (surface) delete surface; + FreePnextChain(pNext); + + sType = copy_src.sType; + flags = copy_src.flags; + device = nullptr; + surface = nullptr; + pNext = SafePnextCopy(copy_src.pNext); + + if (copy_src.device) { + device = new ubm_device(*copy_src.device); + } + + if (copy_src.surface) { + surface = new ubm_surface(*copy_src.surface); + } + + return *this; +} + +safe_VkUbmSurfaceCreateInfoSEC::~safe_VkUbmSurfaceCreateInfoSEC() { + if (device) delete device; + if (surface) delete surface; + FreePnextChain(pNext); +} + +void safe_VkUbmSurfaceCreateInfoSEC::initialize(const VkUbmSurfaceCreateInfoSEC* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + if (device) delete device; + if (surface) delete surface; + FreePnextChain(pNext); + sType = in_struct->sType; + flags = in_struct->flags; + device = nullptr; + surface = nullptr; + pNext = SafePnextCopy(in_struct->pNext, copy_state); + + if (in_struct->device) { + device = new ubm_device(*in_struct->device); + } + + if (in_struct->surface) { + surface = new ubm_surface(*in_struct->surface); + } +} + +void safe_VkUbmSurfaceCreateInfoSEC::initialize(const safe_VkUbmSurfaceCreateInfoSEC* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + flags = copy_src->flags; + device = nullptr; + surface = nullptr; + pNext = SafePnextCopy(copy_src->pNext); + + if (copy_src->device) { + device = new ubm_device(*copy_src->device); + } + + if (copy_src->surface) { + surface = new ubm_surface(*copy_src->surface); + } +} +#endif // VK_USE_PLATFORM_UBM_SEC + +safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE( + const VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), + shaderMixedFloatDotProductFloat16AccFloat32(in_struct->shaderMixedFloatDotProductFloat16AccFloat32), + shaderMixedFloatDotProductFloat16AccFloat16(in_struct->shaderMixedFloatDotProductFloat16AccFloat16), + shaderMixedFloatDotProductBFloat16Acc(in_struct->shaderMixedFloatDotProductBFloat16Acc), + shaderMixedFloatDotProductFloat8AccFloat32(in_struct->shaderMixedFloatDotProductFloat8AccFloat32) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MIXED_FLOAT_DOT_PRODUCT_FEATURES_VALVE), + pNext(nullptr), + shaderMixedFloatDotProductFloat16AccFloat32(), + shaderMixedFloatDotProductFloat16AccFloat16(), + shaderMixedFloatDotProductBFloat16Acc(), + shaderMixedFloatDotProductFloat8AccFloat32() {} + +safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE( + const safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE& copy_src) { + sType = copy_src.sType; + shaderMixedFloatDotProductFloat16AccFloat32 = copy_src.shaderMixedFloatDotProductFloat16AccFloat32; + shaderMixedFloatDotProductFloat16AccFloat16 = copy_src.shaderMixedFloatDotProductFloat16AccFloat16; + shaderMixedFloatDotProductBFloat16Acc = copy_src.shaderMixedFloatDotProductBFloat16Acc; + shaderMixedFloatDotProductFloat8AccFloat32 = copy_src.shaderMixedFloatDotProductFloat8AccFloat32; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE& +safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::operator=( + const safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + shaderMixedFloatDotProductFloat16AccFloat32 = copy_src.shaderMixedFloatDotProductFloat16AccFloat32; + shaderMixedFloatDotProductFloat16AccFloat16 = copy_src.shaderMixedFloatDotProductFloat16AccFloat16; + shaderMixedFloatDotProductBFloat16Acc = copy_src.shaderMixedFloatDotProductBFloat16Acc; + shaderMixedFloatDotProductFloat8AccFloat32 = copy_src.shaderMixedFloatDotProductFloat8AccFloat32; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::~safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::initialize( + const VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + shaderMixedFloatDotProductFloat16AccFloat32 = in_struct->shaderMixedFloatDotProductFloat16AccFloat32; + shaderMixedFloatDotProductFloat16AccFloat16 = in_struct->shaderMixedFloatDotProductFloat16AccFloat16; + shaderMixedFloatDotProductBFloat16Acc = in_struct->shaderMixedFloatDotProductBFloat16Acc; + shaderMixedFloatDotProductFloat8AccFloat32 = in_struct->shaderMixedFloatDotProductFloat8AccFloat32; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE::initialize( + const safe_VkPhysicalDeviceShaderMixedFloatDotProductFeaturesVALVE* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + shaderMixedFloatDotProductFloat16AccFloat32 = copy_src->shaderMixedFloatDotProductFloat16AccFloat32; + shaderMixedFloatDotProductFloat16AccFloat16 = copy_src->shaderMixedFloatDotProductFloat16AccFloat16; + shaderMixedFloatDotProductBFloat16Acc = copy_src->shaderMixedFloatDotProductBFloat16Acc; + shaderMixedFloatDotProductFloat8AccFloat32 = copy_src->shaderMixedFloatDotProductFloat8AccFloat32; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkThrottleHintSubmitInfoSEC::safe_VkThrottleHintSubmitInfoSEC(const VkThrottleHintSubmitInfoSEC* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), throttleHint(in_struct->throttleHint) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkThrottleHintSubmitInfoSEC::safe_VkThrottleHintSubmitInfoSEC() + : sType(VK_STRUCTURE_TYPE_THROTTLE_HINT_SUBMIT_INFO_SEC), pNext(nullptr), throttleHint() {} + +safe_VkThrottleHintSubmitInfoSEC::safe_VkThrottleHintSubmitInfoSEC(const safe_VkThrottleHintSubmitInfoSEC& copy_src) { + sType = copy_src.sType; + throttleHint = copy_src.throttleHint; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkThrottleHintSubmitInfoSEC& safe_VkThrottleHintSubmitInfoSEC::operator=(const safe_VkThrottleHintSubmitInfoSEC& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + throttleHint = copy_src.throttleHint; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkThrottleHintSubmitInfoSEC::~safe_VkThrottleHintSubmitInfoSEC() { FreePnextChain(pNext); } + +void safe_VkThrottleHintSubmitInfoSEC::initialize(const VkThrottleHintSubmitInfoSEC* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + throttleHint = in_struct->throttleHint; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkThrottleHintSubmitInfoSEC::initialize(const safe_VkThrottleHintSubmitInfoSEC* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + throttleHint = copy_src->throttleHint; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceThrottleHintFeaturesSEC::safe_VkPhysicalDeviceThrottleHintFeaturesSEC( + const VkPhysicalDeviceThrottleHintFeaturesSEC* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), throttleHint(in_struct->throttleHint) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceThrottleHintFeaturesSEC::safe_VkPhysicalDeviceThrottleHintFeaturesSEC() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_THROTTLE_HINT_FEATURES_SEC), pNext(nullptr), throttleHint() {} + +safe_VkPhysicalDeviceThrottleHintFeaturesSEC::safe_VkPhysicalDeviceThrottleHintFeaturesSEC( + const safe_VkPhysicalDeviceThrottleHintFeaturesSEC& copy_src) { + sType = copy_src.sType; + throttleHint = copy_src.throttleHint; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceThrottleHintFeaturesSEC& safe_VkPhysicalDeviceThrottleHintFeaturesSEC::operator=( + const safe_VkPhysicalDeviceThrottleHintFeaturesSEC& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + throttleHint = copy_src.throttleHint; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceThrottleHintFeaturesSEC::~safe_VkPhysicalDeviceThrottleHintFeaturesSEC() { FreePnextChain(pNext); } + +void safe_VkPhysicalDeviceThrottleHintFeaturesSEC::initialize(const VkPhysicalDeviceThrottleHintFeaturesSEC* in_struct, + [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + throttleHint = in_struct->throttleHint; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceThrottleHintFeaturesSEC::initialize(const safe_VkPhysicalDeviceThrottleHintFeaturesSEC* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + throttleHint = copy_src->throttleHint; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM:: + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM( + const VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* in_struct, + [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), dataGraphNeuralAcceleratorStatistics(in_struct->dataGraphNeuralAcceleratorStatistics) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM:: + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM() + : sType(VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DATA_GRAPH_NEURAL_ACCELERATOR_STATISTICS_FEATURES_ARM), + pNext(nullptr), + dataGraphNeuralAcceleratorStatistics() {} + +safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM:: + safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM( + const safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM& copy_src) { + sType = copy_src.sType; + dataGraphNeuralAcceleratorStatistics = copy_src.dataGraphNeuralAcceleratorStatistics; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM& +safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM::operator=( + const safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + dataGraphNeuralAcceleratorStatistics = copy_src.dataGraphNeuralAcceleratorStatistics; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM:: + ~safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM() { + FreePnextChain(pNext); +} + +void safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM::initialize( + const VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + dataGraphNeuralAcceleratorStatistics = in_struct->dataGraphNeuralAcceleratorStatistics; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM::initialize( + const safe_VkPhysicalDeviceDataGraphNeuralAcceleratorStatisticsFeaturesARM* copy_src, + [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + dataGraphNeuralAcceleratorStatistics = copy_src->dataGraphNeuralAcceleratorStatistics; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM( + const VkDataGraphPipelineNeuralStatisticsCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, bool copy_pnext) + : sType(in_struct->sType), allowNeuralStatistics(in_struct->allowNeuralStatistics) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_NEURAL_STATISTICS_CREATE_INFO_ARM), pNext(nullptr), allowNeuralStatistics() {} + +safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM( + const safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM& copy_src) { + sType = copy_src.sType; + allowNeuralStatistics = copy_src.allowNeuralStatistics; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM& safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::operator=( + const safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + allowNeuralStatistics = copy_src.allowNeuralStatistics; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::~safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::initialize( + const VkDataGraphPipelineNeuralStatisticsCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + allowNeuralStatistics = in_struct->allowNeuralStatistics; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM::initialize( + const safe_VkDataGraphPipelineNeuralStatisticsCreateInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + allowNeuralStatistics = copy_src->allowNeuralStatistics; + pNext = SafePnextCopy(copy_src->pNext); +} + +safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM( + const VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state, + bool copy_pnext) + : sType(in_struct->sType), mode(in_struct->mode) { + if (copy_pnext) { + pNext = SafePnextCopy(in_struct->pNext, copy_state); + } +} + +safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM() + : sType(VK_STRUCTURE_TYPE_DATA_GRAPH_PIPELINE_SESSION_NEURAL_STATISTICS_CREATE_INFO_ARM), pNext(nullptr), mode() {} + +safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM( + const safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM& copy_src) { + sType = copy_src.sType; + mode = copy_src.mode; + pNext = SafePnextCopy(copy_src.pNext); +} + +safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM& +safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::operator=( + const safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM& copy_src) { + if (©_src == this) return *this; + + FreePnextChain(pNext); + + sType = copy_src.sType; + mode = copy_src.mode; + pNext = SafePnextCopy(copy_src.pNext); + + return *this; +} + +safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::~safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM() { + FreePnextChain(pNext); +} + +void safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::initialize( + const VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* in_struct, [[maybe_unused]] PNextCopyState* copy_state) { + FreePnextChain(pNext); + sType = in_struct->sType; + mode = in_struct->mode; + pNext = SafePnextCopy(in_struct->pNext, copy_state); +} + +void safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM::initialize( + const safe_VkDataGraphPipelineSessionNeuralStatisticsCreateInfoARM* copy_src, [[maybe_unused]] PNextCopyState* copy_state) { + sType = copy_src->sType; + mode = copy_src->mode; + pNext = SafePnextCopy(copy_src->pNext); +} + } // namespace vku // NOLINTEND
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index b2ab765..43af796 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt
@@ -41,6 +41,14 @@ Vulkan::SafeStruct ) +if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") + target_compile_options(vul_tests PRIVATE -Werror -Wall -Wextra) +endif() + +if(CMAKE_C_COMPILER_ID MATCHES "MSVC") + target_compile_options(vul_tests PRIVATE /W4 /WX) +endif() + # Test add_subdirectory suppport add_test(NAME integration.add_subdirectory COMMAND ${CMAKE_CTEST_COMMAND}
diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 4d300f4..5d3040a 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt
@@ -40,6 +40,14 @@ Vulkan::UtilityHeaders ) +if(CMAKE_C_COMPILER_ID MATCHES "GNU|Clang") + target_compile_options(foobar PRIVATE -Werror -Wall -Wextra) +endif() + +if(CMAKE_C_COMPILER_ID MATCHES "MSVC") + target_compile_options(foobar PRIVATE /W4 /WX) +endif() + get_filename_component(VUL_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../../include/" ABSOLUTE) # Get all the header files we SHIP
diff --git a/tests/integration/vk_format_utils.c b/tests/integration/vk_format_utils.c index e1c5854..17399f3 100644 --- a/tests/integration/vk_format_utils.c +++ b/tests/integration/vk_format_utils.c
@@ -1,6 +1,6 @@ -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 #include <vulkan/utility/vk_format_utils.h> @@ -8,7 +8,7 @@ bool check_format_utils() { vkuGetPlaneIndex(VK_IMAGE_ASPECT_PLANE_1_BIT); vkuFormatHasGreen(VK_FORMAT_R8G8B8A8_UNORM); - vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_STENCIL_BIT); + vkuFormatTexelBlockSize(VK_FORMAT_ASTC_5x4_SRGB_BLOCK); struct VKU_FORMAT_INFO f = vkuGetFormatInfo(VK_FORMAT_R8G8B8A8_SRGB); if (f.component_count != 4) { return false;
diff --git a/tests/integration/vk_format_utils_2.c b/tests/integration/vk_format_utils_2.c index 090e4c8..57256d0 100644 --- a/tests/integration/vk_format_utils_2.c +++ b/tests/integration/vk_format_utils_2.c
@@ -1,6 +1,6 @@ -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 #include <vulkan/utility/vk_format_utils.h> @@ -9,7 +9,7 @@ bool check_format_utils_2() { vkuGetPlaneIndex(VK_IMAGE_ASPECT_PLANE_1_BIT); vkuFormatHasGreen(VK_FORMAT_R8G8B8A8_UNORM); - vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_STENCIL_BIT); + vkuFormatTexelBlockSize(VK_FORMAT_ASTC_5x4_SRGB_BLOCK); struct VKU_FORMAT_INFO f = vkuGetFormatInfo(VK_FORMAT_R8G8B8A8_SRGB); if (f.component_count != 4) { return false;
diff --git a/tests/test_formats.cpp b/tests/test_formats.cpp index dd0483c..cf3d1e0 100644 --- a/tests/test_formats.cpp +++ b/tests/test_formats.cpp
@@ -1,6 +1,6 @@ -// Copyright 2023 The Khronos Group Inc. -// Copyright 2023 Valve Corporation -// Copyright 2023 LunarG, Inc. +// Copyright 2023-2025 The Khronos Group Inc. +// Copyright 2023-2025 Valve Corporation +// Copyright 2023-2025 LunarG, Inc. // // SPDX-License-Identifier: Apache-2.0 // @@ -412,6 +412,26 @@ EXPECT_EQ(vkuFindMultiplaneExtentDivisors(VK_FORMAT_G16_B16R16_2PLANE_422_UNORM, VK_IMAGE_ASPECT_PLANE_2_BIT).height, 1u); } +TEST(format_utils, vkuFormatIsDepthStencilWithColorSizeCompatible) { + EXPECT_FALSE(vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16, + VK_FORMAT_D16_UNORM, VK_IMAGE_ASPECT_DEPTH_BIT)); + EXPECT_FALSE( + vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_D16_UNORM, VK_FORMAT_R16_SFLOAT, VK_IMAGE_ASPECT_DEPTH_BIT)); + EXPECT_FALSE( + vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R8_UINT, VK_FORMAT_D16_UNORM_S8_UINT, VK_IMAGE_ASPECT_DEPTH_BIT)); + EXPECT_FALSE(vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R16_UNORM, VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_DEPTH_BIT)); + + EXPECT_TRUE( + vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R16_SFLOAT, VK_FORMAT_D16_UNORM, VK_IMAGE_ASPECT_DEPTH_BIT)); + EXPECT_TRUE(vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R8_UINT, VK_FORMAT_D16_UNORM_S8_UINT, + VK_IMAGE_ASPECT_STENCIL_BIT)); + EXPECT_TRUE(vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R16_UNORM, VK_FORMAT_D16_UNORM_S8_UINT, + VK_IMAGE_ASPECT_DEPTH_BIT)); + EXPECT_TRUE(vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R16_UNORM, VK_FORMAT_D16_UNORM_S8_UINT, + VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)); + EXPECT_TRUE(vkuFormatIsDepthStencilWithColorSizeCompatible(VK_FORMAT_R8_UINT, VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_STENCIL_BIT)); +} + TEST(format_utils, vkuFormatComponentCount) { for (auto [format, format_str] : magic_enum::enum_entries<VkFormat>()) { if (vkuFormatIsCompressed(format)) { @@ -503,67 +523,29 @@ } } } -TEST(format_utils, vkuFormatElementIsTexel) { - constexpr auto formats = magic_enum::enum_values<VkFormat>(); - for (auto format : formats) { - if (!(vkuFormatIsPacked(format) || vkuFormatIsCompressed(format) || vkuFormatIsSinglePlane_422(format) || - vkuFormatIsMultiplane(format))) { - EXPECT_TRUE(vkuFormatElementIsTexel(format)); - } else { - EXPECT_FALSE(vkuFormatElementIsTexel(format)); - } - } + +TEST(format_utils, vkuFormatTexelsPerBlock) { + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_R64G64_SFLOAT), 1u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_BC6H_UFLOAT_BLOCK), 16u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_ASTC_5x4_SRGB_BLOCK), 20u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_ASTC_5x5_SRGB_BLOCK), 25u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_ASTC_12x12_SRGB_BLOCK), 144u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM), 1u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_D32_SFLOAT), 1u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_D32_SFLOAT_S8_UINT), 1u); + EXPECT_EQ(vkuFormatTexelsPerBlock(VK_FORMAT_S8_UINT), 1u); } -TEST(format_utils, vkuFormatElementSizeWithAspect) { - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_R64G64_SFLOAT, VK_IMAGE_ASPECT_NONE), 16u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_R64G64_SFLOAT, VK_IMAGE_ASPECT_STENCIL_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_R64G64_SFLOAT, VK_IMAGE_ASPECT_DEPTH_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_NONE), 16u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_PLANE_0_BIT), 16u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_PLANE_1_BIT), 16u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_PLANE_2_BIT), 16u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_STENCIL_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_DEPTH_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_NONE), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_PLANE_0_BIT), 2u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_PLANE_1_BIT), 2u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_PLANE_2_BIT), 2u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_STENCIL_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_DEPTH_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_D32_SFLOAT, VK_IMAGE_ASPECT_NONE), 4u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_D32_SFLOAT, VK_IMAGE_ASPECT_STENCIL_BIT), 0u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_D32_SFLOAT, VK_IMAGE_ASPECT_DEPTH_BIT), 4u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_D32_SFLOAT_S8_UINT, VK_IMAGE_ASPECT_NONE), 5u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_D32_SFLOAT_S8_UINT, VK_IMAGE_ASPECT_STENCIL_BIT), 1u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_D32_SFLOAT_S8_UINT, VK_IMAGE_ASPECT_DEPTH_BIT), 4u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_NONE), 1u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_STENCIL_BIT), 1u); - EXPECT_EQ(vkuFormatElementSizeWithAspect(VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_DEPTH_BIT), 0u); + +TEST(format_utils, vkuFormatTexelBlockSize) { + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_R64G64_SFLOAT), 16u); + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_ASTC_5x4_SRGB_BLOCK), 16u); + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_ASTC_5x5_SRGB_BLOCK), 16u); + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM), 6u); + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_D32_SFLOAT), 4u); + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_D32_SFLOAT_S8_UINT), 5u); + EXPECT_EQ(vkuFormatTexelBlockSize(VK_FORMAT_S8_UINT), 1u); } -TEST(format_utils, vkuFormatTexelSizeWithAspect) { - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_R64G64_SFLOAT, VK_IMAGE_ASPECT_NONE), 16); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_R64G64_SFLOAT, VK_IMAGE_ASPECT_STENCIL_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_R64G64_SFLOAT, VK_IMAGE_ASPECT_DEPTH_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_NONE), 16. / 20.); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_STENCIL_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_ASTC_5x4_SRGB_BLOCK, VK_IMAGE_ASPECT_DEPTH_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_NONE), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_PLANE_0_BIT), 2); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_PLANE_1_BIT), 2); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_PLANE_2_BIT), 2); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_STENCIL_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_STENCIL_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM, VK_IMAGE_ASPECT_DEPTH_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_D32_SFLOAT, VK_IMAGE_ASPECT_NONE), 4); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_D32_SFLOAT, VK_IMAGE_ASPECT_STENCIL_BIT), 0); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_D32_SFLOAT, VK_IMAGE_ASPECT_DEPTH_BIT), 4); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_D32_SFLOAT_S8_UINT, VK_IMAGE_ASPECT_NONE), 5); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_D32_SFLOAT_S8_UINT, VK_IMAGE_ASPECT_STENCIL_BIT), 1); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_D32_SFLOAT_S8_UINT, VK_IMAGE_ASPECT_DEPTH_BIT), 4); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_NONE), 1); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_STENCIL_BIT), 1); - EXPECT_EQ(vkuFormatTexelSizeWithAspect(VK_FORMAT_S8_UINT, VK_IMAGE_ASPECT_DEPTH_BIT), 0); -} + TEST(format_utils, vkuFormatIs64bit) { for (auto [format, format_str] : magic_enum::enum_entries<VkFormat>()) { if (std::string::npos != format_str.find("R64")) {
diff --git a/tests/test_setting_cpp.cpp b/tests/test_setting_cpp.cpp index 9b65c00..cc49ffc 100644 --- a/tests/test_setting_cpp.cpp +++ b/tests/test_setting_cpp.cpp
@@ -458,33 +458,7 @@ vkuDestroyLayerSettingSet(layerSettingSet, nullptr); } -TEST(test_layer_setting_cpp, vkuGetLayerSettingValues_VkuCustomSTypeInfo) { - const char* values_data[] = {"0x76", "0X82", "76", "82"}; - const uint32_t value_count = static_cast<uint32_t>(std::size(values_data)); - - const VkLayerSettingEXT settings[] = { - {"VK_LAYER_LUNARG_test", "my_setting", VK_LAYER_SETTING_TYPE_STRING_EXT, value_count, values_data}}; - const uint32_t settings_size = static_cast<uint32_t>(std::size(settings)); - - const VkLayerSettingsCreateInfoEXT layer_settings_create_info{VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT, nullptr, - settings_size, &settings[0]}; - - VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE; - vkuCreateLayerSettingSet("VK_LAYER_LUNARG_test", &layer_settings_create_info, nullptr, nullptr, &layerSettingSet); - - EXPECT_TRUE(vkuHasLayerSetting(layerSettingSet, "my_setting")); - - std::vector<VkuCustomSTypeInfo> values; - vkuGetLayerSettingValues(layerSettingSet, "my_setting", values); - EXPECT_EQ(0x76u, values[0].first); - EXPECT_EQ(0x82u, values[0].second); - EXPECT_EQ(76u, values[1].first); - EXPECT_EQ(82u, values[1].second); - - vkuDestroyLayerSettingSet(layerSettingSet, nullptr); -} - -TEST(test_layer_setting_cpp, vkuGetUnknownSettings) { +TEST(test_layer_setting_cpp, vkuGetUnknownSettings_legacy) { std::vector<VkLayerSettingEXT> settings; VkBool32 value_bool = VK_TRUE; @@ -568,10 +542,66 @@ const char* setting_names[] = {"int32_value", "int64_value", "uint32_value", "uint64_value", "float_value", "double_value"}; const std::uint32_t setting_name_count = static_cast<std::uint32_t>(std::size(setting_names)); + VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE; + vkuCreateLayerSettingSet("VK_LAYER_LUNARG_test", &layer_settings_create_info, nullptr, nullptr, &layerSettingSet); + std::vector<const char*> unknown_settings; - vkuGetUnknownSettings(&layer_settings_create_info, setting_name_count, setting_names, unknown_settings); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &layer_settings_create_info, unknown_settings); EXPECT_EQ(2, unknown_settings.size()); EXPECT_STREQ("bool_value", unknown_settings[0]); EXPECT_STREQ("frameset_value", unknown_settings[1]); + + vkuDestroyLayerSettingSet(layerSettingSet, nullptr); +} + +TEST(test_layer_setting_cpp, vkuGetUnknownSettings) { + std::vector<VkLayerSettingEXT> settings; + + std::int32_t value_a = 75; + VkLayerSettingEXT setting_a{}; + setting_a.pLayerName = "VK_LAYER_LUNARG_a"; + setting_a.pSettingName = "value_a"; + setting_a.type = VK_LAYER_SETTING_TYPE_INT32_EXT; + setting_a.pValues = &value_a; + setting_a.valueCount = 1; + settings.push_back(setting_a); + + std::int32_t value_b = 76; + VkLayerSettingEXT setting_b{}; + setting_b.pLayerName = "VK_LAYER_LUNARG_a"; + setting_b.pSettingName = "value_b"; + setting_b.type = VK_LAYER_SETTING_TYPE_INT32_EXT; + setting_b.pValues = &value_b; + setting_b.valueCount = 1; + settings.push_back(setting_b); + + std::int32_t value_c = 77; + VkLayerSettingEXT setting_c{}; + setting_c.pLayerName = "VK_LAYER_LUNARG_c"; + setting_c.pSettingName = "value_c"; + setting_c.type = VK_LAYER_SETTING_TYPE_INT32_EXT; + setting_c.pValues = &value_c; + setting_c.valueCount = 1; + settings.push_back(setting_c); + + VkLayerSettingsCreateInfoEXT layer_settings_create_info; + layer_settings_create_info.sType = VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT; + layer_settings_create_info.pNext = nullptr; + layer_settings_create_info.settingCount = static_cast<uint32_t>(settings.size()); + layer_settings_create_info.pSettings = &settings[0]; + + VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE; + vkuCreateLayerSettingSet("VK_LAYER_LUNARG_a", &layer_settings_create_info, nullptr, nullptr, &layerSettingSet); + + const char* setting_names[] = {"value_a", "value_c"}; + const std::uint32_t setting_name_count = static_cast<std::uint32_t>(std::size(setting_names)); + + std::vector<const char*> unknown_settings; + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &layer_settings_create_info, unknown_settings); + EXPECT_EQ(1, unknown_settings.size()); + + EXPECT_STREQ("value_b", unknown_settings[0]); + + vkuDestroyLayerSettingSet(layerSettingSet, nullptr); }
diff --git a/tests/test_setting_env.cpp b/tests/test_setting_env.cpp index d8930c5..dc94947 100644 --- a/tests/test_setting_env.cpp +++ b/tests/test_setting_env.cpp
@@ -97,6 +97,34 @@ } TEST(test_layer_setting_env, EnvVar_TrimNamespace_OveriddenPrefix) { + SetEnv("VK_MY_SETTING_C=true,false"); + + VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE; + vkuCreateLayerSettingSet("VK_LAYER_LUNARG_test", nullptr, nullptr, nullptr, &layerSettingSet); + + // The prefix is overridden but it doesn't affect built-in environment variables + vkuSetLayerSettingCompatibilityNamespace(layerSettingSet, "POUET"); + + EXPECT_TRUE(vkuHasLayerSetting(layerSettingSet, "my_setting_c")); + + uint32_t value_count_c = 0; + VkResult result_count_c = + vkuGetLayerSettingValues(layerSettingSet, "my_setting_c", VKU_LAYER_SETTING_TYPE_BOOL32, &value_count_c, nullptr); + EXPECT_EQ(VK_SUCCESS, result_count_c); + EXPECT_EQ(2u, value_count_c); + + std::vector<VkBool32> values_c(static_cast<std::size_t>(value_count_c)); + VkResult result_complete_c = + vkuGetLayerSettingValues(layerSettingSet, "my_setting_c", VKU_LAYER_SETTING_TYPE_BOOL32, &value_count_c, &values_c[0]); + EXPECT_EQ(VK_SUCCESS, result_complete_c); + EXPECT_EQ(VK_TRUE, values_c[0]); + EXPECT_EQ(VK_FALSE, values_c[1]); + EXPECT_EQ(2u, value_count_c); + + vkuDestroyLayerSettingSet(layerSettingSet, nullptr); +} + +TEST(test_layer_setting_env, EnvVar_OveriddenPrefix) { SetEnv("VK_POUET_MY_SETTING_C=true,false"); VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE;
diff --git a/tests/test_setting_util.cpp b/tests/test_setting_util.cpp index 0b45713..6680972 100644 --- a/tests/test_setting_util.cpp +++ b/tests/test_setting_util.cpp
@@ -662,22 +662,29 @@ const char* setting_names[] = {"int32_value", "int64_value", "uint32_value", "uint64_value", "float_value", "double_value"}; const std::uint32_t setting_name_count = static_cast<std::uint32_t>(std::size(setting_names)); + VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE; + vkuCreateLayerSettingSet("VK_LAYER_LUNARG_test", &create_info, nullptr, nullptr, &layerSettingSet); + uint32_t unknown_settings_count = 0; - vkuGetUnknownSettings(&create_info, setting_name_count, setting_names, &unknown_settings_count, nullptr); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &create_info, &unknown_settings_count, nullptr); EXPECT_EQ(2u, unknown_settings_count); std::vector<const char*> unknown_settings(unknown_settings_count); unknown_settings_count = 1; - vkuGetUnknownSettings(&create_info, setting_name_count, setting_names, &unknown_settings_count, &unknown_settings[0]); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &create_info, &unknown_settings_count, + &unknown_settings[0]); EXPECT_EQ(1u, unknown_settings_count); EXPECT_STREQ("bool_value", unknown_settings[0]); unknown_settings_count = 2; - vkuGetUnknownSettings(&create_info, setting_name_count, setting_names, &unknown_settings_count, &unknown_settings[0]); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &create_info, &unknown_settings_count, + &unknown_settings[0]); EXPECT_STREQ("bool_value", unknown_settings[0]); EXPECT_STREQ("frameset_value", unknown_settings[1]); + + vkuDestroyLayerSettingSet(layerSettingSet, nullptr); } TEST(test_layer_settings_util, vlGetUnknownSettings_MultipleCreateInfo) { @@ -775,20 +782,27 @@ const char* setting_names[] = {"int32_value", "int64_value", "uint32_value", "uint64_value", "float_value", "double_value"}; const std::uint32_t setting_name_count = static_cast<std::uint32_t>(std::size(setting_names)); + VkuLayerSettingSet layerSettingSet = VK_NULL_HANDLE; + vkuCreateLayerSettingSet("VK_LAYER_LUNARG_test", &create_infoA, nullptr, nullptr, &layerSettingSet); + uint32_t unknown_settings_count = 0; - vkuGetUnknownSettings(&create_infoA, setting_name_count, setting_names, &unknown_settings_count, nullptr); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &create_infoA, &unknown_settings_count, nullptr); EXPECT_EQ(2u, unknown_settings_count); std::vector<const char*> unknown_settings(unknown_settings_count); unknown_settings_count = 1; - vkuGetUnknownSettings(&create_infoA, setting_name_count, setting_names, &unknown_settings_count, &unknown_settings[0]); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &create_infoA, &unknown_settings_count, + &unknown_settings[0]); EXPECT_EQ(1u, unknown_settings_count); EXPECT_STREQ("bool_value", unknown_settings[0]); unknown_settings_count = 2; - vkuGetUnknownSettings(&create_infoA, setting_name_count, setting_names, &unknown_settings_count, &unknown_settings[0]); + vkuGetUnknownSettings(layerSettingSet, setting_name_count, setting_names, &create_infoA, &unknown_settings_count, + &unknown_settings[0]); EXPECT_STREQ("bool_value", unknown_settings[0]); EXPECT_STREQ("frameset_value", unknown_settings[1]); + + vkuDestroyLayerSettingSet(layerSettingSet, nullptr); }